X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=sv_main.c;h=d1c9e71c99085e02cbdc7112d42ef66ffc2b62c7;hb=54c8d13c76444ca7e9d3f65229b5638cc67c3db5;hp=5c4c490f1243795e2452bb00babd7f0e5b84c502;hpb=aa3f4391e63ec4ccb757c78e392523201b84bb12;p=xonotic%2Fdarkplaces.git diff --git a/sv_main.c b/sv_main.c index 5c4c490f..d1c9e71c 100644 --- a/sv_main.c +++ b/sv_main.c @@ -526,8 +526,8 @@ void SV_Init (void) Cvar_RegisterVariable (&skill); Cvar_RegisterVariable (&host_timescale); Cvar_RegisterCallback (&host_timescale, Host_Timescale_c); - Cvar_RegisterAlias (&host_timescale, "slowmo"); - Cvar_RegisterAlias (&host_timescale, "timescale"); + Cvar_RegisterVirtual (&host_timescale, "slowmo"); + Cvar_RegisterVirtual (&host_timescale, "timescale"); Cvar_RegisterVariable (&sv_accelerate); Cvar_RegisterVariable (&sv_aim); Cvar_RegisterVariable (&sv_airaccel_qw); @@ -618,7 +618,7 @@ void SV_Init (void) Cvar_RegisterVariable (&sv_protocolname); Cvar_RegisterVariable (&sv_random_seed); Cvar_RegisterVariable (&host_limitlocal); - Cvar_RegisterAlias(&host_limitlocal, "sv_ratelimitlocalplayer"); + Cvar_RegisterVirtual(&host_limitlocal, "sv_ratelimitlocalplayer"); Cvar_RegisterVariable (&sv_sound_land); Cvar_RegisterVariable (&sv_sound_watersplash); Cvar_RegisterVariable (&sv_stepheight); @@ -686,6 +686,7 @@ void SV_Init (void) Cvar_RegisterVariable (&sv_writepicture_quality); SV_InitOperatorCommands(); + host.hook.SV_Shutdown = SV_Shutdown; sv_mempool = Mem_AllocPool("server", 0, NULL); @@ -2058,10 +2059,12 @@ void SV_Shutdown(void) prvm_prog_t *prog = SVVM_prog; int i; - Con_DPrintf("SV_Shutdown\n"); + SV_LockThreadMutex(); if (!sv.active) - return; + goto end; + + Con_DPrintf("SV_Shutdown\n"); NetConn_Heartbeat(2); NetConn_Heartbeat(2); @@ -2090,6 +2093,8 @@ void SV_Shutdown(void) // memset(&sv, 0, sizeof(sv)); memset(svs.clients, 0, svs.maxclients*sizeof(client_t)); +end: + SV_UnlockThreadMutex(); } /////////////////////////////////////////////////////