diff --git a/src/d_clisrv.c b/src/d_clisrv.c index c0170bd89..9030f562e 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3313,6 +3313,11 @@ void SV_ResetServer(void) memset(playeringame, false, sizeof playeringame); memset(playernode, UINT8_MAX, sizeof playernode); + pingmeasurecount = 1; + memset(realpingtable, 0, sizeof realpingtable); + memset(playerpingtable, 0, sizeof playerpingtable); + memset(playerpacketlosstable, 0, sizeof playerpacketlosstable); + ClearAdminPlayers(); Schedule_Clear(); Automate_Clear(); diff --git a/src/g_demo.c b/src/g_demo.c index 38d3d6bb0..df1042237 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -3759,16 +3759,7 @@ void G_StopDemo(void) Z_Free(demo.skinlist); demo.skinlist = NULL; - if (gamestate == GS_INTERMISSION) - Y_EndIntermission(); // cleanup - - if (gamestate == GS_VOTING) - Y_EndVote(); - - G_SetGamestate(GS_NULL); - wipegamestate = GS_NULL; - SV_StopServer(); - SV_ResetServer(); + D_ClearState(); } boolean G_CheckDemoStatus(void)