anchor.diff:  
   type
     TMissionParser = class
  -  private     { Private declarations }
  +  private
       fParserMode:TMissionParserMode; //Data gets sent to Game differently depending on Game/Editor mode
       ErrorMessage:string; //Should be blank
       OpenedMissionName:string;
  
positive.code:     AIAttack: TAIAttack;
      AttackPositions: array of TKMAttackPosition;
      AttackPositionsCount: integer;
      function GetUnitScriptID(aUnitType:TUnitType):integer;
      function ProcessCommand(CommandType: TKMCommandType; ParamList: array of integer; TextParam:string):boolean;
      procedure GetDetailsProcessCommand(CommandType: TKMCommandType; const ParamList: array of integer; TextParam:string; var MissionDetails: TKMMissionDetails);
  
negative.code:   AIAttack.Target := att_ClosestUnit;
    AIAttack.Range := 0;
    AIAttack.CustomPosition := KMPoint(0,0);
  end;
  
  
  function TMissionParser.GetCommandTypeFromText(const ACommandText: string): TKMCommandType;
  var
    i: TKMCommandType;
  begin
    Result := ct_Unknown;
    for i:=low(TKMCommandType) to high(TKMCommandType) do
    begin
      if ACommandText = '!'+COMMANDVALUES[i] then
      begin
        Result := i;
        break;
      end;
    end;
    if Result = ct_Unknown then fLog.AddToLog(ACommandText);
  end;
  
  
  