diff --git a/engine/common/filesystem_engine.c b/engine/common/filesystem_engine.c index cad1e6b5..909eedb3 100644 --- a/engine/common/filesystem_engine.c +++ b/engine/common/filesystem_engine.c @@ -221,7 +221,13 @@ void FS_Init( const char *basedir ) COM_StripDirectorySlash( rodir ); if( !Sys_GetParmFromCmdLine( "-game", gamedir )) - Q_strncpy( gamedir, basedir, sizeof( gamedir )); // gamedir == basedir + { + char *env = getenv( "XASH3D_GAME" ); + if( env ) + Q_strncpy( gamedir, env, sizeof( gamedir )); + else + Q_strncpy( gamedir, basedir, sizeof( gamedir )); // gamedir == basedir + } FS_LoadProgs(); diff --git a/engine/common/launcher.c b/engine/common/launcher.c index 691f80b4..3b50ba9e 100644 --- a/engine/common/launcher.c +++ b/engine/common/launcher.c @@ -23,9 +23,8 @@ GNU General Public License for more details. #include "build.h" #include "common.h" -#define E_GAME "XASH3D_GAME" // default env dir to start from #ifndef XASH_GAMEDIR -#define XASH_GAMEDIR "valve" +#define XASH_GAMEDIR "valve" // !!! Replace with your default (base) game directory !!! #endif #if XASH_WIN32 @@ -47,12 +46,7 @@ static void Sys_ChangeGame( const char *progname ) static int Sys_Start( void ) { - const char *game = getenv( E_GAME ); - - if( !game ) - game = XASH_GAMEDIR; - - Q_strncpy( szGameDir, game, sizeof( szGameDir )); + Q_strncpy( szGameDir, XASH_GAMEDIR, sizeof( szGameDir )); #if XASH_EMSCRIPTEN #ifdef EMSCRIPTEN_LIB_FS @@ -73,7 +67,7 @@ static int Sys_Start( void ) IOS_LaunchDialog(); #endif - return Host_Main( szArgc, szArgv, game, 0, Sys_ChangeGame ); + return Host_Main( szArgc, szArgv, szGameDir, 0, Sys_ChangeGame ); } int main( int argc, char **argv ) diff --git a/game_launch/game.cpp b/game_launch/game.cpp index 42d00af2..6b295721 100644 --- a/game_launch/game.cpp +++ b/game_launch/game.cpp @@ -44,9 +44,8 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; #error // port me! #endif -#define E_GAME "XASH3D_GAME" // default env dir to start from #ifndef XASH_GAMEDIR -#define XASH_GAMEDIR "valve" +#define XASH_GAMEDIR "valve" // !!! Replace with your default (base) game directory !!! #endif typedef void (*pfnChangeGame)( const char *progname ); @@ -151,7 +150,6 @@ _inline int Sys_Start( void ) { int ret; pfnChangeGame changeGame = NULL; - const char *game = getenv( E_GAME ); #if XASH_SAILFISH const char *home = getenv( "HOME" ); @@ -166,10 +164,7 @@ _inline int Sys_Start( void ) #endif // XASH_AURORAOS #endif // XASH_SAILFISH - if( !game ) - game = XASH_GAMEDIR; - - strncpy( szGameDir, game, sizeof( szGameDir ) - 1 ); + strncpy( szGameDir, XASH_GAMEDIR, sizeof( szGameDir ) - 1 ); Sys_LoadEngine(); diff --git a/wscript b/wscript index afc5058b..acd9f943 100644 --- a/wscript +++ b/wscript @@ -116,7 +116,7 @@ def options(opt): help = 'build Xash Dedicated Server [default: %(default)s]') grp.add_option('--gamedir', action = 'store', dest = 'GAMEDIR', default = 'valve', - help = 'engine default game directory [default: %(default)s]') + help = 'engine default (base) game directory [default: %(default)s]') grp.add_option('-8', '--64bits', action = 'store_true', dest = 'ALLOW64', default = False, help = 'allow targetting 64-bit engine(Linux/Windows/OSX x86 only) [default: %(default)s]')