mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-23 12:32:09 +00:00
Fix restoring old fs_game upon leaving a server. Patch by Ensiform.
This commit is contained in:
parent
17ee96e6c8
commit
016b74b633
3 changed files with 14 additions and 10 deletions
|
@ -125,6 +125,9 @@ clientConnection_t clc;
|
|||
clientStatic_t cls;
|
||||
vm_t *cgvm;
|
||||
|
||||
char cl_oldGame[MAX_QPATH];
|
||||
qboolean cl_oldGameSet;
|
||||
|
||||
// Structure containing functions exported from refresh DLL
|
||||
refexport_t re;
|
||||
#ifdef USE_RENDERER_DLOPEN
|
||||
|
@ -1362,11 +1365,11 @@ static void CL_UpdateGUID( const char *prefix, int prefix_len )
|
|||
|
||||
static void CL_OldGame(void)
|
||||
{
|
||||
if(cls.oldGameSet)
|
||||
if(cl_oldGameSet)
|
||||
{
|
||||
// change back to previous fs_game
|
||||
cls.oldGameSet = qfalse;
|
||||
Cvar_Set2("fs_game", cls.oldGame, qtrue);
|
||||
cl_oldGameSet = qfalse;
|
||||
Cvar_Set2("fs_game", cl_oldGame, qtrue);
|
||||
FS_ConditionalRestart(clc.checksumFeed, qfalse);
|
||||
}
|
||||
}
|
||||
|
@ -3437,7 +3440,7 @@ void CL_Init( void ) {
|
|||
{
|
||||
CL_ClearState();
|
||||
clc.state = CA_DISCONNECTED; // no longer CA_UNINITIALIZED
|
||||
cls.oldGameSet = qfalse;
|
||||
cl_oldGameSet = qfalse;
|
||||
}
|
||||
|
||||
cls.realtime = 0;
|
||||
|
|
|
@ -538,10 +538,10 @@ void CL_ParseGamestate( msg_t *msg ) {
|
|||
CL_StopRecord_f();
|
||||
|
||||
// reinitialize the filesystem if the game directory has changed
|
||||
if(!cls.oldGameSet && (Cvar_Flags("fs_game") & CVAR_MODIFIED))
|
||||
if(!cl_oldGameSet && (Cvar_Flags("fs_game") & CVAR_MODIFIED))
|
||||
{
|
||||
cls.oldGameSet = qtrue;
|
||||
Q_strncpyz(cls.oldGame, oldGame, sizeof(cls.oldGame));
|
||||
cl_oldGameSet = qtrue;
|
||||
Q_strncpyz(cl_oldGame, oldGame, sizeof(cl_oldGame));
|
||||
}
|
||||
|
||||
FS_ConditionalRestart(clc.checksumFeed, qfalse);
|
||||
|
|
|
@ -280,6 +280,7 @@ extern clientConnection_t clc;
|
|||
|
||||
the clientStatic_t structure is never wiped, and is used even when
|
||||
no client connection is active at all
|
||||
(except when CL_Shutdown is called)
|
||||
|
||||
==================================================================
|
||||
*/
|
||||
|
@ -338,9 +339,6 @@ typedef struct {
|
|||
serverInfo_t favoriteServers[MAX_OTHER_SERVERS];
|
||||
|
||||
int pingUpdateSource; // source currently pinging or updating
|
||||
|
||||
char oldGame[MAX_QPATH];
|
||||
qboolean oldGameSet;
|
||||
|
||||
// update server info
|
||||
netadr_t updateServer;
|
||||
|
@ -358,6 +356,9 @@ typedef struct {
|
|||
|
||||
extern clientStatic_t cls;
|
||||
|
||||
extern char cl_oldGame[MAX_QPATH];
|
||||
extern qboolean cl_oldGameSet;
|
||||
|
||||
//=============================================================================
|
||||
|
||||
extern vm_t *cgvm; // interface to cgame dll or vm
|
||||
|
|
Loading…
Reference in a new issue