Alibek Omarov
a5f0ca38f1
engine: remove inclusion of SDL headers globally, helps to cleanup code before SDL3 migration
2025-02-28 13:14:47 +03:00
Alibek Omarov
052ea6a8bd
engine: platform: introduce for Platform_NanoSleep, to be used for better sleeping in between frames for lowering CPU usage
2025-02-15 10:11:17 +03:00
Alibek Omarov
75b15696f8
engine: zone: ensure memheader_t size is always expected
2025-02-15 09:31:20 +03:00
Alibek Omarov
bc1b86c19c
engine: server: refactor SV_ConnectClient, simplify LAN IP check
2025-02-15 08:01:44 +03:00
Alibek Omarov
89430400d9
engine: sys_con: only allow names that start with either alphabetic or numerical character for a log file
2025-02-14 01:51:50 +03:00
Alibek Omarov
f1a9d408bf
engine: sys_con: check if the next argument after -log starts with minus and ignore it if it does
2025-02-14 00:50:01 +03:00
Alibek Omarov
6529692244
engine: disable timestamps in log file by default, allow changing log file name with -log argument
2025-02-14 00:28:00 +03:00
Alibek Omarov
64ee956618
engine: fix a typo
2025-02-11 20:06:15 +03:00
Alibek Omarov
39659644bf
public: merge calc bone quaternion and position into single function
...
Expect that only adj and output quaternion can be NULL.
2025-02-11 18:57:08 +03:00
Alibek Omarov
627444279f
Revert "common: cvar: make auto descriptions private to cvar subsystem, use them when Cvar_Get is called with NULL description"
...
This reverts commit ade560c601
.
2025-02-10 12:49:05 +03:00
Alibek Omarov
32aa1f91bf
engine: pass argv0 to crash handler setup, which is required for libbacktrace integration
...
Fix indentation in crash_posix.c
2025-02-09 15:36:49 +03:00
Alibek Omarov
1bfee70477
engine: con_utils: add autocompletion for cvar commands like set, reset and toggle
2025-02-08 16:45:52 +03:00
Alibek Omarov
2b2c967e85
engine: add ms3.mentality.rip master server
2025-02-07 19:32:37 +03:00
Alibek Omarov
add02dc6f9
engine: fix potential UB in netadr_t
2025-02-06 20:54:18 +03:00
Alibek Omarov
d4c34abd6e
engine: enable writing log even if console hasn't been enabled at the engine startup (it might be enabled later, it might also contain crash data)
2025-02-06 20:03:07 +03:00
Alibek Omarov
ade560c601
common: cvar: make auto descriptions private to cvar subsystem, use them when Cvar_Get is called with NULL description
...
It allows us to not lose engine-side description when client or gameui registers cvar with the same name. In case of
menu it's the only way to get cvar pointer.
2025-02-05 19:11:16 +03:00
Alibek Omarov
62e3ba2126
engine: add cvars to control mounting additional directories
...
Use existing ui_language cvar for mounting localization folders.
2025-02-05 18:54:28 +03:00
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
185bce0489
engine: common: remove unused D_ enum used for MsgDev in old engine. Make sure all enums and structs here are not anonymous
2025-02-02 20:26:07 +03:00
Alibek Omarov
11742efbc3
engine: fix player move on dedicated servers
2025-02-02 08:08:15 +03:00
Alibek Omarov
694c630b44
engine: zone: don't error when trying to free NULL pointer, like standard C free() and C++ delete
2025-02-01 17:51:02 +03:00
Alibek Omarov
b16037eabf
engine: drop raw SDL joystick API, always use GameController instead. Implement actually working rumble, ensure we're freeing up all resources related to gamepads
2025-01-31 17:50:19 +03:00
SNMetamorph
c0f1d8c647
engine: model: fixed incorrect check in Mod_LoadModel
2025-01-26 23:27:18 +03:00
Alibek Omarov
ad6db91285
engine: move xashid stuff onto client
2025-01-25 17:51:48 +03:00
Alibek Omarov
7da9772143
engine: check for macOS bundle in SDL_GetBasePath, and fallback to SDL_GetPrefPath for our directory
2025-01-23 22:58:19 +03:00
Alibek Omarov
f0b29bac1b
engine: client: add cl_trace_consistency used to print which resources server wants to check
2025-01-23 13:57:17 +03:00
Alibek Omarov
c86c45503f
engine: replace few more Xash3D strings by XASH_ENGINE_NAME macro
2025-01-23 10:33:22 +03:00
Alibek Omarov
ef75a4c28d
engine: rename pref path on Mac to Xash3D FWGS by allowing for custom branding through XASH_ENGINE_NAME macro
2025-01-23 10:24:55 +03:00
Alibek Omarov
bccd3f2271
engine: pass launcher's default game directory all the way down to Platform_Init, so we mount correct extras.pk3 on Mac
2025-01-23 10:22:53 +03:00
Tom Kidd
7bbc3e8238
Made modifications for Mac App Bundle
...
- Looks for game data in SDL pref path (Application Support)
- Sets XASH3D_EXTRAS_PAK1 to SDL base path (Resources dir in App Bundle
- Added option to force search for SDL dylib via pkgconfig on Darwin instead of Framework (option for Mac Source Ports build process)
2025-01-23 10:15:47 +03:00
Alibek Omarov
c34e0c66d9
engine: add fuzzing target for Mod_LoadModel
2025-01-23 10:12:32 +03:00
Alibek Omarov
1e075d25b7
engine: make LZSS compression optional for 49 protocol, disable it for local clients (singleplayer)
2025-01-22 21:18:19 +03:00
Alibek Omarov
f6f15cc204
engine: mod_studio: validate studio self-reported length before loading model
2025-01-22 20:00:13 +03:00
Alibek Omarov
9f322df498
engine: imagelib: handle loading truncated palette files, by filling remaining bytes with zeros
2025-01-22 19:21:51 +03:00
Alibek Omarov
c2da140ccc
engine: model: do not crash if renderer refused to load this model
2025-01-22 19:12:43 +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
787444f63d
engine: simplify sound fx allocation
2025-01-22 14:46:40 +03:00
Alibek Omarov
0c50076ff0
engine: zone: ensure poolcount is zero on Memory_Init
2025-01-22 13:49:51 +03:00
Alibek Omarov
8ce01c38c7
engine: http: ensure we don't write broken decompressed files
2025-01-22 13:49:24 +03:00
Alibek Omarov
fc017286a6
engine: base_cmd: slightly faster search based on assumption that list is always ordered
2025-01-22 05:41:52 +03:00
Alibek Omarov
20d4e3e719
engine: fix flexible array member usage in case of null terminated strings
...
(woops)
2025-01-22 05:41:52 +03:00
Alibek Omarov
4eaa32fc10
engine: whereami: sync with upstream
2025-01-21 20:03:20 +03:00
Alibek Omarov
273990d292
engine: cmd: store command description in flexible array member
2025-01-21 15:06:08 +03:00
Alibek Omarov
8a9b209db0
engine: zone: optimize memory usage a bit by compressing memheader_t better while keeping it efficient
...
It saves about 40 kilobytes of memory.
2025-01-21 14:04:33 +03:00
Alibek Omarov
232d1f8583
engine: make separate mempools for cmds, cvars and basecmd
2025-01-21 11:26:35 +03:00
Alibek Omarov
6cfa5877a4
engine: base_cmd: decrease base cmd hash size
2025-01-21 11:25:33 +03:00
Andrey Akhmichin
d278d3bdd7
engine: common: fix clang build.
2025-01-19 04:33:06 +03:00
Alibek Omarov
7811b60292
engine: common: fix build for apple and freebsd-15
2025-01-18 10:40:12 +03:00
Alibek Omarov
3e93aa459d
engine: net_buffer: turn bit write and read masks into predefined arrays, so we don't have to call InitMasks
...
In future, net_buffer might get moved to libpublic.
Also, get rid of 32-th bit write mask, it's only get used when we're trying to
write zero bits value which is nonsense.
2025-01-18 09:54:11 +03:00
Alibek Omarov
5b9db5940b
engine: mod_bmodel: don't try to load luma/fullbright texture for water, as no renderers support it anyway, and instead we will use that field for rippletexture
2025-01-18 08:30:59 +03:00