anchor.diff:  
       Sender.AddTypeS('TKMGroupOrder', '(goNone, goWalkTo, goAttackHouse, goAttackUnit, goStorm)');
   
  -    Sender.AddTypeS('TKMAudioFormat', '(afWav,afOgg)'); //Needed for PlaySound
  +    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');
  
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: var
    I: Integer;
    Compiler: TPSPascalCompiler;
    compileSuccess: Boolean;
    Msg: TPSPascalCompilerMessage;
  begin
    Compiler := TPSPascalCompiler.Create; // create an instance of the compiler
    try
  