Alibek Omarov
f41450127a
Documentation: add note about pkg-config when compiling for Windows under Wine
2024-12-24 09:59:09 +03:00
Alibek Omarov
70897af362
public: add dll helpers to simplify basic interaction with exported functions lists
2024-12-23 04:43:15 +03:00
Alibek Omarov
f1d7101ad8
engine: client: get rid of NULL sentinels at the end of arrays
2024-12-22 07:43:26 +03:00
Alibek Omarov
ac9d960eef
engine: common: get rid of NULL sentinels at the end of arrays
2024-12-22 07:22:10 +03:00
Alibek Omarov
0c471aecb1
engine: common: imagelib: get rid of NULL sentinels at the end of arrays
2024-12-22 07:21:06 +03:00
Alibek Omarov
72d0d70587
engine: server: get rid of NULL sentinels at the end of arrays
2024-12-22 07:12:32 +03:00
Alibek Omarov
bec526a77e
utils: xar: fix xar build
2024-12-22 07:11:53 +03:00
Alibek Omarov
4d1119391a
ref: gl: get rid of NULL sentinels at the end of arrays
2024-12-22 07:11:28 +03:00
Alibek Omarov
1dd622fcbb
engine: client: keys: refactoring, remove NULL sentinels, make keys structs and few more functions private to keys.c file
2024-12-21 15:22:48 +03:00
Alibek Omarov
af4b64983a
engine: fix a typo in Cmd_AddFilteredCommand flags passed to Cmd_AddCommandEx. Make them return Cmd_AddCommandEx value
2024-12-21 15:01:04 +03:00
Alibek Omarov
e751092555
engine: common: cmd: consider filtered buffer privileged when we're running local singleplayer game
2024-12-20 05:48:33 +03:00
Alibek Omarov
ce06b1d3d7
engine: client: allow CL_GetLocalPlayer to return NULL rather than halting whole server
2024-12-20 05:47:46 +03:00
Alibek Omarov
a834f4996f
engine: move client adding functions to their appropriate subsystems and make them static. Make in-engine functions inlined.
2024-12-20 05:47:46 +03:00
Alibek Omarov
fdcf267fe3
engine: client: fix usermessage being removed because of case-sensitivity (message names are case-insensitive when transferred from server to client)
2024-12-20 03:05:14 +03:00
Alibek Omarov
7f2ebd1b5e
engine: server: add command sv_list_messages to print all registered user messages
2024-12-20 02:37:38 +03:00
Alibek Omarov
68b2d9f269
engine: server: fix possible message number inconsistency if server requested it twice
2024-12-20 02:37:01 +03:00
Alibek Omarov
3f1eed9f59
engine: client: remove svc_goldsrc_* definitions for message that semantics matches Xash3D 49 protocol and instead use it's definitions
2024-12-20 01:51:24 +03:00
Alibek Omarov
0637dbaab1
engine: client: refactor and simplify CL_RegisterUserMessage
2024-12-20 01:51:24 +03:00
Alibek Omarov
85388e97c1
engine: client: add command cl_list_messages to print all registered user messages
2024-12-20 01:51:24 +03:00
Alibek Omarov
de961eb45e
engine: client: use new extension for creating temporary files for demoheader
2024-12-19 07:10:02 +03:00
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
8b4b0479c8
ci: enable ffmpeg by default for Windows and Linux x86 targets
2024-12-13 03:04:32 +03:00
Alibek Omarov
c8bf7e5630
engine: avi: get rid of stubs file, temporarily put these stubs into avi_ffmpeg.c
2024-12-13 03:04:32 +03:00
Alibek Omarov
4987080e1e
engine: client: remove unused S_RawSamples wrapper function
2024-12-13 03:04:32 +03:00
Alibek Omarov
1d78e400ff
engine: sound: increase MAX_RAW_SAMPLES to 16384 to fit an audio track coming from the movies
2024-12-13 03:04:32 +03:00
Alibek Omarov
2d1a885954
common: render_api: use movie_state_s in AVI functions for easier type checking
2024-12-13 03:04:32 +03:00
Alibek Omarov
43ba2e747b
engine: avi: mention SDL3 and FTEQW developers which ffmpeg integrations in their projects helped me to understand the ffmpeg API
2024-12-13 03:04:32 +03:00
Alibek Omarov
eefb823ee2
engine: client: remove legacy movie audio track streaming functions
2024-12-13 03:04:32 +03:00
Alibek Omarov
a3c33e0fa9
engine: client: sound: make S_RawSampleStereo public to other parts of engine
2024-12-13 03:04:32 +03:00
Alibek Omarov
16fe6b1b1a
engine: client: avi: remove VFW-based player
2024-12-13 03:04:32 +03:00
Alibek Omarov
4275829bd5
engine: client: partially rework how AVI playback works in Xash. Add ffmpeg-based player.
...
This intentionally will not build without --enable-ffmpeg for now.
We add new functions to the RenderAPI called AVI_Think and AVI_SetParm. Game
developer is supposed to call AVI_Think each frame and set video playback
parameters through AVI_SetParm function.
What's tested:
* Intro cinematics.
* Looping videos.
* Playing back an hour long video.
* API extension (PrimeXT's avi branch at https://github.com/a1batross/PrimeXT ).
What's broken:
* There is no way to seek a video file, only rewind to the start.
2024-12-13 03:04:32 +03:00
Alibek Omarov
1884f0a3ce
engine: client: avi: add new macro XASH_AVI and corresponding backend select macros (AVI_NULL and AVI_FFMPEG)
2024-12-09 00:27: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