diff options
Diffstat (limited to 'src/qcommon/files.c')
-rw-r--r-- | src/qcommon/files.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/qcommon/files.c b/src/qcommon/files.c index 94e2152e..f896929f 100644 --- a/src/qcommon/files.c +++ b/src/qcommon/files.c @@ -235,6 +235,12 @@ typedef struct searchpath_s { static char fs_gamedir[MAX_OSPATH]; // this will be a single file name with no separators static cvar_t *fs_debug; static cvar_t *fs_homepath; + +#ifdef MACOS_X +// Also search the .app bundle for .pk3 files +static cvar_t *fs_apppath; +#endif + static cvar_t *fs_basepath; static cvar_t *fs_basegame; static cvar_t *fs_gamedirvar; @@ -2386,7 +2392,7 @@ Sets fs_gamedir, adds the directory to the head of the path, then loads the zip headers ================ */ -static void FS_AddGameDirectory( const char *path, const char *dir ) { +void FS_AddGameDirectory( const char *path, const char *dir ) { searchpath_t *sp; int i; searchpath_t *search; @@ -2713,6 +2719,14 @@ static void FS_Startup( const char *gameName ) FS_AddGameDirectory( fs_basepath->string, gameName ); } // fs_homepath is somewhat particular to *nix systems, only add if relevant + + #ifdef MACOS_X + fs_apppath = Cvar_Get ("fs_apppath", Sys_DefaultAppPath(), CVAR_INIT ); + // Make MacOSX also include the base path included with the .app bundle + if (fs_apppath->string[0]) + FS_AddGameDirectory(fs_apppath->string, gameName); + #endif + // NOTE: same filtering below for mods and basegame if (fs_homepath->string[0] && Q_stricmp(fs_homepath->string,fs_basepath->string)) { FS_AddGameDirectory ( fs_homepath->string, gameName ); |