X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=fs.c;h=3cd3b7d9ba19bbd0b58f2ed9e65a4c8ce762edb1;hp=a5834035e67841f96694caacf7c2fb26b3421000;hb=65c1200fa869c82dc83f04c5bb43d91742669c6a;hpb=e2a01a8fbc4ae33827a76531919ab72badf12b76 diff --git a/fs.c b/fs.c index a5834035..3cd3b7d9 100644 --- a/fs.c +++ b/fs.c @@ -22,6 +22,14 @@ Boston, MA 02111-1307, USA */ +#ifdef __APPLE__ +// include SDL for IPHONEOS code +# include +# if TARGET_OS_IPHONE +# include +# endif +#endif + #include #include @@ -669,7 +677,7 @@ FS_LoadPackPK3 Create a package entry associated with a PK3 file ==================== */ -pack_t *FS_LoadPackPK3FromFD (const char *packfile, int packhandle) +pack_t *FS_LoadPackPK3FromFD (const char *packfile, int packhandle, qboolean silent) { pk3_endOfCentralDir_t eocd; pack_t *pack; @@ -677,7 +685,8 @@ pack_t *FS_LoadPackPK3FromFD (const char *packfile, int packhandle) if (! PK3_GetEndOfCentralDir (packfile, packhandle, &eocd)) { - Con_Printf ("%s is not a PK3 file\n", packfile); + if(!silent) + Con_Printf ("%s is not a PK3 file\n", packfile); close(packhandle); return NULL; } @@ -731,7 +740,7 @@ pack_t *FS_LoadPackPK3 (const char *packfile) #endif if (packhandle < 0) return NULL; - return FS_LoadPackPK3FromFD(packfile, packhandle); + return FS_LoadPackPK3FromFD(packfile, packhandle, false); } @@ -1377,6 +1386,8 @@ void FS_Rescan (void) else Con_Print("Playing shareware version.\n"); break; + default: + break; } // unload all wads so that future queries will return the new data @@ -1498,7 +1509,6 @@ void FS_GameDir_f (void) FS_ChangeGameDirs(numgamedirs, gamedirs, true, true); } -static qfile_t* FS_SysOpen (const char* filepath, const char* mode, qboolean nonblocking); static const char *FS_SysCheckGameDir(const char *gamedir) { static char buf[8192]; @@ -1625,7 +1635,7 @@ void FS_Init_SelfPack (void) fs_mempool = Mem_AllocPool("file management", 0, NULL); if(com_selffd >= 0) { - fs_selfpack = FS_LoadPackPK3FromFD(com_argv[0], com_selffd); + fs_selfpack = FS_LoadPackPK3FromFD(com_argv[0], com_selffd, true); if(fs_selfpack) { char *buf, *q; @@ -1681,7 +1691,9 @@ void FS_Init (void) size_t homedirlen; #endif #endif +#ifndef __IPHONEOS__ char *homedir; +#endif #ifdef WIN32 const char* dllnames [] = @@ -1693,6 +1705,15 @@ void FS_Init (void) // don't care for the result; if it fails, %USERPROFILE% will be used instead #endif + *fs_basedir = 0; + *fs_userdir = 0; + *fs_gamedir = 0; + +#ifdef __IPHONEOS__ + // fs_basedir is "" by default, to utilize this you can simply add your gamedir to the Resources in xcode + // fs_userdir stores configurations to the Documents folder of the app + strlcpy(fs_userdir, "../Documents/", sizeof(fs_userdir)); +#else // Add the personal game directory if((i = COM_CheckParm("-userdir")) && i < com_argc - 1) { @@ -1779,6 +1800,7 @@ void FS_Init (void) fs_basedir[split - com_argv[0]] = 0; } #endif +#endif #endif // -basedir @@ -1926,7 +1948,7 @@ FS_SysOpen Internal function used to create a qfile_t and open the relevant non-packed file on disk ==================== */ -static qfile_t* FS_SysOpen (const char* filepath, const char* mode, qboolean nonblocking) +qfile_t* FS_SysOpen (const char* filepath, const char* mode, qboolean nonblocking) { qfile_t* file;