Alibek Omarov
9cd9744407
filesystem: fix Windows build
1 year ago
Alibek Omarov
f13c285287
filesystem: verbose error printing in FS_SetCurrentDirectory, move error reporting from engine
1 year ago
Alibek Omarov
cca7744f1c
filesystem: make some calls from API safe to use without initialize
1 year ago
Alibek Omarov
31ae22961b
filesystem: add base test case to call ShutdownStdio without calling Init prior
1 year ago
Alibek Omarov
d0127e5e14
filesystem: fix FS_GetDiskPath, it was broken since implementing caseinsensitive emulation, oops
...
Anyway, FS_GetFullDiskPath is a proper safe version that lacks this bug
2 years ago
Alibek Omarov
5a7b68fcc1
filesystem: add new export FS_GetFullDiskPath, similar to FS_GetDiskPath, but generates full path to the file, including searchpath
2 years ago
Alibek Omarov
e2540bd446
filesystem: turn unused caseinsensitive argument in InitStdio into a reserved argument (set to true by default)
2 years ago
Alibek Omarov
07fd4f37ef
engine: remove unused -caseinsensitive command line argument
2 years ago
Alibek Omarov
71a3cedba8
filesystem: add size argument to COM_Default/ReplaceExtension calls
2 years ago
Alibek Omarov
1603b8028c
filesystem: add size argument to COM_FileBase calls
2 years ago
Alibek Omarov
b16fa8eddc
public: remove Q_strcat and Q_strcpy, and patch the code that uses it
2 years ago
Alibek Omarov
096ee34f67
public: remove Q_vsprintf, replace by proper Q_vsnprintf proper calls
...
Fixes weird off by one error caused by glibc updates? I didn't tracked
what causes it exactly but replacing it seems to work. Anyway, we should
remove all 99999 hacks in libpublic.
2 years ago
Alibek Omarov
0d5d30398b
filesystem: VFileSystem009: refactoring
2 years ago
Alibek Omarov
eb0686fca1
filesystem: fix wrong data type for character in Gets and Ungetc
2 years ago
Alibek Omarov
558ded6d6a
filesystem: tests: interface: use correct type for module on Win32
2 years ago
Alibek Omarov
c157b7def3
filesystem: tests: interface: various fixes
...
* correctly check success variable value in CreateInterface
* get rid of C language quirks because this file is C++
* check that globals were filled
2 years ago
Alibek Omarov
de88aec958
filesystem: restore DarkPlaces contributors copyrights lost in filesystem_stdio
...
* Add Xash3D FWGS contributors copyrights
2 years ago
Alibek Omarov
46e2ccd2bf
filesystem: wscript: check interface test before everything else
...
It makes sense since we're using sequential execution here anyway
2 years ago
Alibek Omarov
d86ab19351
wscript: refactoring, replace --enable-fs-tests with --enable-tests
...
* Run filesystem tests in sequential order, to avoid tests being run
before filesystem_stdio DLL is linked
* Include new interface test in filesystem
2 years ago
Alibek Omarov
db40d58208
filesystem: add test for probing all interfaces
2 years ago
Alibek Omarov
127bd89b44
filesystem: remove unused watch.c file, added by mistake from inotify branch
2 years ago
Alibek Omarov
e673fe9a02
filesystem: only create readwrite directories if they look like a gamedirectory in rodir
2 years ago
Andrey Akhmichin
34160151a4
filesystem: replace va function calls.
2 years ago
fgsfds
577add56f1
filesystem: fs is non case sensitive on nswitch and psvita
2 years ago
fgsfds
7424b29e56
engine: initial psvita build support
2 years ago
Alibek Omarov
3c27384b6b
filesystem: speedup fs_ext_path case in FS_FindFile
2 years ago
Alibek Omarov
1e8c26a527
filesystem: wad: fix loading WADs by absolute paths
2 years ago
Alibek Omarov
e95161aa14
filesystem: fix ClearSearchPath
2 years ago
Alibek Omarov
9cb867a7d4
filesystem: wad: print errno if wad can't be opened
2 years ago
Alibek Omarov
9c0c1a802c
filesystem: fix strict order of loading archives
2 years ago
Alibek Omarov
eb0459a045
engine: strip Intel suffixes from server library name, but only on special platforms
...
Remove same code from filesystem, it's not what filesystem should do
2 years ago
Alibek Omarov
34eb258cae
filesystem: dir: remove PATH_SEPARATOR, fix return value when directory is caseinsensitive
2 years ago
Alibek Omarov
b4c0ccbede
filesystem: fix _wstat usage under Windows, remove PATH_SEPARATOR usage, fix listdirectory
2 years ago
Alibek Omarov
15846a8ea8
filesystem: use POSIX funcs for Windows too, where possible, apply wide char conversion for Sys functions
2 years ago
Alibek Omarov
e694081626
filesystem: dir: guarantee file existense in FS_FixFileCase for caseinsensitive directories
2 years ago
Alibek Omarov
cb9605430d
filesystem: bump FS_API_VERSION (removed unused argument from SysFileExists)
2 years ago
Alibek Omarov
409edf5a70
filesystem: zip: use stdint types, use enum for errors
2 years ago
Alibek Omarov
03a3fb83b6
filesystem: write extended fields to gameinfo.txt, as this function is used to write game info when using rodir
2 years ago
Alibek Omarov
e5763e2e9a
filesystem: dir: check dir casesensitivity after dir entries list was properly initialized
2 years ago
Alibek Omarov
42a3c7b059
filesystem: dir: fix dir entry cache init in case of directory was empty previously
2 years ago
Alibek Omarov
339711c3c7
filesystem: dir: check casefold directory flag
2 years ago
Alibek Omarov
2febe632c5
filesystem: add caseinsensitive emulation test
2 years ago
Alibek Omarov
c454e37064
filesystem: allow to init with NULL overrides
2 years ago
Alibek Omarov
fe1aba3561
filesystem: apply caseinsensitivity to file creation
...
Replace fs_writedir with fs_writepath, exposing current writeable searchpath.
Fix caseinsensitive FS_Search
Remove unused argument from listdirectory()
Minor optimizations and refactoring
2 years ago
Alibek Omarov
b36ebc294f
filesystem: dir: exit from loop immediately if directory is caseinsensitive
2 years ago
Alibek Omarov
3d71e5d111
filesystem: dir: fix merging existing cache with new directory entries
2 years ago
Alibek Omarov
ac59f25375
DO NOT MERGE filesystem: add naive FixFileCase
2 years ago
Alibek Omarov
3393e2d95c
filesystem: implement directory entries caching, to avoid excessive directory listing syscalls to emulate case-insensitive filesystems
...
* simplify game directory initialization code
2 years ago
Alibek Omarov
18e68f1ab3
filesystem: fix missing cast
2 years ago
Alibek Omarov
ee218f36e0
filesystem: pak: no need to free files ptr anymore
2 years ago