X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=fs.h;h=b8ada8b990b831b04c55441845e96958da262d59;hp=aefa5b59b8b86261aa111e3588001720dbbb4e97;hb=7c62e71683de5672379f033664504eb10d431544;hpb=0a05c446ba26bd5897645a37ceec8646c5bc93eb diff --git a/fs.h b/fs.h index aefa5b59..b8ada8b9 100644 --- a/fs.h +++ b/fs.h @@ -25,19 +25,16 @@ #ifndef FS_H #define FS_H +#include +#include +#include "qtypes.h" +#include "qdefs.h" +#include "zone.h" // ------ Types ------ // typedef struct qfile_s qfile_t; - -#ifdef WIN32 -//typedef long fs_offset_t; // 32bit -typedef __int64 fs_offset_t; ///< 64bit (lots of warnings, and read/write still don't take 64bit on win64) -#else -typedef long long fs_offset_t; -#endif - - +typedef int64_t fs_offset_t; // ------ Variables ------ // @@ -50,6 +47,14 @@ extern char fs_userdir [MAX_OSPATH]; extern int fs_numgamedirs; extern char fs_gamedirs[MAX_GAMEDIRS][MAX_QPATH]; +typedef struct vfs_s +{ + char gamedir[MAX_OSPATH]; + char basedir[MAX_OSPATH]; + char userdir[MAX_OSPATH]; + int numgamedirs; + char gamedirs[MAX_GAMEDIRS][MAX_QPATH]; +} vfs_t; // ------ Main functions ------ // @@ -80,6 +85,7 @@ void FS_Purge (qfile_t* file); const char *FS_FileWithoutPath (const char *in); const char *FS_FileExtension (const char *in); int FS_CheckNastyPath (const char *path, qbool isgamedir); +void FS_SanitizePath (char *path); extern const char *const fs_checkgamedir_missing; // "(missing)" const char *FS_CheckGameDir(const char *gamedir); // returns NULL if nasty, fs_checkgamedir_missing (exact pointer) if missing