#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)
+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
const char *FS_FileWithoutPath (const char *in);
const char *FS_FileExtension (const char *in);
int FS_CheckNastyPath (const char *path, qboolean isgamedir);
-qboolean FS_CheckGameDir(const char *gamedir);
+
+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
+
+typedef struct
+{
+ char name[MAX_OSPATH];
+ char description[8192];
+}
+gamedir_t;
+extern gamedir_t *fs_all_gamedirs; // terminated by entry with empty name
+extern int fs_all_gamedirs_count;
+
qboolean FS_ChangeGameDirs(int numgamedirs, char gamedirs[][MAX_QPATH], qboolean complain, qboolean failmissing);
qboolean FS_IsRegisteredQuakePack(const char *name);
int FS_CRCFile(const char *filename, size_t *filesizepointer);