FTEQW
Documentation of the FTE engine source tree.
fs.c File Reference

Functions

void FS_BeginManifestUpdates (void)
 
void COM_CheckRegistered (void)
 
void Mods_FlushModList (void)
 
int FS_RegisterFileSystemType (void *module, const char *extension, searchpathfuncs_t *(QDECL *OpenNew)(vfsfile_t *file, searchpathfuncs_t *parent, const char *filename, const char *desc, const char *prefix), qboolean loadscan)
 
void FS_UnRegisterFileSystemType (int idx)
 
void FS_UnRegisterFileSystemModule (void *module)
 
char * VFS_GETS (vfsfile_t *vf, char *buffer, size_t buflen)
 
void VARGS VFS_PRINTF (vfsfile_t *vf, const char *format,...)
 
qboolean Sys_ResolveFileURL (const char *inurl, int inlen, char *out, int outlen)
 
void FS_Manifest_Free (ftemanifest_t *man)
 
qboolean FS_GamedirIsOkay (const char *path)
 
ftemanifest_tFS_Manifest_ReadMem (const char *fname, const char *basedir, const char *data)
 
ftemanifest_tFS_Manifest_ReadSystem (const char *fname, const char *basedir)
 
ftemanifest_tFS_Manifest_ReadMod (const char *moddir)
 
int QDECL COM_FileSize (const char *path)
 
qboolean FS_GameIsInitialised (void)
 
qboolean COM_WriteFile (const char *filename, enum fs_relative fsroot, const void *data, int len)
 
void FS_FlushFSHashWritten (const char *fname)
 
void FS_FlushFSHashRemoved (const char *fname)
 
void FS_FlushFSHashFull (void)
 
int FS_FLocateFile (const char *filename, unsigned int lflags, flocation_t *loc)
 
const char * FS_GetRootPackagePath (flocation_t *loc)
 
const char * FS_GetPackageDownloadFilename (flocation_t *loc)
 
qboolean FS_GetLocationForPackageHandle (flocation_t *loc, searchpathfuncs_t *spath, const char *fname)
 
const char * FS_WhichPackForLocation (flocation_t *loc, unsigned int flags)
 
qboolean FS_GetPackageDownloadable (const char *package)
 
char * FS_GetPackHashes (char *buffer, int buffersize, qboolean referencedonly)
 
char * FS_GetPackNames (char *buffer, int buffersize, int referencedonly, qboolean ext)
 
void FS_ReferenceControl (unsigned int refflag, unsigned int resetflags)
 
qboolean FS_NativePath (const char *fname, enum fs_relative relativeto, char *out, int outlen)
 
vfsfile_tFS_OpenWithFriends (const char *fname, char *sysname, size_t sysnamesize, int numfriends,...)
 
vfsfile_t *QDECL FS_OpenVFS (const char *filename, const char *mode, enum fs_relative relativeto)
 
qboolean FS_GetLocMTime (flocation_t *location, time_t *modtime)
 
vfsfile_tFS_OpenReadLocation (const char *fname, flocation_t *location)
 
qboolean FS_Rename2 (const char *oldf, const char *newf, enum fs_relative oldrelativeto, enum fs_relative newrelativeto)
 
qboolean FS_Rename (const char *oldf, const char *newf, enum fs_relative relativeto)
 
qboolean FS_Remove (const char *fname, enum fs_relative relativeto)
 
qboolean FS_RemoveTree (searchpathfuncs_t *pathhandle, const char *fname)
 
void FS_CreatePath (const char *pname, enum fs_relative relativeto)
 
voidFS_MallocFile (const char *filename, enum fs_relative relativeto, qofs_t *filesize)
 
qboolean FS_WriteFile (const char *filename, const void *data, int len, enum fs_relative relativeto)
 
qboolean FS_Copy (const char *source, const char *dest, enum fs_relative relativesource, enum fs_relative relativedest)
 
qbyteCOM_LoadFile (const char *path, unsigned int locateflags, int usehunk, size_t *filesize)
 
voidFS_LoadMallocFile (const char *path, size_t *fsize)
 
