]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - fs.c
CSQC entity networking: if a frame BEFORE the last packetlog reset got lost, this...
[xonotic/darkplaces.git] / fs.c
diff --git a/fs.c b/fs.c
index a5281f584be580bb33e8073bfdc906094730c974..3cd3b7d9ba19bbd0b58f2ed9e65a4c8ce762edb1 100644 (file)
--- a/fs.c
+++ b/fs.c
                Boston, MA  02111-1307, USA
 */
 
+#ifdef __APPLE__
+// include SDL for IPHONEOS code
+# include <TargetConditionals.h>
+# if TARGET_OS_IPHONE
+#  include <SDL.h>
+# endif
+#endif
+
 #include <limits.h>
 #include <fcntl.h>
 
@@ -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);
 }
 
 
@@ -1500,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];
@@ -1627,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;
@@ -1683,7 +1691,9 @@ void FS_Init (void)
        size_t homedirlen;
 #endif
 #endif
+#ifndef __IPHONEOS__
        char *homedir;
+#endif
 
 #ifdef WIN32
        const char* dllnames [] =
@@ -1695,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)
        {
@@ -1781,6 +1800,7 @@ void FS_Init (void)
                fs_basedir[split - com_argv[0]] = 0;
        }
 #endif
+#endif
 #endif
 
        // -basedir <path>
@@ -1928,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;