diff options
Diffstat (limited to 'source/sv_main.c')
-rw-r--r-- | source/sv_main.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/source/sv_main.c b/source/sv_main.c index afdbb8f..b708b3f 100644 --- a/source/sv_main.c +++ b/source/sv_main.c @@ -847,6 +847,12 @@ static void SVC_DirectConnect( void ) { } newcl->pmp.strafehack = sv_strafejump_hack->integer >= i ? qtrue : qfalse; + if( protocol == PROTOCOL_VERSION_R1Q2 ) { + if( version >= PROTOCOL_VERSION_R1Q2_LONG_SOLID ) { + newcl->esFlags |= MSG_ES_LONGSOLID; + } + } + // q2pro extensions i = 2; if( protocol == PROTOCOL_VERSION_Q2PRO ) { @@ -855,9 +861,15 @@ static void SVC_DirectConnect( void ) { } newcl->pmp.flyhack = qtrue; newcl->pmp.flyfriction = 4; + if( version >= PROTOCOL_VERSION_Q2PRO_LONG_SOLID ) { + newcl->esFlags |= MSG_ES_LONGSOLID; + } if( version >= PROTOCOL_VERSION_Q2PRO_WATERJUMP_HACK ) { i = 1; } + if( version >= PROTOCOL_VERSION_Q2PRO_ANGLES16 ) { + newcl->esFlags |= MSG_ES_ANGLES16; + } } newcl->pmp.waterhack = sv_waterjump_hack->integer >= i ? qtrue : qfalse; @@ -1499,11 +1511,12 @@ void SV_Frame( unsigned msec ) { return; } -#if 0//USE_CLIENT - // pause if there is only local client on the server +#if USE_CLIENT + // pause if there is only local client spawned on the server if( !dedicated->integer && cl_paused->integer && List_Count( &svs.udp_client_list ) == 1 && mvdconns == 0 && - LIST_FIRST( client_t, &svs.udp_client_list, entry )->state == cs_spawned ) + LIST_FIRST( client_t, &svs.udp_client_list, entry )->state == cs_spawned && + LIST_FIRST( client_t, &svs.udp_client_list, entry )->lastframe > 0 ) { if( !sv_paused->integer ) { Cvar_Set( "sv_paused", "1" ); |