Commit Graph

147 Commits

Author SHA1 Message Date
Alibek Omarov
cb7f2ad8af engine: replace Sys_DoubleTime with Platform_DoubleTime in internal code, only use Sys_DoubleTime in APIs
As Sys_DoubleTime is marked with GAME_EXPORT attribute that helps us to
maintain compatible binary interface.
2026-01-13 05:51:19 +05:00
Alibek Omarov
cfa8e639f1 engine: drop legacy protocol support 2025-12-01 13:03:53 +05:00
Alibek Omarov
6c2bad610f engine: client: request test packet only after we got challenge from server 2025-11-06 23:06:33 +08:00
Alibek Omarov
69204aec07 engine: client: synchronize sv_cheats state with the server 2025-09-28 22:32:41 +05:00
Alibek Omarov
2da0db4a31 engine: client: refactor connection to the server, always send bandwidth test and challenge from single function 2025-09-15 13:03:22 +05:00
Alibek Omarov
5106ebae58 engine: voice: fix local player server ack'ed message 2025-09-03 03:40:15 +05:00
Sergey Degtyar
fddf0200db engine: client: replaced hardcoded buffer sizes with defined constants for voice data 2025-07-03 13:36:25 +03:00
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