Commit graph

5018 commits

Author SHA1 Message Date
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
93c5853356 engine: server: merge SV_FindBestBaseline for normal entities and static entities into single function 2024-12-18 06:57:43 +03:00
Alibek Omarov
98e587285b engine: client: allocate static entities only when server sends static entity packet 2024-12-18 06:57:43 +03:00
Alibek Omarov
2aa13c8347 public: xash3d_mathlib: include string.h with memset definition 2024-12-17 21:58:42 +03:00
Alibek Omarov
53344771fd public: xash3d_mathlib: get rid of matrix identity global macros 2024-12-17 21:01:51 +03:00
Alibek Omarov
2373743920 public: mention FSF in copyright header, as some of the libc extensions callbacks were derived from glibc [skip ci] 2024-12-17 20:41:55 +03:00
Alibek Omarov
90a3497afe public: improve Q_strncat fallback implementation 2024-12-17 20:40:19 +03:00
Alibek Omarov
339aebb08c public: add Q_strnlen with fallback to memchr 2024-12-17 20:03:09 +03:00
Alibek Omarov
b4afe390d6 public: slight refactoring 2024-12-17 19:57:27 +03:00
Alibek Omarov
ca0c5f929a engine: slight refactoring of lightstyle handling functions 2024-12-17 17:04:26 +03:00
Alibek Omarov
48cc526c7e engine: client: fix possible svc_pings misparse by reading until null bit is encountered 2024-12-15 18:22:40 +03:00
Alibek Omarov
3d30dc8d02 mainui: update 2024-12-08 01:58:39 +03:00
Alibek Omarov
75adb2e686 engine: server: for entities physics code directly use cvar values rather than movevars. Leave movevars to player movement only 2024-12-08 01:39:24 +03:00
Alibek Omarov
45787a87b3 android: try to enable poly-opt and lto optimizations for release builds 2024-12-05 22:33:22 +03:00
Alibek Omarov
0a85734ae7 engine: server: avoid useless copying in SV_GetClientIDString for bots or local clients 2024-12-05 19:49:51 +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
5007f8488c engine: host: add simple usage help for -bugcomp flag 2024-12-05 18:29:54 +03:00
Alibek Omarov
f7062498c2 engine: turn old pfnGetGameDir behavior into a bugcomp flag get_game_dir_full
This function is kinda nasty, some mods (like old RCBot builds) expect a slash,
some newer mods (like Sandbot) doesn't. To preserve compatibility with both old
and new mods, just add it as bug compatibility flag.
2024-12-05 18:14:15 +03:00
Alibek Omarov
964744d330 engine: client: fix broken build due to incorrect constant being used 2024-12-05 14:20:43 +03:00
Alibek Omarov
f5d635b67b engine: client: allow VOX words use other formats than WAV 2024-12-05 12:41:56 +03:00
Alibek Omarov
d0112a98b5 engine: client: improve error reporting in VOX_LoadSound, allow longer result paths, fix possible buffer overflow 2024-12-05 12:41:56 +03:00
Alibek Omarov
614b9113ad engine: platform: as an exception, allow calling direct platform-specific implementations of Platform_Sleep to make them inlined 2024-12-04 18:37:55 +03:00
Alibek Omarov
e14cd758ad engine: turn Platform_Sleep into an inline function that directly calls platform-specific delay functions 2024-12-04 18:32:03 +03:00
Alibek Omarov
de1361d99d android: don't show unfinished downloads. Set progress to 1.0f when done 2024-12-04 17:08:55 +03:00
Alibek Omarov
e731775f70 android: cleanup unused imports 2024-12-04 16:27:53 +03:00
Alibek Omarov
342d61b283 engine: platform: sdl: always call SDL_Quit in Platform_Shutdown 2024-12-04 16:14:56 +03:00
Alibek Omarov
b030cdb4e3 engine: client: add NULL check to prevent crash if in_graph key doesn't exist in client.dll 2024-12-03 21:56:06 +03:00
Alibek Omarov
18a973d4f2 engine: server: always set sv_background to zero on server shutdown rather than on server dll unload 2024-12-03 21:02:37 +03:00
Alibek Omarov
51fa7d2611 wscript: strip lib prefix from new opus and vorbis targets, don't link them in dedicated 2024-12-02 21:59:11 +03:00
Alibek Omarov
6b6d3b3770 3rdparty: opusfile: wscript: hack building on Android with API level lower than 24
In API level 21 **and** _FILE_OFFSET_BITS == 64 we don't get fseeko/ftello functions.
To avoid increasing API level, just set _FILE_OFFSET_BITS to some bogus value.
Undefining it doesn't work as opusfile sets it to 64 automatically.
2024-12-02 21:28:36 +03:00
Alibek Omarov
fd5e3fbbb9 android: configure waf with bundled deps to not look for system libs, as Android doesn't have any 2024-12-02 21:10:10 +03:00
Alibek Omarov
6247bbc629 3rdparty: libogg: wscript: remove useless defines 2024-12-02 21:10:00 +03:00
Alibek Omarov
0181e640c9 3rdparty: wscript: set explicit names for correct dependency calc of generated files
This helps avoid issue when the bzip2 or libogg are compiled before header is
generated for them.
In theory, we shouldn't do that, but I guess dependency calculation through
include directives doesn't work when the file doesn't exist.
2024-12-02 21:07:30 +03:00
Alibek Omarov
26230596ba 3rdparty: bzip2: wscript: bring back generating bz_version.h.in now that cmake.py has subst support 2024-12-02 21:07:12 +03:00
Alibek Omarov
884e052d98 scripts: waifulib: cmake: replicate Waf behavior and always add build directories to the include path.
Also, set cmake minimum required version to 3.5 only to shut up deprecation notice.
2024-12-02 21:06:07 +03:00
Alibek Omarov
5516180ed8 scripts: waifulib: cmake: add limited subst feature support 2024-12-02 21:05:59 +03:00
Alibek Omarov
6d00aef398 engine: move soundlib onto client, only leave snd_utils with some functions that's engine core or server are dependent on 2024-12-02 21:05:41 +03:00
Alibek Omarov
2d52dae69c engine: common: soundlib: reformat everything using uncrustify 2024-12-02 21:05:34 +03:00
Alibek Omarov
eb64ffcec9 uncrustify: sync with fakk2-sdk and make some fixes on star ptr alignments 2024-12-02 21:05:28 +03:00
Alibek Omarov
7eba5a994d wscript: specifically look for opus 1.4, as 1.5 have broken custom modes
Link to GitHub issue: https://github.com/xiph/opus/issues/374
2024-12-02 21:05:08 +03:00
Alibek Omarov
c39d2e243a wscript: look for system provided vorbis and opus dependencies
In some configuration, like Flatpak, on dev machines or when packaging for *nix
we can safely link with system libraries.
2024-12-02 21:04:28 +03:00
SNMetamorph
3661af921e readme: added mention of Ogg Vorbis & Ogg Opus formats support 2024-12-02 20:36:33 +03:00
SNMetamorph
4581755f9b 3rdparty: libogg: added generating of config_types.h 2024-12-02 20:36:33 +03:00
SNMetamorph
593b0f295a engine: soundlib: added proper errors reporting for Ogg Opus sound routines 2024-12-02 20:36:33 +03:00
SNMetamorph
7c23b6473c engine: soundlib: added proper errors reporting to Ogg Vorbis sound routines 2024-12-02 20:36:33 +03:00
SNMetamorph
960a3a1483 engine: soundlib: minor codestyle and headers-related fixes 2024-12-02 20:36:33 +03:00
SNMetamorph
485d4324f8 3rdparty: libvorbis & libvorbisfile combined into one wscript 2024-12-02 20:36:33 +03:00
SNMetamorph
881788c0c9 3rdparty: libogg & opusfile wscript fixes 2024-12-02 20:36:33 +03:00
SNMetamorph
73cf55b958 wscript: link sound format related libraries in XASH_DEDICATED build mode 2024-12-02 20:36:33 +03:00
SNMetamorph
b7c2c476a8 engine: soundlib: implemented sound looping feature for Ogg Vorbis 2024-12-02 20:36:33 +03:00