diff options
Diffstat (limited to 'src/qcommon')
-rw-r--r-- | src/qcommon/common.c | 2 | ||||
-rw-r--r-- | src/qcommon/files.c | 16 | ||||
-rw-r--r-- | src/qcommon/qcommon.h | 7 |
3 files changed, 24 insertions, 1 deletions
diff --git a/src/qcommon/common.c b/src/qcommon/common.c index e2aa156c..3d3cd38d 100644 --- a/src/qcommon/common.c +++ b/src/qcommon/common.c @@ -244,6 +244,8 @@ void QDECL Com_Error( int code, const char *fmt, ... ) { static int errorCount; int currentTime; + Cvar_Set( "com_errorCode", va( "%i", code ) ); + // when we are running automated scripts, make sure we // know if anything failed if ( com_buildScript && com_buildScript->integer ) { 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 ); diff --git a/src/qcommon/qcommon.h b/src/qcommon/qcommon.h index d6273d8a..e6612453 100644 --- a/src/qcommon/qcommon.h +++ b/src/qcommon/qcommon.h @@ -539,6 +539,8 @@ qboolean FS_ConditionalRestart( int checksumFeed ); void FS_Restart( int checksumFeed ); // shutdown and restart the filesystem so changes to fs_gamedir can take effect +void FS_AddGameDirectory( const char *path, const char *dir ); + char **FS_ListFiles( const char *directory, const char *extension, int *numfiles ); // directory should not have either a leading or trailing / // if extension is "/", only subdirectories will be returned @@ -1016,6 +1018,11 @@ void Sys_Mkdir( const char *path ); char *Sys_Cwd( void ); void Sys_SetDefaultInstallPath(const char *path); char *Sys_DefaultInstallPath(void); + +#ifdef MACOS_X +char *Sys_DefaultAppPath(void); +#endif + void Sys_SetDefaultHomePath(const char *path); char *Sys_DefaultHomePath(void); const char *Sys_Dirname( char *path ); |