From 8fb908e3d4cd103230639f435ebc8837e76a9c54 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 23 Sep 2023 04:09:18 +0300 Subject: [PATCH] engine: server: disable SV_UnloadProgs, only call it when shutting down engine --- engine/common/host.c | 2 ++ engine/server/sv_game.c | 3 ++- engine/server/sv_main.c | 4 +--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/engine/common/host.c b/engine/common/host.c index 9aa174b7..654a564f 100644 --- a/engine/common/host.c +++ b/engine/common/host.c @@ -33,6 +33,7 @@ GNU General Public License for more details. #include "common.h" #include "base_cmd.h" #include "client.h" +#include "server.h" #include "netchan.h" #include "protocol.h" #include "mod_local.h" @@ -1308,6 +1309,7 @@ void EXPORT Host_Shutdown( void ) #endif SV_Shutdown( "Server shutdown\n" ); + SV_UnloadProgs(); SV_ShutdownFilter(); CL_Shutdown(); diff --git a/engine/server/sv_game.c b/engine/server/sv_game.c index a2f994b2..3b07e63f 100644 --- a/engine/server/sv_game.c +++ b/engine/server/sv_game.c @@ -5148,7 +5148,8 @@ qboolean SV_LoadProgs( const char *name ) static playermove_t gpMove; edict_t *e; - if( svgame.hInstance ) SV_UnloadProgs(); + if( svgame.hInstance ) + return true; // fill it in svgame.pmove = &gpMove; diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c index 54430bed..4d012391 100644 --- a/engine/server/sv_main.c +++ b/engine/server/sv_main.c @@ -1090,8 +1090,6 @@ void SV_Shutdown( const char *finalmsg ) // drop the client if want to load a new map if( CL_IsPlaybackDemo( )) CL_Drop(); - - SV_UnloadProgs (); return; } @@ -1108,7 +1106,7 @@ void SV_Shutdown( const char *finalmsg ) NET_MasterShutdown(); NET_Config( false, false ); - SV_UnloadProgs (); + SV_DeactivateServer(); CL_Drop(); // free current level