anchor.diff:  end;
   
   
  -function TKMGame.SavePath(const aName: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
  +class function TKMGame.SavePath(const aName: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
   begin
     Result := TKMSavesCollection.Path(aName, aIsMultiplayer);
   end;
   
   
  -function TKMGame.SaveName(const aFolder, aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
  +class function TKMGame.SaveName(const aFolder, aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
   begin
     Result := TKMSavesCollection.Path(aFolder, aIsMultiplayer) + aName + '.' + aExt;
   end;
   
   
  -function TKMGame.SaveName(const aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
  +class function TKMGame.SaveName(const aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
   begin
     Result := TKMSavesCollection.FullPath(aName, aExt, aIsMultiplayer);
   end;
  
positive.code:     procedure SetGameSpeedActual(aSpeed: Single);
      procedure SetGameSpeedGIP(aSpeed: Single; aUpdateActual: Boolean = False);
  
      function SavePath(const aName: UnicodeString; aIsMultiplayer: Boolean): UnicodeString;
      function SaveName(const aFolder, aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString; overload;
      function SaveName(const aName, aExt: UnicodeString; aIsMultiplayer: Boolean): UnicodeString; overload;
  
      procedure UpdateMultiplayerTeams;
  
  
negative.code: implementation
  uses
    Classes, Controls, Dialogs, SysUtils, KromUtils, Math, TypInfo,
    {$IFDEF WDC} UITypes, System.Threading, {$ENDIF}
    KM_PathFindingAStarOld, KM_PathFindingAStarNew, KM_PathFindingJPS,
    KM_Projectiles, KM_AIFields, KM_AIArmyEvaluation,
    KM_Main, KM_GameApp, KM_RenderPool, KM_GameInfo, KM_GameClasses,
  