Alibek Omarov
b080ad9954
engine: moved link_t helpers to sv_world.c from world.c and made them static
2024-05-30 07:31:03 +03:00
Alibek Omarov
f6625d9188
engine: common: remove unused et_name array
2024-05-30 07:22:21 +03:00
Alibek Omarov
d59875f114
engine: common: for automatic wad precache to work, we need to count the real wad usage on dedicated
2024-05-30 06:18:15 +03:00
Alibek Omarov
e89191ed39
engine: common: automatically precache wad files required by loaded map
...
Makes it easier to host server with multiplayer maps and broken .res files.
2024-05-30 05:58:41 +03:00
Alibek Omarov
ea21438637
engine: netchan: append .ztmp extension instead of replacing original extension
...
* so we don't send wrong file that has same name but different extension
* validate filename size so it won't get truncated in fragbuf_t
2024-05-30 04:50:58 +03:00
Alibek Omarov
338399e622
engine: common: implement PHS calculation like in QuakeWorld/GoldSrc
2024-05-29 05:58:51 +03:00
Alibek Omarov
1545a49b4c
engine: client: only allocate debug hulls polygons when they're requested
...
* Make the appropriate changes in ref_gl
2024-05-29 05:41:47 +03:00
Alibek Omarov
3ca15250e8
engine: common: use Mod_PointInLeaf in Mod_GetPVSForPoint instead of traversing nodes manually
2024-05-29 05:41:47 +03:00
Alibek Omarov
6cbac51731
engine: common: add function for compressing visdata
2024-05-29 05:41:47 +03:00
Alibek Omarov
e310c666b1
engine: common: add phs flag to Mod_FatPVS, unused currently
2024-05-29 05:41:47 +03:00
Alibek Omarov
9150b770e4
engine: common: mod_bmodel: add function Mod_DecompressVisTo that will copy fat vis data into the provided buffer
2024-05-29 05:41:47 +03:00
Alibek Omarov
4bf72b5383
engine: forbid accessing cvars starting with con_ and scr_ through stufftext
...
Some stupid servers might mess up with console cvars values.
2024-05-25 02:26:42 +03:00
Alibek Omarov
f4a77308ec
engine: soundlib: fix possible buffer overflow in Sound_ConvertUpsample
2024-05-06 15:45:49 +03:00
Alibek Omarov
a6c2cfe89b
engine: avoid constants in Q_strncpy third argument, where possible
2024-05-06 14:27:26 +03:00
Alibek Omarov
5120657386
engine: fix possible buffer overflow in S_StreamGetCurrentState
2024-05-06 06:53:22 +03:00
Alibek Omarov
55fcbc8880
engine: soundlib: implement linear interpolation in Sound_ResampleInternal
...
* split resampling into three functions
* added resampling using SDL_AudioCVT, it's slow, so isn't enabled by default
2024-05-06 06:41:23 +03:00
Alibek Omarov
433e7de686
engine: clean up unused soundlib flags, set SOUND_LOOPED flag on looped sounds
2024-05-05 06:16:57 +03:00
Alibek Omarov
94d3eff9ce
engine: host: fix build with Q_strchrnul returning const char *
2024-05-03 15:31:20 +03:00
Alibek Omarov
31c0934108
engine: fix parsing -bugcomp flags, assume bugcomp flags only starts with alphabetic character
2024-05-03 06:28:48 +03:00
Alibek Omarov
dd410a2de5
engine: implement small Message Rewrite Facitility that allows to run mods that directly write internal GoldSrc messages
2024-04-28 06:59:18 +03:00
Alibek Omarov
2f3429a144
engine: common: base_cmd: use flexible array to store basecmd name
2024-04-28 06:59:18 +03:00
Alibek Omarov
e7653d2ea6
engine: soundlib: fix searching for a RIFF/WAVE chunks in streams
2024-04-27 10:51:56 +03:00
Alibek Omarov
1494887e29
engine: soundlib: snd_wav: replace strncmp by IsFourCC helper function
2024-04-26 06:29:38 +03:00
Alibek Omarov
42dab2b1a5
engine: soundlib: snd_wav: attempt to fix misleading warning about truncated file
2024-04-26 06:25:18 +03:00
Alibek Omarov
60c6767337
filesystem: copy absolute path to library in FS_FindLibrary for compatibility
...
Extend fullPath for longer absolute paths.
2024-04-22 04:02:46 +03:00
Alibek Omarov
db10035d9d
engine: add GoldSrc protocol definitions
2024-04-22 04:02:46 +03:00
Alibek Omarov
de21d845ec
engine: don't forget to put newline at the end of overflowed console message
2024-04-21 20:21:17 +03:00
Alibek Omarov
320f8466e6
engine: hpak: don't print error about missing custom.hpak in quiet mode
2024-04-21 20:05:37 +03:00
Alibek Omarov
ea34bc8652
engine: turn bugcomp into flags that can be enabled/disabled separately
2024-04-21 16:52:15 +03:00
Alibek Omarov
ca9d3d262a
engine: common: net_encode: directly call MSG_ReadSBitLong for DT_TIMEWINDOW_*, don't do the multiplier check for DT_TIMEWINDOW_BIG
2024-04-20 20:48:01 +03:00
Alibek Omarov
a08f5e439d
engine: common: net_encode: fix comparing DT_TIMEWINDOW_* fields
...
Fixes: 35783bcec2
("engine: common: net_encode: fix inaccuracy in DT_TIMEWINDOW_* encoding")
2024-04-19 01:51:25 +03:00
Alibek Omarov
8f6771dff4
engine: common: zone: check that Mem_FindPool might return NULL (it can if Sys_Error was called inside of a Sys_Error)
2024-04-19 00:14:26 +03:00
Alibek Omarov
cd47c6b5b3
engine: common: zone: disallow migrating allocations from one pool to another, as this isn't practically used anywhere
2024-04-19 00:14:26 +03:00
Alibek Omarov
1f4f3d7fda
engine: common: zone: remove mempool sentinels as pools aren't subject to buffer overflow or double free anymore
2024-04-19 00:14:26 +03:00
Alibek Omarov
e81b5144b3
engine: common: zone: use realloc for managing mem pools
...
rearrange data in memheader_s to avoid unnecessary paddings
2024-04-19 00:14:26 +03:00
Alibek Omarov
9ec1caed53
engine: common: zone: implement dummy Q_realloc for XASH_CUSTOM_SWAP
2024-04-19 00:14:26 +03:00
Alibek Omarov
ca3b4a9d7f
engine: host: oops
2024-04-18 16:48:41 +03:00
Alibek Omarov
87ac217887
engine: common: net_encode: add bitmask operation to delta tests
2024-04-18 16:44:15 +03:00
Alibek Omarov
213650db8f
engine: exit with non-zero return code if engine tests are failed
2024-04-18 16:36:18 +03:00
Alibek Omarov
ac46164a6e
engine: common: net_encode: implement basic delta tests
2024-04-17 20:27:22 +03:00
Alibek Omarov
6d12d84e94
engine: common: net_encode: apply post_multiplier to integer fields, like GoldSrc does
2024-04-17 06:23:22 +03:00
Alibek Omarov
2a18cde60c
engine: common: net_encode: fix applying integer clamp before multiplier
...
Without this fix, data still might overflow after applying multiplier
and potentially send incorrect data.
2024-04-17 06:16:44 +03:00
Alibek Omarov
35783bcec2
engine: common: net_encode: fix inaccuracy in DT_TIMEWINDOW_* encoding
...
By avoiding double rounding, we get more accurate time on client when timebase
gets rounded down and target time gets rounded up:
```
>>> round(123.1) - round(124.51)
-2
>>> round(123.1 - 124.51)
-1
```
2024-04-17 06:09:52 +03:00
Alibek Omarov
1677835b45
engine: common: simplify bit buffer operations
...
Yields a small performance boost
2024-04-08 07:24:53 +03:00
Alibek Omarov
f60e856f35
engine: server: replace useless call to SV_Serverinfo to a direct access
2024-04-06 06:58:15 +03:00
Alibek Omarov
dd8c66d90e
engine: common: fix possible NULL dereference in LZSS_Compress
2024-04-04 20:42:25 +03:00
Alibek Omarov
fed65dd497
engine: imagelib: fix possible NULL dereference
2024-04-04 20:42:25 +03:00
Alibek Omarov
4107bd4e0f
engine: common: quickly assume that map is valid when generating maps.lst if mpfilter is set or game is multiplayer only
2024-04-03 06:13:43 +03:00
Alibek Omarov
d041b2aa27
engine: fix error_on_exit data type
2024-03-26 17:15:34 +03:00
Alibek Omarov
2640b6d869
engine: host: remove misleading message about TAB-autocompletion in dedicated mode
2024-03-19 21:24:21 +03:00