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