anchor.diff:    I: Integer;
     ticksBehindCnt: Single;
   begin
  +  if Self = nil then Exit;
  +  
     DoUpdateGame;
   
     if CALC_EXPECTED_TICK then
  
positive.code: var
    ticksBehind: Single;
  begin
    ticksBehind := GetTicksBehindCnt; // save number of ticks we are behind now
    fSpeedChangeTick := fParams.Tick;
    if fParams.IsMultiPlayerOrSpec and not IsMPGameSpeedChangeAllowed then
  
negative.code:   calculatedTick: Single;
    timeSince: Cardinal;
  begin
    if Self = nil then Exit(0);
  
    //Lets calculate tick, that shoud be at that moment in theory, depending of speed multiplier and game duration
    timeSince := GetTimeSince(fSpeedChangeTime);
    calculatedTick := timeSince*fSpeedActual/gGameSettings.SpeedPace - fPausedTicksCnt;
  