Alibek Omarov
2656eb1aeb
engine: fix A2S_GOLDSRC_INFO, it must always include Source Engine Query and a null terminator
2024-10-26 20:24:31 +03:00
Alibek Omarov
cff8ee13e6
engine: rcon refactoring. Use sizebuf_t to concatenate commands. Only call redirect when we're executing command.
2024-10-26 19:37:30 +03:00
Alibek Omarov
9600218757
engine: client: send tempdecal.wad to GoldSrc servers
2024-10-26 19:16:59 +03:00
Alibek Omarov
2db7cb0d64
engine: client: when validating, we're supposed to send move and delta commands
2024-10-26 19:12:52 +03:00
Alibek Omarov
f7c4cd9398
engine: client: allow case-insensitive goldsrc proto argument in connect and queryserver commands
2024-10-26 05:15:46 +03:00
Alibek Omarov
6ab2c9dbbf
engine: client: fix out of bounds access with some ticket generators
...
* Update MultiEmulator submodule
2024-10-22 02:13:36 +03:00
Alibek Omarov
ae2ad6ddf2
3rdparty: add MultiEmulator by 2010kohtep
...
* patched to be portable, turned into a static library
* integrated to the engine
2024-10-21 06:19:11 +03:00
Alibek Omarov
60d6214ad7
engine: client: implement parsing GoldSrc server query response for mainui_cpp
2024-10-21 02:31:45 +03:00
Alibek Omarov
d0f3a6f74b
engine: client: add command queryserver for mainui to query a specific address. Make server querying commands restricted
2024-10-20 02:22:09 +03:00
Alibek Omarov
e3e4bcc015
engine: global refactoring of connectionless packets, now they can be customized from single protocol.h header
2024-10-19 14:05:00 +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
829d7d0a7e
engine: client: CL_SendConnectPacket refactoring
2024-10-16 07:02:23 +03:00
Alibek Omarov
9f6372b305
engine: client: implement GoldSrc fragment size limits
2024-10-16 07:00:10 +03:00
Alibek Omarov
cc0f12ed26
engine: client: add stubs for richpresence commands added in HL25
2024-10-16 05:57:32 +03:00
Alibek Omarov
e7564420c9
engine: fix some ubsan warnings (alignment, integer limits...)
2024-10-16 00:32:22 +03:00
Alibek Omarov
0b02c2c6a7
engine: client: fix disconnect on GoldSrc servers
2024-10-15 06:08:21 +03:00
Alibek Omarov
6a61a499e9
engine: client: don't send useless/empty clc_move commands while we're connecting to server
2024-10-15 06:07:57 +03:00
Alibek Omarov
8452bec877
engine: client: reduce reads of cls.legacymode
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
60ab13d216
engine: client: always add [Xash3D] to the nickname on GoldSrc servers
2024-10-11 19:32:16 +03:00
Alibek Omarov
4eb54328f8
engine: client: various connection setup fixes for GoldSrc proto
...
* always add "steam" to getchallenge message
* cdkey md5 should be sent with lowercase
* strip null terminator from connect message
2024-10-11 18:41:16 +03:00
Alibek Omarov
b1189db9c5
engine: client: avoid clc_move spam when we're connected but not spawned yet
2024-10-11 00:08:21 +03:00
Alibek Omarov
1d64635783
engine: correctly check for cls.legacymode, as it's not a boolean anymore
2024-10-11 00:08:21 +03:00
Alibek Omarov
3f2fbb10d8
engine: client: only send continueloading for legacy protocol
2024-10-10 23:40:23 +03:00
Alibek Omarov
9c97235fe8
engine: client: implement GoldSrc connectionless print message
2024-10-10 23:40:23 +03:00
Alibek Omarov
70a13b47db
engine: client: implement randomized cdkey for GoldSrc protocol
2024-10-10 23:40:22 +03:00
Alibek Omarov
18afaf0eaf
engine: client: more accurate clc_move for GoldSrc protocol
2024-10-10 23:38:55 +03:00
Alibek Omarov
480218412a
engine: client: remove voidptr hack from IN_EngineAppendMove, just use usercmd_t directly
2024-10-08 04:07:03 +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
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
c1a5f173b8
engine: common: add GoldSrc netchan support
2024-10-08 03:28:02 +03:00
Alibek Omarov
3a1bb12830
engine: client: rename CL_LegacyMode to CL_Protocol
2024-10-08 03:27:09 +03:00
Alibek Omarov
d7d96c02a2
engine: client: implement cvar showpause for GoldSrc compatibility
2024-10-07 20:59:44 +03:00
Alibek Omarov
a1060b0eb5
engine: add v6only master servers, add v6only flag for NET_StringToAdrNB
2024-10-02 23:23:08 +03:00
Alibek Omarov
22d3ba674e
engine: client: ensure demoheader will be written when we're recording demo and changed level
2024-08-14 19:10:00 +03:00
Alibek Omarov
8be3bdac5d
engine: client: add command listdemo to show information about demo file (isn't really useful, just reads file header)
2024-08-03 11:01:17 +03:00
Alibek Omarov
47eb9e8c8f
engine: client: replace same struct type memcpys by assignments
2024-07-31 00:06:22 +03:00
Alibek Omarov
5ea2e295c1
engine: prevent rescanning filesystem when new player connects or on late precache
...
By reusing a padding hole in resource_t structure, we put a bit indicating that this archive
was already mounted by filesystem and skip it.
Because we associate this with resource, theoretical use of late precache with archives
will rescan filesystem and allow using newly downloaded assets.
2024-07-30 15:25:48 +03:00
Alibek Omarov
7bb5175084
Turn downloaded/ and custom/ into com_strings.h definitions, like sound path and saves path
2024-07-30 15:25:20 +03:00
Alibek Omarov
d52d50e283
engine: client: set user name as default value for name cvar. Add ui_username cvar with user name.
2024-07-28 14:44:03 +03:00
Alibek Omarov
31c20ac4d8
engine: client: don't call Host_IsDedicated when getting split size for client
2024-07-10 10:34:30 +03:00
Alibek Omarov
1458014a29
engine: remove unused CL_IsInMenu, don't check for Host_IsDedicated in SCR_BeginLoadingPlaque, it's useless
2024-07-10 10:24:22 +03:00
Alibek Omarov
e0dc1eec93
engine: client: more reliable way to find the payload the netinfo response
2024-07-07 06:49:54 +03:00
Alibek Omarov
ab130ee92c
engine: client: fix infostring truncation in NetAPI requests
2024-07-07 06:17:38 +03:00
Alibek Omarov
f8b958738a
engine: client: rework NetAPI response parsing
2024-07-07 03:30:34 +03:00
Alibek Omarov
e55577fd26
engine: get rid of some size constants passed to Info_SetValueForKey, use sizeof instead
2024-07-07 03:02:02 +03:00
Alibek Omarov
b6967a432a
engine: add NetAPI flag NET_ERROR_FORBIDDEN
2024-07-07 02:05:25 +03:00
Alibek Omarov
b4376a6a8c
engine: client: make a common function for sending out userinfo changes
2024-07-06 06:09:19 +03:00
Alibek Omarov
e18b61e041
Fixes for -Wformat=2 on 64-bit targets
2024-06-22 07:31:37 +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