engine: host: execute valid rc script if game was started from -game parameter using default launcher
This commit is contained in:
parent
7e71e20714
commit
dca862a838
1 changed files with 19 additions and 6 deletions
|
@ -954,7 +954,7 @@ void Host_InitCommon( int argc, char **argv, const char *progname, qboolean bCha
|
||||||
int developer = DEFAULT_DEV;
|
int developer = DEFAULT_DEV;
|
||||||
const char *baseDir;
|
const char *baseDir;
|
||||||
char ticrate[16];
|
char ticrate[16];
|
||||||
int len;
|
int len, i;
|
||||||
|
|
||||||
// some commands may turn engine into infinite loop,
|
// some commands may turn engine into infinite loop,
|
||||||
// e.g. xash.exe +game xash -game xash
|
// e.g. xash.exe +game xash -game xash
|
||||||
|
@ -1029,7 +1029,7 @@ void Host_InitCommon( int argc, char **argv, const char *progname, qboolean bCha
|
||||||
progname++;
|
progname++;
|
||||||
|
|
||||||
Q_strncpy( SI.exeName, progname, sizeof( SI.exeName ));
|
Q_strncpy( SI.exeName, progname, sizeof( SI.exeName ));
|
||||||
Q_strncpy( SI.basedirName, progname, sizeof( SI.exeName ));
|
Q_strncpy( SI.basedirName, progname, sizeof( SI.basedirName ));
|
||||||
|
|
||||||
if( Host_IsDedicated() )
|
if( Host_IsDedicated() )
|
||||||
{
|
{
|
||||||
|
@ -1201,12 +1201,25 @@ void Host_InitCommon( int argc, char **argv, const char *progname, qboolean bCha
|
||||||
FS_LoadGameInfo( NULL );
|
FS_LoadGameInfo( NULL );
|
||||||
Cvar_PostFSInit();
|
Cvar_PostFSInit();
|
||||||
|
|
||||||
if( FS_FileExists( va( "%s.rc", SI.basedirName ), false ))
|
|
||||||
Q_strncpy( SI.rcName, SI.basedirName, sizeof( SI.rcName )); // e.g. valve.rc
|
|
||||||
else Q_strncpy( SI.rcName, SI.exeName, sizeof( SI.rcName )); // e.g. quake.rc
|
|
||||||
|
|
||||||
Q_strncpy( host.gamefolder, GI->gamefolder, sizeof( host.gamefolder ));
|
Q_strncpy( host.gamefolder, GI->gamefolder, sizeof( host.gamefolder ));
|
||||||
|
|
||||||
|
for( i = 0; i < 3; i++ )
|
||||||
|
{
|
||||||
|
const char *rcName;
|
||||||
|
switch( i )
|
||||||
|
{
|
||||||
|
case 0: rcName = SI.basedirName; break; // e.g. valve.rc
|
||||||
|
case 1: rcName = SI.exeName; break; // e.g. quake.rc
|
||||||
|
case 2: rcName = host.gamefolder; break; // e.g. game.rc (ran from default launcher)
|
||||||
|
}
|
||||||
|
|
||||||
|
if( FS_FileExists( va( "%s.rc", rcName ), false ))
|
||||||
|
{
|
||||||
|
Q_strncpy( SI.rcName, rcName, sizeof( SI.rcName ));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Image_CheckPaletteQ1 ();
|
Image_CheckPaletteQ1 ();
|
||||||
Host_InitDecals (); // reload decals
|
Host_InitDecals (); // reload decals
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue