]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake3/common/vfs.h
Merge commit '37bef590b1d2161b16b2bd33349fc8b56af60920' into master-merge
[xonotic/netradiant.git] / tools / quake3 / common / vfs.h
index 69f8a40a805de2c00e518d9377cfdeffbb7945b0..15dd5e3b41f427965ed6a425ab6041904c870c92 100644 (file)
 #ifndef _VFS_H_
 #define _VFS_H_
 
+#include "globaldefs.h"
+
 // to get PATH_MAX
 #include <stdio.h>
-#if defined ( __linux__ ) || defined ( __APPLE__ )
-#include <dirent.h>
-#include <unistd.h>
-#else
+
+#if GDEF_OS_WINDOWS
 #include <wtypes.h>
 #include <io.h>
+
+#ifndef R_OK
 #define R_OK 04
+#endif
+
 #define S_ISDIR( mode ) ( mode & _S_IFDIR )
+#else // !GDEF_OS_WINDOWS
+#include <dirent.h>
+#include <unistd.h>
+#endif // !GDEF_OS_WINDOWS
+
+#ifndef PATH_MAX
 #define PATH_MAX 260
+#endif // PATH_MAX
+
+// PATH_MAX
+#if defined( __FreeBSD__ )
+#include <sys/syslimits.h>
 #endif
-#include <glib.h>
 
-#define VFS_MAXDIRS 64
+// Multiple pakpaths with many pk3dirs can lead
+// to high list of VFS directories
+#define VFS_MAXDIRS 256
 
 void vfsInitDirectory( const char *path );
 void vfsShutdown();
 int vfsGetFileCount( const char *filename );
 int vfsLoadFile( const char *filename, void **buffer, int index );
-void vfsListShaderFiles( char list[512][64], int *num );
-qboolean vfsPackFile( const char *filename, const char *packname );
+void vfsListShaderFiles( char* list, int *num );
+qboolean vfsPackFile( const char *filename, const char *packname, const int compLevel );
 
 extern char g_strForbiddenDirs[VFS_MAXDIRS][PATH_MAX + 1];
 extern int g_numForbiddenDirs;