3458 Commits

Author SHA1 Message Date
Alibek Omarov
334bebb1fb engine: use memcpy when reading sprite model to avoid unaligned access 2026-05-17 12:34:21 +05:00
Alibek Omarov
92bad81d9a engine: client: fix off-by-one 2026-05-17 11:48:20 +05:00
Alibek Omarov
4c667d9d8c engine: client: bound current_position with HISTORY_MASK, in case of something passes invalid values 2026-05-17 11:45:22 +05:00
Alibek Omarov
cb04e9cbd5 engine: server: also use constant time string comparison for sv_password 2026-05-17 11:26:53 +05:00
Alibek Omarov
c2c781f039 engine: server: harden rcon, use constant time comparison, do not output untrusted data to log 2026-05-17 11:23:55 +05:00
Alibek Omarov
fe2019ee06 engine: common: add more cases to COM_IsSafeToDownload 2026-05-17 11:20:00 +05:00
Alibek Omarov
e5c091c303 engine: client: fix off-by-one error in CL_ParseResource 2026-05-17 11:17:42 +05:00
Alibek Omarov
9d050e7ed3 engine: limit decompressed buffer alloc size to 64MiB 2026-05-17 11:17:23 +05:00
Alibek Omarov
be35b3503e engine: limit maximum amount of pending fragbufs 2026-05-17 10:54:51 +05:00
Alibek Omarov
5fad4ae6ca engine: client: mark rcon and connect commands privileged 2026-05-17 10:51:44 +05:00
Alibek Omarov
9082a47348 engine: validate paths before downloading 2026-05-17 10:41:59 +05:00
Alibek Omarov
8120669e5b engine: restore bounds check in Delta_FindStructByIndex, as it gets passed arbitrary numbers too 2026-05-16 21:27:51 +05:00
Alibek Omarov
fb6c4a224c engine: check for overflow in split packet reassembly 2026-05-16 21:13:47 +05:00
Alibek Omarov
166763a887 engine: common: limit amount of delta encoded fields by 64 in GoldSrc protocol (because this is the maximum it allows anyway) 2026-05-16 21:12:49 +05:00
Alibek Omarov
e56cf4e1da engine: client: validate player index and max players 2026-05-16 21:00:50 +05:00
Alibek Omarov
fc4b982ecc engine: client: correctly skip message that would overflow temp entity buffer 2026-05-16 20:59:57 +05:00
Alibek Omarov
d305292340 engine: zone: in CheckAlloc walk through over both allocation chains, so that we don't read out of bounds if passed pointer is not allocated by zone allocator 2026-05-16 12:56:49 +05:00
Alibek Omarov
9ee6be87d7 engine: host: try to avoid recursive Host_Error 2026-05-16 12:37:08 +05:00
Alibek Omarov
4e4a54ab68 engine: despite byte-swapping code is no-op on little endian, it still fires and can read out of bounds on some models, leading to crash 2026-05-16 12:21:46 +05:00
Владислав Сухов
c6fb702fb1 engine: add MenuFactory native object 2026-05-15 08:48:58 +05:00
Alibek Omarov
50f7f3bb87 engine: server: mark str64 as maybe unused 2026-05-13 11:12:19 +05:00
Alibek Omarov
996f0e906b engine: client: drop double free check from dbghulls 2026-05-13 10:53:21 +05:00
Alibek Omarov
0f490a2f16 engine: client: fix warnings, cleanup unused or maybe-uninitialized variables 2026-05-13 10:48:37 +05:00
Alibek Omarov
ff8efebba2 engine: fix more warnings 2026-05-13 10:46:44 +05:00
Alibek Omarov
2dc132f817 engine: common: fix up warnings, clean up unused variables 2026-05-13 10:13:52 +05:00
Alibek Omarov
dccd076b92 engine: platform: sdl2: cleanup unused variables 2026-05-13 10:09:49 +05:00
Alibek Omarov
cb7ea5729a engine: server: cleanup unused variables 2026-05-13 10:09:37 +05:00
Alibek Omarov
63e112bf4c engine: client: soundlib: add more broken null files 2026-05-13 09:32:50 +05:00
Alibek Omarov
0aac2e4d32 engine: zone: add small allocation optimization, reducing the size of <255 bytes allocations at the cost of less debug info
Keep it opt-in through a flag at pool alloc time.
Opt-in console related allocations, they are usually small enough strings.
2026-05-13 09:32:50 +05:00
Alibek Omarov
33b3cdb0f5 engine: client: soundlib: catch broken null.wav and replace it with silence 2026-05-10 03:02:24 +05:00
Alibek Omarov
9c4edaed21 engine: client: sound: switch to single-pass mixing, now channels gets upscaled directly to DMA speed, fixing the issue with s_lerping 2026-05-10 02:48:23 +05:00
Alibek Omarov
881f0c5ca7 engine: show the missing library warning message on Android, but only if APK doesn't try to override it, skip client for now 2026-05-09 16:57:21 +05:00
Alibek Omarov
262f32b002 engine: platform: android: implement library loading from VFS paths on Android 2026-05-09 16:57:21 +05:00
Zane van Iperen
843f6297ed engine: net_ws: fix NET_QueuePacket indentation after previous change 2026-05-09 13:15:17 +05:00
Zane van Iperen
d1510345f1 engine: net_ws: round-robin IPv4/IPv6 reads
Previously, it would always return on the first one that had activity.
In practice, this meant that if IPv4 starts getting slammed, IPv6 reads
wouldn't happen.
2026-05-09 13:15:17 +05:00
Alibek Omarov
52953a7647 engine: platform: posix: drop crash info into crash.log on Android 2026-05-07 15:48:34 +05:00
Alibek Omarov
ebeff144f9 Merge remote-tracking branch 'origin/master' 2026-05-07 13:50:55 +05:00
Alibek Omarov
c8cc953d48 engine: platform: posix: make crash message a global because the stack could be limited when we hit crash handler 2026-05-07 13:45:39 +05:00
Alibek Omarov
d6bf06e997 engine: common: check XASH3D_BASEDIR when opening log file, fixes engine.log creation on Android 2026-05-07 12:23:56 +05:00
Alibek Omarov
c8e1c2673f engine: client: sound: revert singleplayer check for local sounds 2026-05-07 11:57:09 +05:00
Alibek Omarov
c2df265de7 engine: operate on a local copy of dspriteframe_t to avoid unaligned access on ARMv7 2026-05-07 11:56:08 +05:00
Alibek Omarov
086cb6aab8 engine: move {gamedir}/downloaded directory to {gamedir}_downloads for compatibility
Some mods like Sven-Coop 4.8 stupidly open game files directly and need this to
load downloaded soundcache.
2026-05-07 10:32:00 +05:00
Alibek Omarov
e6a44b70e0 engine: client: always load client.dll last to crash on nullptr in mods that fetch cvar pointers early, add comment for anyone who would modify this file 2026-05-05 01:15:16 +05:00
Alibek Omarov
fdb59e990e engine: rename Host_IsLocalGame to Host_IsSinglePlayerGame to avoid confusion 2026-05-05 01:04:57 +05:00
Alibek Omarov
eb79bc6b40 engine: use Host_IsLocalClient where it should be, as it checks for local games, not specifically singleplayer games 2026-05-05 01:03:03 +05:00
Alibek Omarov
e907e9fc95 engine: client: fix check for local game when deciding to enable netchan splitsize extension 2026-05-05 00:38:33 +05:00
SNMetamorph
fc356c88b3 engine: client: minor fixes in steam broker client side code 2026-05-02 10:50:21 +05:00
SNMetamorph
2635fd9739 engine: common: make use NET_MakeSocketNonBlocking instead of direct system API functions 2026-05-02 10:50:21 +05:00
SNMetamorph
653fe51fd4 engine: client: refactor data serializing in steam broker client side logic code 2026-05-02 10:50:21 +05:00
SNMetamorph
980d9fcaab engine: client: improve logging in steam broker client side logic code 2026-05-02 10:50:21 +05:00