Patch from Tim Angus, to fix a longstanding bug
in the server, wherein running the server for more than 24 hours would cause the game to exhibit weirdness as described here: http://forums.wireheadstudios.org/index.php?act=ST&f=11&t=2749 That page would also indicate that more work needs to be done if the map isn't going to change for more than 24 hours.
This commit is contained in:
parent
40592957b4
commit
4bee7b4134
6 changed files with 21 additions and 13 deletions
|
@ -785,7 +785,7 @@ void SV_Frame( int msec ) {
|
|||
|
||||
sv.timeResidual += msec;
|
||||
|
||||
if (!com_dedicated->integer) SV_BotFrame( svs.time + sv.timeResidual );
|
||||
if (!com_dedicated->integer) SV_BotFrame (sv.time + sv.timeResidual);
|
||||
|
||||
if ( com_dedicated->integer && sv.timeResidual < frameMsec ) {
|
||||
// NET_Sleep will give the OS time slices until either get a packet
|
||||
|
@ -835,15 +835,16 @@ void SV_Frame( int msec ) {
|
|||
// update ping based on the all received frames
|
||||
SV_CalcPings();
|
||||
|
||||
if (com_dedicated->integer) SV_BotFrame( svs.time );
|
||||
if (com_dedicated->integer) SV_BotFrame (sv.time);
|
||||
|
||||
// run the game simulation in chunks
|
||||
while ( sv.timeResidual >= frameMsec ) {
|
||||
sv.timeResidual -= frameMsec;
|
||||
svs.time += frameMsec;
|
||||
sv.time += frameMsec;
|
||||
|
||||
// let everything in the world think and move
|
||||
VM_Call( gvm, GAME_RUN_FRAME, svs.time );
|
||||
VM_Call (gvm, GAME_RUN_FRAME, sv.time);
|
||||
}
|
||||
|
||||
if ( com_speeds->integer ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue