anchor.diff:  
     // Trim stream size to current position
     aBodyStream.TrimToPosition;
  +
  +  // Remember how much space did we use, so next time we have a good estimate
  +  fLastSaveStreamSize := aBodyStream.Size;
   
     //If we want stuff like the MessageStack and screen center to be stored in multiplayer saves,
     //we must send those "commands" through the GIP so all players know about them and they're in sync.
  
positive.code: 
  //Saves the game in TKMemoryStream
  procedure TKMGame.SaveGameToStream(aTimestamp: TDateTime; aHeaderStream, aBodyStream: TKMemoryStream);
  var
    gameInfo: TKMGameInfo;
    I, netIndex: Integer;
  
negative.code:   KM_PathFindingAStarOld, KM_PathFindingAStarNew, KM_PathFindingJPS,
    KM_Projectiles, KM_AIFields, KM_NetworkTypes,
    KM_Main, KM_System, KM_GameApp, KM_RenderPool, KM_GameInfo, KM_GameClasses,
    KM_Terrain, KM_TerrainTypes, KM_HandsCollection, KM_HandSpectator, KM_MapEdTypes,
    KM_MissionScript, KM_MissionScript_Info, KM_MissionScript_Standard,
    KM_GameInputProcess_Multi, KM_GameInputProcess_Single,
    KM_Resource, KM_ResSound, KM_ResWares, KM_ResTypes,
  