Sergey Degtyar
6bb7bcd378
engine: client: GoldSrc voice chat support
...
- Added support for GoldSrc voice mode, including initialization and shutdown functions.
- Implemented data size verification for the GoldSrc voice package.
- Creation and processing of voice packets, CRC verification of data integrity.
- Added a Steam ID field to the client_static_t structure
- Automatic gain control has been introduced for voice samples.
- The voice status structure has been updated.
- Refactored voice data handling for better type consistency and maintainability.
- Fixed ISO C90 compliance issues for better portability.
- Fixed decoder index usage.
2025-07-01 16:09:09 +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
5d6cf48687
engine: client: fix lightstyle timings on GoldSrc protocol, share the parser with Quake protocol handler
2024-12-28 01:40:59 +03:00
Alibek Omarov
0637dbaab1
engine: client: refactor and simplify CL_RegisterUserMessage
2024-12-20 01:51:24 +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
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
b9f4f1eba4
engine: client: fix engine features masking for 48 and 49 protocol
2024-11-20 04:16:44 +03:00
Alibek Omarov
5f3e167799
engine: client: prevent possible null dereference with malformed consistency info packet
2024-11-06 01:39:45 +03:00
Alibek Omarov
667bedab82
engine: client: allow reading upper directories for clc_fileconsistency. Initialize md5 digest, add note about servers relying on uninitialized md5 value in some cases.
2024-10-26 05:17:24 +03:00
Alibek Omarov
0a24ca3fe2
engine: client: fix svc_updateuserinfo for inactive player on GoldSrc servers
2024-10-26 05:13:22 +03:00
Alibek Omarov
ec11683dc5
engine: client: minor fix, reference cl_allowdownload cvar actual name
2024-10-21 04:49:25 +03:00
Alibek Omarov
da76abda75
engine: even more refactorings to avoid global cls.legacymode usage, now with GoldSrc server autodetection
2024-10-16 07:31:27 +03:00
Alibek Omarov
e81a0ded11
engine: client: fix sendres message for GoldSrc protocol
2024-10-16 00:32:22 +03:00
Alibek Omarov
a32c702dbd
engine: client: avoid useless check on empty clc_resourcelist, which will never be false
2024-10-15 06:15:22 +03:00
Alibek Omarov
0d4296e0e1
engine: client: explicitly pass protocol to svc_time parser
2024-10-14 04:13:10 +03:00
Alibek Omarov
17f194b9a3
engine: client: consolidate usermsg registering and parsing for multiple protocols
2024-10-14 04:13:10 +03:00
Alibek Omarov
ff47fbaedc
engine: client: another fix baselines and entities parsing for GoldSrc, ensure we always call MSG_EndBitWriting
2024-10-14 04:13:10 +03:00
Alibek Omarov
87c88f7463
engine: client: fix svc_particles parsing on GoldSrc protocol
2024-10-14 04:13:10 +03:00
Alibek Omarov
60fd5f7ab8
engine: client: stub svc_restoresound for legacy protocol, it's only used during save restore which is unuseful for us
...
* Set sequence flag for restored sound, even though we don't support sequences anymore.
2024-10-14 04:13:10 +03:00
Alibek Omarov
5ceab059dc
engine: client: add function for parsing common protocol messages, which structure is enforced by server DLL compatibility
2024-10-14 04:13:10 +03:00
Alibek Omarov
67c898f9ad
engine: client: improve server data parsing for GoldSrc, restore nick name and remove unuseful userinfo keys before connection
2024-10-14 04:13:10 +03:00
Alibek Omarov
f90c658567
engine: client: skip voice data for GoldSrc protocol to avoid svc_bad
2024-10-11 19:31:41 +03:00
Alibek Omarov
0c54895877
engine: client: add unmunge function for consistency info for GoldSrc protocol
2024-10-11 18:41:17 +03:00
Alibek Omarov
869578f1ba
engine: client: lie about sv_version for GoldSrc protocol
2024-10-11 00:08:21 +03:00
Alibek Omarov
3320f776ce
engine: client: implement correct clc_fileconsistency response for GoldSrc
2024-10-11 00:08:21 +03:00
Alibek Omarov
9188905145
engine: client: fix map CRC match with GoldSrc protocol
2024-10-10 23:40:23 +03:00
Alibek Omarov
482dc3a5a5
engine: client: fix joining current protocol servers
2024-10-08 12:43:29 +03:00
Alibek Omarov
6ae09d2866
engine: client: support GoldSrc signon and refactor parsing delta entities for current and legacy protocols
2024-10-08 04:07:03 +03:00
Alibek Omarov
609680b328
engine: client: support parsing GoldSrc event messages
2024-10-08 04:07:03 +03:00
Alibek Omarov
9706e47643
engine: client: refactor and implement GoldSrc-specific parsing bits in common message parsing code
2024-10-08 03:28:02 +03:00
Alibek Omarov
d98361f782
engine: client: add support for parsing GoldSrc svc_temp_entity
2024-10-08 03:28:02 +03:00
Alibek Omarov
953ad98a16
engine: workaround buggy stringop-overflow
2024-09-30 04:00:28 +03:00
Alibek Omarov
47eb9e8c8f
engine: client: replace same struct type memcpys by assignments
2024-07-31 00:06:22 +03:00
Alibek Omarov
d56e53a347
Replace hardcoded functions names by __func__ macro
...
* while we're here, fix some possible bugs
* and fix -Wformat=2
s/__FUNCTION__/__func__/g
awawawa
2024-06-19 06:53:42 +03:00
Alibek Omarov
9fe58aaabc
engine: client: send expected cvar not found string for old protocol cvar query
2024-06-17 23:44:05 +03:00
Alibek Omarov
95b48da37d
engine: allow to change hardcoded path to custom.hpk
2024-06-15 17:22:26 +03:00
Alibek Omarov
3717e5c2e0
engine: client: simplify server message parsing by moving common code out of protocol-specific parsing funcs
2024-06-15 13:51:02 +03:00
Alibek Omarov
30fe471d2b
ref: move loading skybox into the engine
2024-06-11 02:07:44 +03:00
Alibek Omarov
3e1209d3a4
engine: client: do not rely on host.downloadcount when connecting to the server with HTTP enabled
...
* Replace cl.downloadUrl by cl.http_download
2024-06-01 04:30:21 +03:00
Alibek Omarov
b447ea9c18
engine: client: remove unused fields in client_static_t
2024-05-06 01:59:14 +03:00
Alibek Omarov
3cea12627e
engine: client: add cl_trace_stufftext from old engine
2024-02-17 22:16:39 +03:00
Alibek Omarov
85de61ebc8
engine: client: fix userid not being written to player info on userinfo change
2024-02-05 02:58:46 +03:00
Alibek Omarov
8c61a2f021
engine: server: cleanup server.h header from unused functions prototypes
2024-01-28 11:35:53 +03:00
Alibek Omarov
75d476f9df
engine: fix -Wmissing-prototypes
2024-01-28 09:55:18 +03:00
Alibek Omarov
5d6cf62405
engine: client: voice: open microphone only after server sends svc_voiceinit to us and shutdown immediately after disconnect
2024-01-24 20:52:21 +03:00
Alibek Omarov
ce73838f1b
engine: add a function that validates requested features bits
2024-01-04 05:30:18 +03:00
Alibek Omarov
707a9228e1
engine: ref_api: draft RefAPI 6.
...
Remove timings from ref_globals_t struct
Remove R_UpdateRefState accordingly.
Remove unused PARMs
Remove reduntant functions
2023-12-30 16:36:13 +03:00
Alibek Omarov
96f7f5457d
engine: print all supported and enabled features
2023-12-17 17:51:15 +03:00
Alibek Omarov
498ec6b4f1
engine: client: print enabled features after server connect if it's not a local game
2023-12-17 17:44:05 +03:00
Alibek Omarov
607e62a1ae
engine: client: sanitize legacy protocol supported engine features flags
...
Do not enable what can't be enabled in current protocol.
2023-12-17 17:44:05 +03:00