anchor.diff:  end;
   
   
  -constructor TKMapInfo.Create(const aFolder: string; aStrictParsing: Boolean; aMapKind: TKMMapKind);
  +constructor TKMapInfo.Create(const aMapName: string; aStrictParsing: Boolean; aMapKind: TKMMapKind);
  +begin
  +  Assert(aMapKind <> mkUnknown); // Do not allow to create 'unknown' maps with this constructor
  +  Create(ExeDir + MAP_FOLDER_NAME[aMapKind] + PathDelim + aMapName + PathDelim, aMapName, aStrictParsing, aMapKind);
  +end;
  +
  +
  +constructor TKMapInfo.Create(const aDir, aMapName: string; aStrictParsing: Boolean; aMapKind: TKMMapKind = mkUnknown);
   
     function GetLIBXCRC(const aSearchFile: UnicodeString): Cardinal;
     var SearchRec: TSearchRec;
  
positive.code: begin
    inherited Create;
  
    fTxtInfo := TKMMapTxtInfo.Create;
    fDir := ExeDir + MAP_FOLDER_NAME[aMapKind] + PathDelim + aFolder + PathDelim;
    fFileName := aFolder;
    fKind := aMapKind;
  
    for CSP := Low(TKMCustomScriptParam) to High(TKMCustomScriptParam) do
    begin
  
negative.code: 
      class function CreateDummy: TKMapInfo;
  
      constructor Create(const aMapName: string; aStrictParsing: Boolean; aMapKind: TKMMapKind); overload;
      constructor Create(const aDir, aMapName: string; aStrictParsing: Boolean; aMapKind: TKMMapKind = mkUnknown); overload;
      destructor Destroy; override;
  
      procedure AddGoal(aType: TKMGoalType; aPlayer: TKMHandID; aCondition: TKMGoalCondition; aStatus: TKMGoalStatus; aPlayerIndex: TKMHandID);
  