summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/cl_main.c15
-rw-r--r--source/files.c4
-rw-r--r--source/sv_main.c17
-rw-r--r--wiki/doc.mdwn1
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]]