anchor.diff:      kdpCommands:
           begin
             //Recieving commands too late will happen during reconnections, so just ignore it
  -          if (tick > gGameParams.Tick)
  -            //DO not check if player is dropped - we could receive scheduled commmands from already dropped player, that we should store/execute to be in sync with other players
  +          if (tick > gGameParams.Tick) then
  +            // Do not check if player is dropped - we could receive scheduled commmands from already dropped player,
  +            // that we should store/execute to be in sync with other players
               {and not gNetworking.NetPlayers[aSenderIndex].Dropped}
  -            then
             begin
               fSchedule[tick mod MAX_SCHEDULE, aSenderIndex].Load(aStream);
               fRecievedData[tick mod MAX_SCHEDULE, aSenderIndex] := True;
  
positive.code:   TKMGameInputProcess_Multi = class(TKMGameInputProcess)
    private
      fDelay: Word; //How many ticks ahead the commands are scheduled
      fLastSentCmdsTick: Cardinal; //Needed for resync (last tick, for which commands were sent
  
      fNumberConsecutiveWaits: Word; //Number of consecutive times we have been waiting for network
  
  
negative.code:     //Mark commands we've already sent to other players
      fSent: array [0..MAX_SCHEDULE-1] of Boolean; //Ring buffer
  
      //Did the player issue a command for this tick?
      //If not it must be cleared from last time (we can't clear it earlier as it might be needed for resync)
      fCommandIssued: array [0..MAX_SCHEDULE-1] of Boolean;
  
      //Store random seeds at each tick then confirm with other players
  