Alibek Omarov
43fde38d88
filesystem: allow to reference game libraries in different case
2023-07-22 00:19:37 +03:00
Alibek Omarov
788bc820c8
filesystem: automatically fixup directory name case for base directories
2023-07-17 05:52:06 +03:00
Alibek Omarov
cd46ad19a3
filesystem: expose a special flag for archive mounter to skip included WADs
2023-07-05 07:00:39 +03:00
Alibek Omarov
6f7b1695d7
filesystem: expose archive mount generic function for Xar
2023-07-05 07:00:39 +03:00
Alibek Omarov
031594cc99
filesystem: update max_particles limits based on Unkle Mike's latest engine version
2023-07-02 06:36:35 +03:00
Alibek Omarov
d4bf57c7c2
filesystem: delete unused edicts key handler in liblist.gam parsing
2023-07-02 06:36:09 +03:00
Alibek Omarov
8e16c0e410
filesystem: simplify common parsing of type key for liblist.gam and gameinfo.txt
2023-07-02 06:35:34 +03:00
Alibek Omarov
88c560aac4
filesystem: add two new gameinfo.txt keys quicksave_aged_count and autosave_aged_count that control the amount of quick/autosaves rotated
2023-07-02 04:53:16 +03:00
Alibek Omarov
c3a6cad0c1
filesystem: do not print error in FS_Delete if file doesn't exist
2023-07-02 04:49:33 +03:00
Alibek Omarov
5a4c443c79
filesystem: fix regression in FS_LoadFile not skipping leading slashes
...
Earlier it used FS_Open which handles this, but because we don't call
that anymore, just skip it ourselves for compatibility.
2023-06-20 14:11:55 +03:00
Alibek Omarov
58df771c9e
filesystem: implement .pk3dir convention
2023-06-08 22:58:24 +03:00
Alibek Omarov
37e890f326
filesystem: make fs_searchpaths completely private to the filesystem core
2023-06-08 22:30:45 +03:00
Alibek Omarov
0d6137ee40
filesystem: make generic archive loading functions (with the exception of WADs). Do not alter global searchpath from archives.
2023-06-08 22:14:30 +03:00
Alibek Omarov
653eb00cc6
filesystem: unify prototypes of archive opening functions
2023-06-08 20:02:48 +03:00
Alibek Omarov
02ce80981c
filesystem: update optional funcs interface, add platform-specific GetNativeObject call
2023-06-05 20:30:18 +03:00
Alibek Omarov
e791d44dd8
filesystem: properly support compressed archives in FS_LoadFile
2023-05-27 20:46:48 +03:00
Alibek Omarov
152f6d154c
filesystem: remove unused argument from FS_CheckNastyPath
2023-05-27 20:22:12 +03:00
Alibek Omarov
9cd9744407
filesystem: fix Windows build
2023-05-27 19:40:44 +03:00
Alibek Omarov
f13c285287
filesystem: verbose error printing in FS_SetCurrentDirectory, move error reporting from engine
2023-05-26 22:29:34 +03:00
Alibek Omarov
cca7744f1c
filesystem: make some calls from API safe to use without initialize
2023-05-26 18:31:00 +03:00
Alibek Omarov
31ae22961b
filesystem: add base test case to call ShutdownStdio without calling Init prior
2023-05-26 18:30:13 +03:00
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
2023-05-14 08:21:17 +03:00
Alibek Omarov
5a7b68fcc1
filesystem: add new export FS_GetFullDiskPath, similar to FS_GetDiskPath, but generates full path to the file, including searchpath
2023-05-02 08:52:54 +03:00
Alibek Omarov
e2540bd446
filesystem: turn unused caseinsensitive argument in InitStdio into a reserved argument (set to true by default)
2023-04-30 10:14:02 +03:00
Alibek Omarov
07fd4f37ef
engine: remove unused -caseinsensitive command line argument
2023-04-30 10:14:02 +03:00
Alibek Omarov
71a3cedba8
filesystem: add size argument to COM_Default/ReplaceExtension calls
2023-04-26 05:20:45 +03:00
Alibek Omarov
b16fa8eddc
public: remove Q_strcat and Q_strcpy, and patch the code that uses it
2023-04-26 05:20:45 +03:00
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.
2023-04-23 18:19:28 +03:00
Alibek Omarov
eb0686fca1
filesystem: fix wrong data type for character in Gets and Ungetc
2023-04-18 04:47:55 +03:00
Alibek Omarov
de88aec958
filesystem: restore DarkPlaces contributors copyrights lost in filesystem_stdio
...
* Add Xash3D FWGS contributors copyrights
2023-04-15 02:39:38 +03:00
Alibek Omarov
e673fe9a02
filesystem: only create readwrite directories if they look like a gamedirectory in rodir
2023-03-25 03:27:32 +03:00
Andrey Akhmichin
34160151a4
filesystem: replace va function calls.
2023-03-11 16:28:54 +03:00
Alibek Omarov
3c27384b6b
filesystem: speedup fs_ext_path case in FS_FindFile
2023-02-13 06:49:52 +03:00
Alibek Omarov
e95161aa14
filesystem: fix ClearSearchPath
2023-02-12 17:09:53 +03:00
Alibek Omarov
9c0c1a802c
filesystem: fix strict order of loading archives
2023-01-15 13:12:39 +03:00
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
2023-01-10 04:51:34 +03:00
Alibek Omarov
b4c0ccbede
filesystem: fix _wstat usage under Windows, remove PATH_SEPARATOR usage, fix listdirectory
2023-01-04 22:33:59 +03:00
Alibek Omarov
15846a8ea8
filesystem: use POSIX funcs for Windows too, where possible, apply wide char conversion for Sys functions
2023-01-04 18:10:33 +03:00
Alibek Omarov
03a3fb83b6
filesystem: write extended fields to gameinfo.txt, as this function is used to write game info when using rodir
2023-01-03 07:34:05 +03:00
Alibek Omarov
c454e37064
filesystem: allow to init with NULL overrides
2022-12-27 02:31:46 +03:00
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
2022-12-27 02:31:46 +03:00
Alibek Omarov
3393e2d95c
filesystem: implement directory entries caching, to avoid excessive directory listing syscalls to emulate case-insensitive filesystems
...
* simplify game directory initialization code
2022-12-27 02:31:46 +03:00
Alibek Omarov
18e68f1ab3
filesystem: fix missing cast
2022-12-20 16:34:23 +03:00
Alibek Omarov
f1ec612819
filesystem: hungry
2022-12-15 01:06:20 +03:00
Alibek Omarov
48c17d08d9
filesystem: dir: move searchpath initialization to dir.c, make all DIR functions static
2022-12-15 00:52:09 +03:00
Alibek Omarov
934d9ba69a
filesystem: fix FS_GetDiskPath
2022-12-12 06:54:42 +03:00
Alibek Omarov
eb36fe0155
filesystem: fill searchpath DIR functions only if file was found in direct path
2022-12-05 03:22:07 +03:00
Alibek Omarov
9381a40506
filesystem: check only DLLs for encryption
2022-12-05 03:22:07 +03:00
Andrey Akhmichin
0c4f35e2d0
filesystem: simplify strings operations.
2022-12-04 22:08:06 +03:00
SNMetamorph
a2971ce939
filesystem: fixed uninitialized pointers in FS_FindFile when fs_ext_path enabled
2022-11-26 02:45:18 +03:00