qbyteFS_LoadMallocFileFlags (const char *path, unsigned int locateflags, size_t *fsize)
 
voidFS_LoadMallocGroupFile (zonegroup_t *ctx, char *path, size_t *fsize, qboolean filters)
 
qbyteCOM_LoadTempFile (const char *path, unsigned int locateflags, size_t *fsize)
 
qbyteCOM_LoadTempMoreFile (const char *path, size_t *fsize)
 
qbyte *QDECL COM_LoadStackFile (const char *path, void *buffer, int bufsize, size_t *fsize)
 
qofs_t FS_LoadFile (const char *name, void **file)
 
void FS_FreeFile (void *file)
 
searchpathfuncs_tCOM_EnumerateFilesPackage (char *matches, const char *package, unsigned int flags, int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *), void *parm)
 
void COM_EnumerateFiles (const char *match, int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *), void *parm)
 
void COM_EnumerateFilesReverse (const char *match, int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *), void *parm)
 
void COM_FlushTempoaryPacks (void)
 
qboolean FS_LoadMapPackFile (const char *filename, searchpathfuncs_t *archive)
 
void FS_CloseMapPackFile (searchpathfuncs_t *archive)
 
searchpathfuncs_tFS_OpenPackByExtension (vfsfile_t *f, searchpathfuncs_t *parent, const char *filename, const char *pakname, const char *pakpathprefix)
 
void FS_AddHashedPackage (searchpath_t **oldpaths, const char *parentpath, const char *logicalpaths, searchpath_t *search, unsigned int loadstuff, const char *pakpath, const char *qhash, const char *pakprefix, unsigned int packflags)
 
void COM_FlushFSCache (qboolean purge, qboolean domutex)
 
qboolean FS_Restarted (unsigned int *since)
 
searchpathfuncs_tCOM_IteratePaths (void **iterator, char *pathbuffer, int pathbuffersize, char *dirname, int dirnamesize)
 
char * FS_GetGamedir (qboolean publicpathonly)
 
char * FS_GetManifestArgs (void)
 
int FS_GetManifestArgv (char **argv, int maxargs)
 
qboolean FS_PathURLCache (const char *url, char *path, size_t pathsize)
 
void COM_Gamedir (const char *dir, const struct gamepacks *packagespaths)
 
qboolean FS_GenCachedPakName (const char *pname, const char *crc, char *local, int llen)
 
qboolean FS_LoadPackageFromFile (vfsfile_t *vfs, char *pname, char *localname, int *crc, unsigned int flags)
 
vfsfile_tCL_OpenFileInPackage (searchpathfuncs_t *search, char *name)
 
qboolean CL_ListFilesInPackage (searchpathfuncs_t *search, char *name, int(QDECL *func)(const char *fname, qofs_t fsize, time_t mtime, void *parm, searchpathfuncs_t *spath), void *parm, void *recursioninfo)
 
void FS_PureMode (const char *gamedir, int puremode, char *purenamelist, char *purecrclist, char *refnamelist, char *refcrclist, int pureseed)
 
int FS_PureOkay (void)
 
char * FSQ3_GenerateClientPacksList (char *buffer, int maxlen, int basechecksum)
 
void FS_UnloadPackFiles (void)
 
void FS_ReloadPackFiles (void)
 
qboolean Sys_DoDirectoryPrompt (char *basepath, size_t basepathsize, const char *poshname, const char *savedname)
 
qboolean Sys_FindGameData (const char *poshname, const char *gamename, char *basepath, int basepathlen, qboolean allowprompts)
 
int MessageBoxU (HWND hWnd, char *lpText, char *lpCaption, UINT uType)
 
DWORD GetFileAttributesU (const char *lpFileName)
 
void FS_Shutdown (void)
 
qboolean FS_DirHasAPackage (char *basedir, ftemanifest_t *man)
 
qboolean FS_DownloadingPackage (void)
 
qboolean FS_FixPath (char *path, size_t pathsize)
 
qboolean FS_ChangeGame (ftemanifest_t *man, qboolean allowreloadconfigs, qboolean allowbasedirchange)
 
