4049 Commits

Author SHA1 Message Date
Kawe Mazidjatari
168ad9aabd CppKore: try parent font if current is absent
This allows for setting uniform fonts on all controls, by only assigning the font once to the parent control. Else each control needs to have its own set.
2024-04-17 20:26:03 +02:00
Kawe Mazidjatari
f059202ff2 NetConsole: fix command line bug
Recently, encryption was implemented in the RCON system, but the command line initialization code wasn't adapted to this new logic. Code has now been adapted.
2024-04-16 16:51:51 +02:00
Kawe Mazidjatari
917b3c2d5b Tier1: fix typo in byteswap.h 2024-04-16 16:48:17 +02:00
Kawe Mazidjatari
ddf10fc4ac Server: use correct type for hull data used for AI Network
System uses a CVarBitVec for this hull block data.
2024-04-16 16:47:58 +02:00
Kawe Mazidjatari
3f01894bfa RTech: fixed streamed pak decoding progression bug
During beta tests on a Linux system, we encountered an issue where the I/O could be slower and thus result in not enough bytes being streamed by the time we invoke the decoder (lenStreamed == bufSizeNeeded at this point), after 16 calls with lenStreamed == bufSizeNeeded, the engine errors as ZSTD_NO_FORWARD_PROGRESS_MAX would be reached. Added value of 'ZSTD_nextSrcSizeToDecompress()' to 'PakDecoder_s::bufferSizeNeeded' to make sure we never call the decoder without any new streamed bytes. Also increased the value of ZSTD_NO_FORWARD_PROGRESS_MAX to 1024 since this fixed the issue without applying the aforementioned patch, this was increased as a hardening measure.
2024-04-16 02:17:41 +02:00
Kawe Mazidjatari
ded6d06eb1 Server: removed unreferenced local variable
Unused variable as current time calculation ended up being unnecessary, removed to suppress compiler warning.
2024-04-16 02:10:08 +02:00
Kawe Mazidjatari
fdbd9a6452 Engine: fix incorrect assignment on rcon socket bind
The assignment on the ternary operator should be flipped, bug was spotted during beta testing.
2024-04-15 23:58:16 +02:00
Kawe Mazidjatari
28d8dc25e5 Engine: move unrestricted command exec code to separate function 2024-04-14 23:25:36 +02:00
Kawe Mazidjatari
dacc4ac8f5 Core: allow launching dedicated server without terminal window
The terminal window isn't always necessary, especially on Linux systems. In fact, it causes issues on some Wine environments. Allow user to disable it with -noconsole. This option only exists on the dedicated server. The client builds have the console disabled by default, and can enable them with -wconsole.
2024-04-14 19:39:52 +02:00
Kawe Mazidjatari
7791daef87 Engine: enforce rcon convar name consistency
Removed extra '_' from sv_rcon_whitelist_address, its now sv_rcon_whitelistaddress.
2024-04-14 16:14:19 +02:00
Kawe Mazidjatari
b8bde9ad0e Engine: use dedicated convar to determine rcon server socket bind
Decoupled from net_usesocketforloopback since we actually don't want this to be tied with that of the game. Now it by default does not bind to the loopback socket unlike the game.
2024-04-14 16:11:58 +02:00
Kawe Mazidjatari
62e6f11b34 Server: simplify lagcomp clamping code and add technical notes
Clamp to +- sv_maxunlag delta from server time base. Also added notes to possibly rework the system in the future.
2024-04-14 14:23:14 +02:00
Kawe Mazidjatari
2da7006e79 Server: add script function 'GetServerID()'
Allows one to get the current session uuid (will be used for LiveAPI's Init event for session identification).
2024-04-14 14:22:32 +02:00
Kawe Mazidjatari
4867f5da74 Launcher: untoggle windowed mode by default and rename field
Untoggled by default due to popular demand (most wanted to launch full screen). Also renamed maxFPS field to fpsMax to remain consistency with the actual cvar name.
2024-04-14 14:21:03 +02:00
Kawe Mazidjatari
edecbb06d5 Resource: add new LiveAPI configuration file
Executed on server launch.
2024-04-13 15:55:01 +02:00
Kawe Mazidjatari
b4db5cd5af Resource: add new parallel VPK build script
Build script to build VPK files in parallel with use of the new tool 'ReVPK'.
2024-04-13 15:54:27 +02:00
Kawe Mazidjatari
5b7f120ccc Resource: update cleaner script
Added new LiveAPI log directory, and several files that were renamed.
2024-04-13 15:53:11 +02:00
Kawe Mazidjatari
6bb70fb2ed Resource: update configuration files
Slightly adjusted RCON configuration files, recent changes implemented RCON encryption (users can specify their own AES keys).
2024-04-13 15:52:33 +02:00
Kawe Mazidjatari
2a85c7e5ac RTech: remove extraneous trailing semi-colon 2024-04-13 15:50:30 +02:00
Kawe Mazidjatari
07e944ff70 Engine: remove extraneous trailing semi-colon 2024-04-13 15:50:21 +02:00
Kawe Mazidjatari
faf9d31ca0 NavMesh: rename editor program to 'recast'
Renamed to original tool name
2024-04-13 15:49:29 +02:00
Kawe Mazidjatari
6315a0c6c8 Launcher: light overhaul and use KeyValues class
Reworked some of the code to make globals static and used KeyValues class to parse VDF files instead.
2024-04-13 15:48:24 +02:00
Kawe Mazidjatari
63345b6696 Tier0: bump sigcache version to force full rebuild
Many signatures have changed, force a full rebuild for the next patch to significantly speed up startup times.
2024-04-12 22:09:20 +02:00
Kawe Mazidjatari
00e9840353 Server: add option to respect game state when performing auto reload
Can be toggled with the new cvar 'host_autoReloadRespectGameState', and used in combination with the new server script func 'SetAutoReloadState( bool state )'. This makes sure that even when the timer reaches 'host_autoReloadRate', it would wait with the reload until the game itself is finished (which is when SetAutoReloadState( true ) is being called from scripts).
2024-04-12 22:06:31 +02:00
Kawe Mazidjatari
c15252e9cb Game: group game source files 2024-04-12 21:21:49 +02:00
Kawe Mazidjatari
891f1796b0 Engine: exec liveapi.cfg on start
Allow configuration of the LiveAPI system
2024-04-12 20:53:19 +02:00
Kawe Mazidjatari
6294bb539d Engine: add cvar 'sv_lagpushticks' to SDK
Will be used for reworking some parts of the lag compensation system in the future.
2024-04-12 20:37:13 +02:00
Kawe Mazidjatari
cf267de60d Game: make GameMode_t an enum class
Used as enum class throughout code base, avoids potential name clashes in the future.
2024-04-12 20:36:13 +02:00
Kawe Mazidjatari
513316b6a0 Engine: fix typo in CClientState member variable name
Renamed from m_nProcesseedDeltaTick to m_nProcessedDeltaTick.
2024-04-12 20:35:19 +02:00
Kawe Mazidjatari
0936f60c85 Engine: add newly reversed fields to CClient class 2024-04-12 20:34:46 +02:00
Kawe Mazidjatari
e909df9ec8 Engine: light cleanup to CL_MoveEx()
Make *chan and commandTick const.
2024-04-12 20:33:36 +02:00
Kawe Mazidjatari
2ca3baa77d UserCmd: limit command backlog to prevent exploitation
Implement UserCmd command backlog limiting (the new convar 'sv_maxUserCmdProcessTicks' dictates how many ticks can be processed per second). Defaulted to 10, which is (default tick interval (0.05) * default cvar val (10) = 0.5ms window), which is equal to the default of cvar 'sv_maxunlag'.

Before this patch, you could stuff several seconds worth of usercmd's in one second and achieve speed hacking.
2024-04-12 01:51:11 +02:00
Kawe Mazidjatari
075df88924 Game: add CBaseEntity::GetFlags() and FL_FAKECLIENT constant 2024-04-12 01:20:48 +02:00
Kawe Mazidjatari
e50d724eae Game: fixup types in CPlayerState 2024-04-12 01:20:06 +02:00
Kawe Mazidjatari
94002305a3 Tier2: use utlvector for cylinder points and initialize buffer 2024-04-12 00:45:10 +02:00
Kawe Mazidjatari
8ab413be1a UserCmd: cleanup variable names and comments
Reversed some extra field names + adjusted comment for clamping ucmd->camerapos (this was tested and works, this field should be clamped).
2024-04-12 00:44:19 +02:00
Kawe Mazidjatari
b699fe431e RTech: use more consistent type names
Force consistency between type names (follow scheme used in tier0 and rtech_game export symbols).
2024-04-11 02:19:36 +02:00
Kawe Mazidjatari
e639cb3f5f RTech: rename pak defines
More correct and consistent naming.
2024-04-11 01:42:55 +02:00
Kawe Mazidjatari
b019307947 Engine: initiate rcon connection from address change callback
A more user friendly approach.
2024-04-10 16:23:48 +02:00
Kawe Mazidjatari
e5199d8253 Engine: use tier2 random generator for netkey
Limit usage to only 1 algorithm provider.
2024-04-10 15:29:51 +02:00
Kawe Mazidjatari
ee39e0b014 Tier2: move random generator from tier0 to tier2
Moved into cryptutils.cpp.
2024-04-10 15:28:47 +02:00
Kawe Mazidjatari
7a21912ae1 Resource: update RCON cfg files
Reflect recent changes made to the RCON system.
2024-04-10 15:16:10 +02:00
Kawe Mazidjatari
ec14bf70de Engine: move rcon_password entirely to server
The client doesn't need this convar, client only needs cl_rcon_address.
2024-04-10 15:15:27 +02:00
Kawe Mazidjatari
1fb9cf2625 Tier1: remove unrelevant comment
No mutex locking should take place here after careful research.
2024-04-10 14:09:35 +02:00
Kawe Mazidjatari
f8dd1fe88c Engine: implement encryption for RCON protocol
RCON lacked encryption, added AES-CTR encryption on RCON frames. Slightly adjusted protocol to take this into account (sending nonces, encrypted data itself, etc).
2024-04-10 14:08:52 +02:00
Kawe Mazidjatari
cb0c3ef95b ImGui: also take vertical scrollbar into account
Show horizontal scrollbar when console text gets overlapped by the vertical scrollbar.
2024-04-09 16:56:08 +02:00
Kawe Mazidjatari
e657d62aee ImGui: fix logger not fading in/out with alpha
m_fadeAlpha should also be applied on the color logger.
2024-04-05 19:38:10 +02:00
Kawe Mazidjatari
77f748c5d3 NetConsole: fix undefined symbol
CheckCPUforSSE2() was removed in commit 504d042e6095b24e125c7d38549db860b2d15a67, but NetConsole still needs to check for it.
2024-04-05 19:37:00 +02:00
Kawe Mazidjatari
60a17c6f55 ReVPK: fix undefined symbol
CheckCPUforSSE2() was removed in commit 504d042e6095b24e125c7d38549db860b2d15a67, but ReVPK still needs to check for it.
2024-04-05 19:36:38 +02:00
Kawe Mazidjatari
40f2c1374a Tier0: split CPU feature checks into multiple functions 2024-04-05 19:35:41 +02:00