Alibek Omarov
3d60770b84
filesystem: add flag to open files in a RAM
...
On Linux, it uses memfd_create syscall that can be found on Linux 3.17 and
higher. By default memfds are executable, so we set MFD_NOEXEC_SEAL flag to
prevent execution at creation time.
2024-12-19 04:22:25 +03:00
Alibek Omarov
b28c1186b2
filesystem: fix loading dlls by full path as required by metamod-r
2024-12-05 19:20:13 +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
8fd5a5af96
filesystem: simplify ambient number bound check
2024-11-17 13:04:44 +03:00
Alibek Omarov
0313e19674
filesystem: strip upper directory access from FS_FindFile when FS_AllowDirectPath is set to true
...
Detailed explanation is available in the code comments.
2024-10-29 16:13:31 +03:00
Alibek Omarov
2e5bc31c9e
filesystem: set malloc like attribute for imported zone memory allocator functions
2024-09-30 04:00:28 +03:00
Alibek Omarov
a6c7b67d0d
filesystem: include errno.h for Win32
2024-08-17 17:32:50 +03:00
Alibek Omarov
3a67aefee2
filesystem: check rodir too when checking falldir existence too, just in case
2024-08-13 17:25:25 +03:00
Alibek Omarov
d114dffcb4
filesystem: add new gameinfo.txt key: demomap
2024-08-13 17:22:06 +03:00
Alibek Omarov
274f9d5846
filesystem: replace same struct type memcpys by assignments
2024-07-31 00:06:15 +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
7bb5175084
Turn downloaded/ and custom/ into com_strings.h definitions, like sound path and saves path
2024-07-30 15:25:20 +03:00
Alibek Omarov
963cbf61e4
filesystem: fix loading libraries from archives on Windows
2024-07-21 01:49:34 +03:00
Alibek Omarov
17950fec3e
filesystem: make engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
2a394eee62
filesystem: make g_api const
2024-07-16 15:23:03 +03:00
Alibek Omarov
64716e6b42
filesystem: request win32 error string in wide chars and then transform it to UTF-8 using our utflib
2024-07-09 08:25:15 +03:00
Alibek Omarov
efee8149e2
filesystem: remove unneeded cast to fs_offset_t in write() call
2024-07-04 07:23:13 +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
42f6719e8d
filesystem: drop direct path hacks for WAD files, let VFS decide how to open WAD archives
2024-06-27 05:55:06 +03:00
Alibek Omarov
d56e53a347
Replace hardcoded functions names by __func__ macro
...
* while we're here, fix some possible bugs
* and fix -Wformat=2
s/__FUNCTION__/__func__/g
awawawa
2024-06-19 06:53:42 +03:00
Alibek Omarov
04136d95a3
filesystem: fix build warning
2024-06-02 10:33:33 +03:00
Alibek Omarov
24f4d410ce
filesystem: take FS_Read improvements from DarkPlaces and proper fix for buffer overflow
2024-05-15 03:43:02 +03:00
Alibek Omarov
3917c2589d
filesystem: fix buffer overflow in FS_Read when we pass single byte buffer to it with one character sitting in ungetc
2024-05-15 02:45:01 +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
e039ef35c0
filesystem: don't check for SDL whether we can load Android assets, because filesystem doesn't know anything about SDL
...
Replace it with runtime check instead.
2024-03-11 23:25:10 +03:00
mittorn
d97d4d6c42
filesystem: add XASH_ANDROID_ASSETS macro for aassets switch
2024-02-27 04:04:54 +03:00
Alibek Omarov
827c9ca857
filesystem: restore original Xash behavior with unreferenced keys in gameinfo.txt/liblist.gam
2024-02-23 20:54:32 +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
bb03e2597c
filesystem: allow to pass custom allocation functions to LoadFile
2024-02-07 23:22:27 +03:00
Alibek Omarov
b077822f4d
filesystem: fix -Wmissing-prototypes
2024-01-28 09:55:18 +03:00
Alibek Omarov
315aea1991
filesystem: support mods liblist.gam/gameinfo.txt with relative paths to game libs
2024-01-05 04:34:33 +03:00
Alibek Omarov
c926fee13c
filesystem: report an error when opening file was unsuccessful, with the exception for non-existent files
2023-12-11 07:10:51 +03:00
Alibek Omarov
9994c57796
filesystem: fix updating gameinfo.txt from rodir
2023-12-04 03:00:51 +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
9c1afaa372
filesystem: fix noskills being written as nomodels in gameinfo.txt
2023-11-22 11:01:18 +03:00
Alibek Omarov
722cbe1f02
filesystem: forgot to add defaults.h include
2023-11-20 18:52:05 +03:00
Alibek Omarov
dd11f73951
filesystem: respect DEFAULT_MAX_EDICTS value
2023-11-20 17:32:35 +03:00
Alibek Omarov
0d37244490
filesystem: add missing const to 2nd argument of stringlistappend
2023-11-03 16:23:52 +03:00
Velaron
6426919cb5
filesystem: add Android assets support
2023-11-03 16:23:03 +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
83a5648335
filesystem: only allow setting true or false for boolean type keys in gameinfo/liblist.gam
2023-10-27 07:24:42 +03:00
Alibek Omarov
8bdb49516d
filesystem: fix stringop-overflow
2023-08-06 00:44:32 +03:00
Alibek Omarov
1bfc6e6705
filesystem: try to fix case of library filename in FindLibrary
2023-07-22 07:04:26 +03:00
Alibek Omarov
e7c41759fb
Revert "filesystem: allow to reference game libraries in different case"
...
This reverts commit 43fde38d88
.
2023-07-22 06:39:23 +03:00
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