void FS_CreateBasedir (const char *path)
 
int FS_EnumerateKnownGames (qboolean(*callback)(void *usr, ftemanifest_t *man, enum modsourcetype_e sourcetype), void *usr)
 
qboolean FS_FixupGamedirForExternalFile (char *input, char *filename, size_t fnamelen)
 
void Cvar_GamedirChange (void)
 
void Plug_Shutdown (qboolean preliminary)
 
struct modlist_sMods_GetMod (size_t diridx)
 
void FS_ArbitraryFile_c (int argn, const char *partial, struct xcommandargcompletioncb_s *ctx)
 
void COM_InitFilesystem (void)
 

Variables

hashtable_t filesystemhash
 
qboolean com_installer = false
 
qboolean fs_readonly
 
int waitingformanifest
 
voidfs_thread_mutex
 
float fs_accessed_time
 
cvar_t fs_dlURL = CVARAFD("sv_dlURL", "", "sv_curl_defaulturl", CVAR_SERVERINFO|CVAR_NOSAVE, "Provides clients with an external url from which they can obtain pk3s/packages from an external http server instead of having to download over udp.")
 
int active_fs_cachetype
 
int fs_finds
 
char gamedirfile [MAX_OSPATH]
 
char com_gamepath [MAX_OSPATH]
 
char com_homepath [MAX_OSPATH]
 
qboolean com_homepathenabled
 
int fs_hash_dups
 
int fs_hash_files
 
ftemanifest_tfs_manifest
 

Function Documentation

◆ CL_ListFilesInPackage()

qboolean CL_ListFilesInPackage ( searchpathfuncs_t search,
char *  name,
int(QDECL *func)(const char *fname, qofs_t fsize, time_t mtime, void *parm, searchpathfuncs_t *spath)  ,
void parm,
void recursioninfo 
)

◆ CL_OpenFileInPackage()

vfsfile_t * CL_OpenFileInPackage ( searchpathfuncs_t search,
char *  name 
)

◆ COM_CheckRegistered()

void COM_CheckRegistered ( void  )

◆ COM_EnumerateFiles()

void COM_EnumerateFiles ( const char *  match,
int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *)  ,
void parm 
)

◆ COM_EnumerateFilesPackage()

searchpathfuncs_t * COM_EnumerateFilesPackage ( char *  matches,
const char *  package,
unsigned int  flags,
int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *)  ,
void parm 
)

◆ COM_EnumerateFilesReverse()

void COM_EnumerateFilesReverse ( const char *  match,
int(QDECL *func)(const char *, qofs_t, time_t mtime, void *, searchpathfuncs_t *)  ,
void parm 
)

◆ COM_FileSize()

int QDECL COM_FileSize ( const char *  path)

◆ COM_FlushFSCache()

void COM_FlushFSCache ( qboolean  purge,
qboolean  domutex 
)

◆ COM_FlushTempoaryPacks()

void COM_FlushTempoaryPacks ( void  )

◆ COM_Gamedir()

void COM_Gamedir ( const char *  dir,
const struct gamepacks packagespaths 
)

◆ COM_InitFilesystem()

void COM_InitFilesystem ( void  )

◆ COM_IteratePaths()

searchpathfuncs_t * COM_IteratePaths ( void **  iterator,
char *  pathbuffer,
int  pathbuffersize,
char *  dirname,
int  dirnamesize 
)

◆ COM_LoadFile()

qbyte * COM_LoadFile ( const char *  path,
unsigned int  locateflags,
int  usehunk,
size_t *  filesize 
)

◆ COM_LoadStackFile()

qbyte *QDECL COM_LoadStackFile ( const char *  path,
void buffer,
int  bufsize,
size_t *  fsize 
)

◆ COM_LoadTempFile()

qbyte * COM_LoadTempFile ( const char *  path,
unsigned int  locateflags,
size_t *  fsize 
)

◆ COM_LoadTempMoreFile()

qbyte * COM_LoadTempMoreFile ( const char *  path,
size_t *  fsize 
)

