Skip to content

SRB2Kart netcode ports

Sal requested to merge TehRealSalt/SRB2:waiting-players-intermission into next
  • Joining during any gamestate that is not supported by P_SaveNetGame (currently everything except GS_LEVEL) is now redirected to GS_WAITINGPLAYERS.
    • This is a basic gamestate that just maintains the connection, until we can enter the start of a new gamestate, where the client should have the same state as the server again.
    • Add an extremely simple drawer for GS_WAITINGPLAYERS, to make it clear what is happening.
    • This is intended to fix desync when joining during intermission.
  • Prevent possible connection timeout during fades / other internal loops.
  • Clients are now consistently given a connection timeout when their delay reaches the end of BACKUPTICS.
    • This code existed before, but it only looked one tic ahead instead of however many tics the server was attempting to acknowledge.
  • Dedicated servers will not run any game logic if there are no players connected to it.
    • This reduces CPU usage when there is no one interacting with your server.
    • Unlike SRB2Kart, the amount of time is configurable with the dedicatedidletime console variable. Setting this to 0 will disable this feature.
  • CL_SendClientCmd uses exact packet types, instead of magic number offsets.
Edited by Sal

Merge request reports