anchor.diff:  var
     I: Integer;
     Compiler: TPSPascalCompiler;
  +  compileSuccess: Boolean;
     Msg: TPSPascalCompilerMessage;
  -  Success: Boolean;
   begin
     Compiler := TPSPascalCompiler.Create; // create an instance of the compiler
     try
  
positive.code:     Compiler.AllowNoEnd := True; //Scripts only use event handlers now, main section is unused
      Compiler.BooleanShortCircuit := True; //Like unchecking "Complete booolean evaluation" in Delphi compiler options
  
      Success := Compiler.Compile(fScriptCode); // Compile the Pascal script into bytecode
  
      for I := 0 to Compiler.MsgCount - 1 do
      begin
        Msg := Compiler.Msg[I];
  
        if Msg.ErrorType = 'Hint' then
        begin
          fValidationIssues.AddHint(Msg.Row, Msg.Col, Msg.Param, Msg.ShortMessageToString);
        end else if Msg.ErrorType = 'Warning' then
        begin
          fErrorHandler.AppendWarning(GetErrorMessage(Msg));
          fValidationIssues.AddWarning(Msg.Row, Msg.Col, Msg.Param, Msg.ShortMessageToString);
  
negative.code: 
      Sender.AddTypeS('TKMGroupOrder', '(goNone, goWalkTo, goAttackHouse, goAttackUnit, goStorm)');
  
      Sender.AddTypeS('TKMAudioFormat', '(afWav, afOgg)'); //Needed for PlaySound
  
      // Types needed for MapTilesArraySet function
      Sender.AddTypeS('TKMTerrainTileBrief', 'record X,Y:Byte;Terrain:Word;Rotation:Byte;Height:Byte;Obj:Word;UpdateTerrain,UpdateRotation,UpdateHeight,UpdateObject:Boolean;end');
  