anchor.diff:  end;
   
   
  -procedure TKMGameApp.LoadGameFromScript(const aMissionFile, aGameName: UnicodeString; aCRC: Cardinal; aCampaign: TKMCampaign;
  +//Do not use _const_ aMissionFile, aGameName: UnicodeString, as for some unknown reason sometimes aGameName is not accessed after StopGame(gr_Silent) (pointing to a wrong value)
  +procedure TKMGameApp.LoadGameFromScript(aMissionFile, aGameName: UnicodeString; aCRC: Cardinal; aCampaign: TKMCampaign;
                                           aMap: Byte; aGameMode: TGameMode; aDesiredLoc: ShortInt; aDesiredColor: Cardinal; aDifficulty: TKMMissionDifficulty = mdNone);
   var
     LoadError: UnicodeString;
  
positive.code: end;
  
  
  procedure TKMGameApp.LoadGameFromSave(const aFilePath: UnicodeString; aGameMode: TGameMode);
  var
    LoadError: UnicodeString;
  begin
  
negative.code:     procedure SaveCampaignsProgress;
      procedure GameLoadingStep(const aText: UnicodeString);
      procedure LoadGameAssets;
      procedure LoadGameFromSave(aFilePath: UnicodeString; aGameMode: TGameMode);
      procedure LoadGameFromScript(aMissionFile, aGameName: UnicodeString; aCRC: Cardinal; aCampaign: TKMCampaign;
                                   aMap: Byte; aGameMode: TGameMode; aDesiredLoc: ShortInt; aDesiredColor: Cardinal; aDifficulty: TKMMissionDifficulty = mdNone);
      procedure LoadGameFromScratch(aSizeX, aSizeY: Integer; aGameMode: TGameMode);
      function SaveName(const aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
  