◆ COM_WriteFile()

qboolean COM_WriteFile ( const char *  filename,
enum fs_relative  fsroot,
const void data,
int  len 
)

◆ Cvar_GamedirChange()

void Cvar_GamedirChange ( void  )

◆ FS_AddHashedPackage()

void FS_AddHashedPackage ( searchpath_t **  oldpaths,
const char *  parentpath,
const char *  logicalpaths,
searchpath_t search,
unsigned int  loadstuff,
const char *  pakpath,
const char *  qhash,
const char *  pakprefix,
unsigned int  packflags 
)

◆ FS_ArbitraryFile_c()

void FS_ArbitraryFile_c ( int  argn,
const char *  partial,
struct xcommandargcompletioncb_s ctx 
)

◆ FS_BeginManifestUpdates()

void FS_BeginManifestUpdates ( void  )

◆ FS_ChangeGame()

qboolean FS_ChangeGame ( ftemanifest_t man,
qboolean  allowreloadconfigs,
qboolean  allowbasedirchange 
)

◆ FS_CloseMapPackFile()

void FS_CloseMapPackFile ( searchpathfuncs_t archive)

◆ FS_Copy()

qboolean FS_Copy ( const char *  source,
const char *  dest,
enum fs_relative  relativesource,
enum fs_relative  relativedest 
)

◆ FS_CreateBasedir()

void FS_CreateBasedir ( const char *  path)

◆ FS_CreatePath()

void FS_CreatePath ( const char *  pname,
enum fs_relative  relativeto 
)

◆ FS_DirHasAPackage()

qboolean FS_DirHasAPackage ( char *  basedir,
ftemanifest_t man 
)

◆ FS_DownloadingPackage()

qboolean FS_DownloadingPackage ( void  )

◆ FS_EnumerateKnownGames()

int FS_EnumerateKnownGames ( qboolean(*)(void *usr, ftemanifest_t *man, enum modsourcetype_e sourcetype)  callback,
void usr 
)

◆ FS_FixPath()

qboolean FS_FixPath ( char *  path,
size_t  pathsize 
)

◆ FS_FixupGamedirForExternalFile()

qboolean FS_FixupGamedirForExternalFile ( char *  input,
char *  filename,
size_t  fnamelen 
)

◆ FS_FLocateFile()

int FS_FLocateFile ( const char *  filename,
unsigned int  lflags,
flocation_t loc 
)

◆ FS_FlushFSHashFull()

void FS_FlushFSHashFull ( void  )

◆ FS_FlushFSHashRemoved()

void FS_FlushFSHashRemoved ( const char *  fname)

◆ FS_FlushFSHashWritten()

void FS_FlushFSHashWritten ( const char *  fname)

◆ FS_FreeFile()

void FS_FreeFile ( void file)

◆ FS_GamedirIsOkay()

qboolean FS_GamedirIsOkay ( const char *  path)

◆ FS_GameIsInitialised()

qboolean FS_GameIsInitialised ( void  )

◆ FS_GenCachedPakName()

qboolean FS_GenCachedPakName ( const char *  pname,
const char *  crc,
char *  local,
int  llen 
)

◆ FS_GetGamedir()

char * FS_GetGamedir ( qboolean  publicpathonly)

◆ FS_GetLocationForPackageHandle()

qboolean FS_GetLocationForPackageHandle ( flocation_t loc,
searchpathfuncs_t spath,
const char *  fname 
)

◆ FS_GetLocMTime()

qboolean FS_GetLocMTime ( flocation_t location,
time_t *  modtime 
)

◆ FS_GetManifestArgs()

char * FS_GetManifestArgs ( void  )

◆ FS_GetManifestArgv()

int FS_GetManifestArgv ( char **  argv,
int  maxargs 
)

◆ FS_GetPackageDownloadable()

qboolean FS_GetPackageDownloadable ( const char *  package)

◆ FS_GetPackageDownloadFilename()

const char * FS_GetPackageDownloadFilename ( flocation_t loc)

◆ FS_GetPackHashes()

