X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=fs.c;h=3cd3b7d9ba19bbd0b58f2ed9e65a4c8ce762edb1;hp=8086a34b988ddc9947e6712f3ab84b3d75b40c7b;hb=65c1200fa869c82dc83f04c5bb43d91742669c6a;hpb=a892a876d60ec67da321e48e31dc80b95fd6d9aa diff --git a/fs.c b/fs.c index 8086a34b..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); } @@ -1354,18 +1363,31 @@ void FS_Rescan (void) unlink (va("%s/qconsole.log", fs_gamedir)); // look for the pop.lmp file and set registered to true if it is found - if ((gamemode == GAME_NORMAL || gamemode == GAME_HIPNOTIC || gamemode == GAME_ROGUE) && !FS_FileExists("gfx/pop.lmp")) + if (FS_FileExists("gfx/pop.lmp")) + Cvar_Set ("registered", "1"); + switch(gamemode) { - if (fs_modified) - Con_Print("Playing shareware version, with modification.\nwarning: most mods require full quake data.\n"); + case GAME_NORMAL: + case GAME_HIPNOTIC: + case GAME_ROGUE: + if (!registered.integer) + { + if (fs_modified) + Con_Print("Playing shareware version, with modification.\nwarning: most mods require full quake data.\n"); + else + Con_Print("Playing shareware version.\n"); + } else - Con_Print("Playing shareware version.\n"); - } - else - { - Cvar_Set ("registered", "1"); - if (gamemode == GAME_NORMAL || gamemode == GAME_HIPNOTIC || gamemode == GAME_ROGUE) Con_Print("Playing registered version.\n"); + break; + case GAME_STEELSTORM: + if (registered.integer) + Con_Print("Playing registered version.\n"); + else + Con_Print("Playing shareware version.\n"); + break; + default: + break; } // unload all wads so that future queries will return the new data @@ -1487,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]; @@ -1614,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; @@ -1670,7 +1691,9 @@ void FS_Init (void) size_t homedirlen; #endif #endif +#ifndef __IPHONEOS__ char *homedir; +#endif #ifdef WIN32 const char* dllnames [] = @@ -1682,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) { @@ -1768,6 +1800,7 @@ void FS_Init (void) fs_basedir[split - com_argv[0]] = 0; } #endif +#endif #endif // -basedir @@ -1915,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;