diff options
-rw-r--r-- | source/cl_main.c | 15 | ||||
-rw-r--r-- | source/files.c | 4 | ||||
-rw-r--r-- | source/sv_main.c | 17 | ||||
-rw-r--r-- | wiki/doc.mdwn | 1 |
4 files changed, 28 insertions, 9 deletions
diff --git a/source/cl_main.c b/source/cl_main.c index d7aeb78..9b9356c 100644 --- a/source/cl_main.c +++ b/source/cl_main.c @@ -481,6 +481,7 @@ usage: CL_CheckForResend(); Cvar_Set( "cl_paused", "0" ); + Cvar_Set( "sv_paused", "0" ); Cvar_Set( "timedemo", "0" ); Con_Close(); @@ -1276,7 +1277,7 @@ static void CL_ConnectionlessPacket( void ) { type = NETCHAN_OLD; } - /* parse additional parameters */ + // parse additional parameters j = Cmd_Argc(); for( i = 1; i < j; i++ ) { s = Cmd_Argv( i ); @@ -2560,8 +2561,16 @@ void CL_Frame( int msec ) { } } - if ( cls.demoplayback ) { - sv_paused->integer = cl_paused->integer; // FIXME: HACK + if ( cls.demoplayback ) { // FIXME: HACK + if( cl_paused->integer ) { + if( !sv_paused->integer ) { + Cvar_Set( "sv_paused", "1" ); + } + } else { + if( sv_paused->integer ) { + Cvar_Set( "sv_paused", "0" ); + } + } } // decide the simulation time diff --git a/source/files.c b/source/files.c index 4d51721..71715b5 100644 --- a/source/files.c +++ b/source/files.c @@ -2419,6 +2419,8 @@ static void FS_DefaultGamedir( void ) { sys_basedir->string ); } + setenv( "QUAKE2_HOME", fs_gamedir, 1 ); + Cvar_Set( "game", "" ); Cvar_Set( "gamedir", "" ); } @@ -2460,6 +2462,8 @@ static void FS_SetupGamedir( void ) { FS_AddGameDirectory( "%s/"BASEGAME, sys_homedir->string ); FS_AddGameDirectory( "%s/%s", sys_homedir->string, fs_game->string ); } + + setenv( "QUAKE2_HOME", fs_gamedir, 1 ); } qboolean FS_SafeToRestart( void ) { diff --git a/source/sv_main.c b/source/sv_main.c index b850bf8..879ef59 100644 --- a/source/sv_main.c +++ b/source/sv_main.c @@ -1334,24 +1334,29 @@ static void SV_RunGameFrame( void ) { static qboolean SV_CheckPaused( void ) { client_t *client; - sv_paused->integer = 0; if( sv.state == ss_broadcast ) { - cl_paused->integer = 0; - return qfalse; // never pause in MVD client mode + goto nopause; // never pause in MVD client mode } + if( cl_paused->integer ) { FOR_EACH_CLIENT( client ) { if( client->state != cs_spawned ) { break; // never pause if loading } if( !NET_IsLocalAddress( &client->netchan->remote_address ) ) { - cl_paused->integer = 0; - return qfalse; // never pause in multiplayer + goto nopause; // never pause in multiplayer } } - sv_paused->integer = 1; + if( !sv_paused->integer ) { + Cvar_Set( "sv_paused", "1" ); + } return qtrue; // don't run if paused } + +nopause: + if( sv_paused->integer ) { + Cvar_Set( "sv_paused", "0" ); + } return qfalse; } #endif diff --git a/wiki/doc.mdwn b/wiki/doc.mdwn index 6f67dea..e504d76 100644 --- a/wiki/doc.mdwn +++ b/wiki/doc.mdwn @@ -4,3 +4,4 @@ Documentation for Q2PRO. * [[Server README|server]]. * [[Client README|client]]. * MVD protocol [[specification|mvdspec]]. +* Example OpenFFA config files: [[openffa.cfg|openffa.cfg.txt]] and [[maplist.cfg|maplist.cfg.txt]] |