char * FS_GetPackHashes ( char *  buffer,
int  buffersize,
qboolean  referencedonly 
)

◆ FS_GetPackNames()

char * FS_GetPackNames ( char *  buffer,
int  buffersize,
int  referencedonly,
qboolean  ext 
)

◆ FS_GetRootPackagePath()

const char * FS_GetRootPackagePath ( flocation_t loc)

◆ FS_LoadFile()

qofs_t FS_LoadFile ( const char *  name,
void **  file 
)

◆ FS_LoadMallocFile()

void * FS_LoadMallocFile ( const char *  path,
size_t *  fsize 
)

◆ FS_LoadMallocFileFlags()

qbyte * FS_LoadMallocFileFlags ( const char *  path,
unsigned int  locateflags,
size_t *  fsize 
)

◆ FS_LoadMallocGroupFile()

void * FS_LoadMallocGroupFile ( zonegroup_t ctx,
char *  path,
size_t *  fsize,
qboolean  filters 
)

◆ FS_LoadMapPackFile()

qboolean FS_LoadMapPackFile ( const char *  filename,
searchpathfuncs_t archive 
)

◆ FS_LoadPackageFromFile()

qboolean FS_LoadPackageFromFile ( vfsfile_t vfs,
char *  pname,
char *  localname,
int crc,
unsigned int  flags 
)

◆ FS_MallocFile()

void * FS_MallocFile ( const char *  filename,
enum fs_relative  relativeto,
qofs_t filesize 
)

◆ FS_Manifest_Free()

void FS_Manifest_Free ( ftemanifest_t man)

◆ FS_Manifest_ReadMem()

ftemanifest_t * FS_Manifest_ReadMem ( const char *  fname,
const char *  basedir,
const char *  data 
)

◆ FS_Manifest_ReadMod()

ftemanifest_t * FS_Manifest_ReadMod ( const char *  moddir)

◆ FS_Manifest_ReadSystem()

ftemanifest_t * FS_Manifest_ReadSystem ( const char *  fname,
const char *  basedir 
)

◆ FS_NativePath()

qboolean FS_NativePath ( const char *  fname,
enum fs_relative  relativeto,
char *  out,
int  outlen 
)

◆ FS_OpenPackByExtension()

searchpathfuncs_t * FS_OpenPackByExtension ( vfsfile_t f,
searchpathfuncs_t parent,
const char *  filename,
const char *  pakname,
const char *  pakpathprefix 
)

◆ FS_OpenReadLocation()

vfsfile_t * FS_OpenReadLocation ( const char *  fname,
flocation_t location 
)

◆ FS_OpenVFS()

vfsfile_t *QDECL FS_OpenVFS ( const char *  filename,
const char *  mode,
enum fs_relative  relativeto 
)

◆ FS_OpenWithFriends()

vfsfile_t * FS_OpenWithFriends ( const char *  fname,
char *  sysname,
size_t  sysnamesize,
int  numfriends,
  ... 
)

◆ FS_PathURLCache()

qboolean FS_PathURLCache ( const char *  url,
char *  path,
size_t  pathsize 
)

◆ FS_PureMode()

void FS_PureMode ( const char *  gamedir,
int  puremode,
char *  purenamelist,
char *  purecrclist,
char *  refnamelist,
char *  refcrclist,
int  pureseed 
)

◆ FS_PureOkay()

int FS_PureOkay ( void  )

◆ FS_ReferenceControl()

void FS_ReferenceControl ( unsigned int  refflag,
unsigned int  resetflags 
)

◆ FS_RegisterFileSystemType()

int FS_RegisterFileSystemType ( void module,
const char *  extension,
searchpathfuncs_t QDECL *OpenNew)(vfsfile_t *file, searchpathfuncs_t *parent, const char *filename, const char *desc, const char *prefix,
qboolean  loadscan 
)

◆ FS_ReloadPackFiles()

void FS_ReloadPackFiles ( void  )

◆ FS_Remove()

qboolean FS_Remove ( const char *  fname,
enum fs_relative  relativeto 
)

