Alibek Omarov
674a4e5883
filesystem: add ability to mount HD, LV, addon and language folders by engine request
2025-02-05 18:24:36 +03:00
Alibek Omarov
375998dffb
Cleanup xash3d_types.h from engine-specific macros and types
2025-01-22 15:10:18 +03:00
Alibek Omarov
cfebb3e1d6
filesystem: massively rework how scanning game directories work
...
* No more conversion from liblist.gam to gameinfo.txt. We are using liblist.gam directly now.
gameinfo.txt being native format to Xash3D not only remains, it takes priority over liblist.gam.
* Quake game directories now don't receive autogenerated gameinfo.txt.
* Empty directories don't get gameinfo.txt either, finally making it easier to support HD addon folders.
* If user still wishes to generate gameinfo.txt, there is now command fs_make_gameinfo that creates
gameinfo.txt for currently running game.
* No more creating empty folders for RoDir. They are now created on demand.
2025-01-08 01:22:23 +03:00
Alibek Omarov
4798cd6d1e
filesystem: add new export to get fs_rootdir path
2024-11-30 09:28:30 +03:00
Alibek Omarov
b94446161e
filesystem: add functions to directly look up into archives
2024-11-23 13:56:53 +03:00
Alibek Omarov
d15949d2e8
Rename _format to FORMAT_CHECK
2024-11-07 14:24:07 +03:00
Alibek Omarov
9ee1b32e2d
engine: set malloc like and warn_unused_result attributes on common allocation functions, fs, image and soundlib
2024-09-30 04:00:28 +03:00
Alibek Omarov
2df01316ce
engine: client: add two new APIs for mainui to get extended new gameinfo structure
2024-08-13 18:28:07 +03:00
Alibek Omarov
d114dffcb4
filesystem: add new gameinfo.txt key: demomap
2024-08-13 17:22:06 +03:00
Alibek Omarov
52f9aad4d0
filesystem: add new call to fs_stdio C API to check whether we support that archive format
2024-07-30 15:25:20 +03:00
Alibek Omarov
17950fec3e
filesystem: make engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
c73fa3d7a6
filesystem: fix mounting wads again
...
Because of the mounting order, VFS fails to automatically find unpacked WADs
2024-06-28 18:00:40 +03:00
Alibek Omarov
5694610478
filesystem: fix writedir being prepended to rodir path when searching for library
...
* Refactor generating shortName
* Refactor library origin checks
2024-06-27 08:16:56 +03:00
Alibek Omarov
ec107dfba5
filesystem: load on-disk archives like PAK and PK3 through VFS (disk-only for now)
...
* Track from which archive the file has been opened and provide needed functions for it
2024-06-27 07:31:11 +03:00
Alibek Omarov
60c6767337
filesystem: copy absolute path to library in FS_FindLibrary for compatibility
...
Extend fullPath for longer absolute paths.
2024-04-22 04:02:46 +03:00
Alibek Omarov
636a2228f6
filesystem: add new API function LoadFileMalloc that returns a pointer that can be freed using standard free()
2024-02-07 23:22:27 +03:00
Alibek Omarov
683c4874f8
common: add ALLOC_CHECK macro that enables attribute alloc_size on GCC that allows to prevent suspicious allocation sizes
2023-12-09 19:00:25 +03:00
Alibek Omarov
fb0102eb8e
filesystem: add support for two new liblist.gam keys: animated_title and hd_background
2023-11-22 11:01:18 +03:00
Alibek Omarov
597429cf41
engine, filesystem: unify GetNativeObject between all the APIs. Allow getting filesystem APIs through GetNativeObject
2023-10-31 21:25:11 +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
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
02ce80981c
filesystem: update optional funcs interface, add platform-specific GetNativeObject call
2023-06-05 20:30:18 +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
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
cb9605430d
filesystem: bump FS_API_VERSION (removed unused argument from SysFileExists)
2023-01-04 18:07:18 +03:00
Alibek Omarov
b1ee27a3f3
filesystem: add new token internal_vgui_support to mark client dlls that have internal VGUI implementation(to support other UI systems)
2022-11-12 16:35:18 +03:00
Alibek Omarov
234c843f60
filesystem: integrate inotify for file changes
2022-09-10 22:55:07 +03:00
Alibek Omarov
fce8afabfb
filesystem: allow acquiring C interface through CreateInterface export
2022-08-25 20:33:16 +03:00
Alibek Omarov
5e4fc64430
filesystem: introduce new module, based on engine filesystem.
...
The goal is to share filesystem code between engine and
utilities and provide C++ VFileSystem interface in the future
2022-07-28 18:56:02 +03:00