◆ FS_RemoveTree()

qboolean FS_RemoveTree ( searchpathfuncs_t pathhandle,
const char *  fname 
)

◆ FS_Rename()

qboolean FS_Rename ( const char *  oldf,
const char *  newf,
enum fs_relative  relativeto 
)

◆ FS_Rename2()

qboolean FS_Rename2 ( const char *  oldf,
const char *  newf,
enum fs_relative  oldrelativeto,
enum fs_relative  newrelativeto 
)

◆ FS_Restarted()

qboolean FS_Restarted ( unsigned int since)

◆ FS_Shutdown()

void FS_Shutdown ( void  )

◆ FS_UnloadPackFiles()

void FS_UnloadPackFiles ( void  )

◆ FS_UnRegisterFileSystemModule()

void FS_UnRegisterFileSystemModule ( void module)

◆ FS_UnRegisterFileSystemType()

void FS_UnRegisterFileSystemType ( int  idx)

◆ FS_WhichPackForLocation()

const char * FS_WhichPackForLocation ( flocation_t loc,
unsigned int  flags 
)

◆ FS_WriteFile()

qboolean FS_WriteFile ( const char *  filename,
const void data,
int  len,
enum fs_relative  relativeto 
)

◆ FSQ3_GenerateClientPacksList()

char * FSQ3_GenerateClientPacksList ( char *  buffer,
int  maxlen,
int  basechecksum 
)

◆ GetFileAttributesU()

DWORD GetFileAttributesU ( const char *  lpFileName)

◆ MessageBoxU()

int MessageBoxU ( HWND  hWnd,
char *  lpText,
char *  lpCaption,
UINT  uType 
)

◆ Mods_FlushModList()

void Mods_FlushModList ( void  )

◆ Mods_GetMod()

struct modlist_s * Mods_GetMod ( size_t  diridx)

◆ Plug_Shutdown()

void Plug_Shutdown ( qboolean  preliminary)

◆ Sys_DoDirectoryPrompt()

qboolean Sys_DoDirectoryPrompt ( char *  basepath,
size_t  basepathsize,
const char *  poshname,
const char *  savedname 
)

◆ Sys_FindGameData()

qboolean Sys_FindGameData ( const char *  poshname,
const char *  gamename,
char *  basepath,
int  basepathlen,
qboolean  allowprompts 
)

◆ Sys_ResolveFileURL()

qboolean Sys_ResolveFileURL ( const char *  inurl,
int  inlen,
char *  out,
int  outlen 
)

◆ VFS_GETS()

char * VFS_GETS ( vfsfile_t vf,
char *  buffer,
size_t  buflen 
)

◆ VFS_PRINTF()

void VARGS VFS_PRINTF ( vfsfile_t vf,
const char *  format,
  ... 
)

Variable Documentation

◆ active_fs_cachetype

int active_fs_cachetype

◆ com_gamepath

char com_gamepath[MAX_OSPATH]

◆ com_homepath

char com_homepath[MAX_OSPATH]

◆ com_homepathenabled

qboolean com_homepathenabled

◆ com_installer

qboolean com_installer = false

◆ extension

const char* extension

◆ filesystemhash

hashtable_t filesystemhash

◆ fs_accessed_time

float fs_accessed_time

◆ fs_dlURL

cvar_t fs_dlURL = CVARAFD("sv_dlURL", "", "sv_curl_defaulturl", CVAR_SERVERINFO|CVAR_NOSAVE, "Provides clients with an external url from which they can obtain pk3s/packages from an external http server instead of having to download over udp.")

◆ fs_finds

int fs_finds

◆ fs_hash_dups

int fs_hash_dups

◆ fs_hash_files

int fs_hash_files

◆ fs_manifest

ftemanifest_t* fs_manifest

◆ fs_readonly

qboolean fs_readonly

◆ fs_thread_mutex

void* fs_thread_mutex

◆ gamedirfile

char gamedirfile[MAX_OSPATH]

◆ loadscan

qboolean loadscan

◆ module

void* module

◆ waitingformanifest

int waitingformanifest