226 Commits

Author SHA1 Message Date
Kawe Mazidjatari
5bd6432862 Additional RCON system cleanup 2022-08-03 09:32:48 +02:00
Kawe Mazidjatari
9775fc4bba RCON system overhaul
* Implemented robust length-prefix framing logic for non-blocking sockets (previously used character sequences to determine length, but you cannot use character sequences on protocol buffers as its binary data. This logic should fix all problems regarding some commands not getting networked properly to the server and stuff not getting printed on the client).
* Increased buffer size to std::vector::max_size when netconsole is authenticated (MAX_NETCONSOLE_INPUT_LEN still remains enforced on accepted but not authenticated connections to prevent attackers from crashing the server).
* Process max 1024 bytes each recv buffer iteration.
* Additional optimizations and cleanup.
2022-08-02 23:58:43 +02:00
Kawe Mazidjatari
19d264ec11 Implement RCON_PasswordChanged_f and ConVar improvements
* Changing RCON passwords on the server now closes all connections and re-initializes the system.
* Fully mapped out VFTable interface for IConVar* (used for ConVar callbacks, see callback.cpp).
2022-07-25 19:35:08 +02:00
Kawe Mazidjatari
086489a000 AIN/NavMesh debug draw improvements
* Move AIN/NavMesh debug draw to ai_utility_shared.cpp.
* Use shift index + range for AIN debug draw.
* Added cvar for determining max distance between camera and tile (anything outside this range doesn't get draw).
2022-07-25 16:39:07 +02:00
Kawe Mazidjatari
c405c23934 Implement memory allocation singleton wrappers
* Pointer to g_pMemAllocSingleton
* New wrapper for returning the singleton, and creating one if not yet initialized (game shares the same pointer, and is aware of its creation).
2022-07-22 16:34:10 +02:00
Kawe Mazidjatari
8198866f6f Add tile range for NavMesh debug draw
New cvar 'navmesh_debug_tile_range' (tile shift index to this cvar gets drawn).
2022-07-22 12:44:33 +02:00
Kawe Mazidjatari
b3ed5d4052 Fix client.dll compile errors
Stripped more server only stuff from client.dll.
2022-07-21 15:13:48 +02:00
Kawe Mazidjatari
9758f988ec Add NavMesh poly debug overlay
Can be toggled and shifted through tiles using 'navmesh_draw_polys'.
2022-07-21 14:48:50 +02:00
Kawe Mazidjatari
c850d52d1b Add NavMesh poly bounds debug overlay 2022-07-21 02:21:59 +02:00
Kawe Mazidjatari
e21ae20f4a Add NavMesh tile portal debug overlay
navmesh_draw_portal > -1 enables the overlay, with this cvar you can also shift through tiles.
navmesh_debug_type [0 - 4] selects the NavMesh (small, med_short, medium, large, extra_large).
2022-07-21 01:24:07 +02:00
Kawe Mazidjatari
2998953600 Add NavMesh BVTree debug overlay
navmesh_draw_bvtree > -1 enables the overlay, with this cvar you can also shift through tiles.
navmesh_debug_type [0 - 4] selects the NavMesh (small, med_short, medium, large, extra_large).
2022-07-20 21:23:56 +02:00
Kawe Mazidjatari
ab8d0b8f57 Improve CHostState::FrameUpdate parameter types and names 2022-07-17 12:16:31 +02:00
rexx
7973034bd0 temp navmesh debug drawing 2022-07-14 18:19:34 +01:00
rexx
35515f1ef5 fix clientsdk compilation 2022-07-13 19:46:55 +01:00
Kawe Mazidjatari
7de9dfd2d9 Add missing field to OverlayBox_t 2022-07-12 15:38:51 +02:00
Kawe Mazidjatari
521cbad760 Proper SSE structure for OverlayBox_t::Transforms 2022-07-12 12:28:23 +02:00
Kawe Mazidjatari
e8a0c5e752 Add cvar for debug overlay z-buffer.
Only OverlayLine_t has a field to determine whether or not to ignore the z-buffer.
Added ConVar 'r_debug_overlay_zbuffer' to allow setting z-buffer for all overlays.
2022-07-11 21:23:26 +02:00
Kawe Mazidjatari
27ff727949 Use Vector3D for capsule and hemisphere radius. 2022-07-11 20:45:14 +02:00
Kawe Mazidjatari
ffa9f12e2b New DebugDraw shapes in SDK
DebugDrawCapsule and DebugDrawHemiSphere.
Hooked up to DrawOverlay (OverlayType_t::OVERLAY_CAPSULE).
2022-07-11 20:35:20 +02:00
Kawe Mazidjatari
28de4a96bf Rename to DrawAIScriptNodes 2022-07-11 12:22:35 +02:00
Kawe Mazidjatari
96abdf619c Rebuild 'ai_script_nodes_draw'
Originally stripped from retail.
2022-07-11 12:00:08 +02:00
Kawe Mazidjatari
cf0ab4aa45 Light cleanup 2022-07-10 17:40:22 +02:00
Kawe Mazidjatari
39094ab11b Change v_RenderBox prototype to take const reference on transforms. 2022-07-10 14:39:03 +02:00
Kawe Mazidjatari
856b386945 Debug overlay improvements and new render utilities.
Fixed internal RenderBox transforms (origin and angles are packed in xmm registers).
Added new render utilities in the SDK similar to the script ones.
2022-07-10 14:30:28 +02:00
Kawe Mazidjatari
d8a45ae563 Overlay improvements
* Move render utils to dedicated file.
* Implement more render/mesh utils.
* Added structure for OverlayTriangle_t, OverlaySweptBox_t and OverlayCapsule_t.
OverlayCapsule_t has been modified to accommodate the size in r5 (2 new vectors).
2022-07-07 21:31:00 +02:00
Kawe Mazidjatari
7d89a42b56 Mathlib implementation
SourceSDK mathlib port with light modifications.
Renamed Vector to Vector3D (to avoid confusion with std::vector (declared as vector) and Vector2D/Vector4D).
2022-07-06 21:11:32 +02:00
Kawe Mazidjatari
2af10efe23 Temporary RenderBox 2022-07-06 14:41:34 +02:00
Kawe Mazidjatari
e45cba48be Box overlay progress 2022-07-06 11:22:37 +02:00
Kawe Mazidjatari
e05c9c787d Draw the actual simulation tick on overlay 2022-07-03 11:03:25 +02:00
Kawe Mazidjatari
cdcc87b54b Renamed master server related stuff 2022-07-01 10:29:27 +02:00
Kawe Mazidjatari
965b4f4367 Remove VecNetMessages and VecNetDataFragments
Improved and used CUtlVector class instead.
2022-06-23 19:52:58 +02:00
Kawe Mazidjatari
1b6f40d941 Fix for SVC_UserMessage
Removed padding that was causing the structure to misalign with the game's one.
Enabled 'SVC_UserMessage::Process()' hook (function works properly after the structure alignment).
2022-06-23 18:20:17 +02:00
Kawe Mazidjatari
85462806d1 Improve sys_utils naming
Stripped 'Con_NPrintf' from dedicated.
2022-06-20 15:04:27 +02:00
Kawe Mazidjatari
4095424b7c Add clock/time function patterns
Added:
* Sys_GetProcessUpTime
* Plat_FloatTime
* Plat_MSTime
2022-06-20 14:58:53 +02:00
Kawe Mazidjatari
f98a575dfa Fix S1 compiler errors 2022-06-18 21:24:02 +02:00
Kawe Mazidjatari
034df40755 CClient::GetClient improvements 2022-06-16 18:04:43 +02:00
Amos
39dd70f929 Update client.cpp comments
client.cpp (holding CClient) is in 'engine/client' based on asserts from the game module
2022-06-15 13:33:47 +02:00
Amos
ae35dd1b8b Revert 'Using __FUNCTION__ in host_state.cpp'
Scopes don't get compiled with inline methods using '__FUNCTION__'.
2022-06-15 13:31:43 +02:00
PixieCore
fced5f7adf Fix compilation. 2022-06-15 12:23:31 +02:00
PixieCore
93bb43544d Using __FUNCTION__ in host_state.cpp 2022-06-15 12:22:46 +02:00
PixieCore
15f6fd3123 Few comments 2022-06-15 11:59:37 +02:00
Kawe Mazidjatari
e711c54bf9 DebugOverlay improvements
Use rebuild 'DestroyOverlay()'
Use 'size_t' type for MemAlloc_Internal alloc size.
2022-06-15 01:35:48 +02:00
Kawe Mazidjatari
e70e4d1a8c Add DebugOverlay implementation 2022-06-15 01:24:29 +02:00
Kawe Mazidjatari
61e1180878 Rename type
Type is small enough where auto isn't needed
2022-06-14 22:33:01 +02:00
Kawe Mazidjatari
ff59db1b95 Light improvements
Update comments.
Proper type for 'user_creds::m_nUserID'.
Proper type for 'CClient::SetUserID'.
Added 'CClient::SetHandle'.
2022-06-14 21:53:03 +02:00
Kawe Mazidjatari
c708d73c02 Improve comments 2022-06-14 21:43:32 +02:00
Kawe Mazidjatari
e5f412bcb2 CClient improvements
Mapped out new fields in CClient
2022-06-14 21:41:35 +02:00
Kawe Mazidjatari
ebf4921063 Ban system improvements
NucleusID/OriginID is an unsigned type, changed all types to uint64_t and cleaned up redundant code.
2022-06-14 20:56:55 +02:00
Kawe Mazidjatari
7c0c541405 FileExist cleanup
Use fs::path constructor for all strings.
Renamed CPakFile::AsyncLoad to CPakFile::LoadAsync.
Renamed CPakFile::Load to CPakFile::LoadPak.
2022-06-12 12:40:26 +02:00
Kawe Mazidjatari
aa29c3df18 Fix server browser bug
Fixed bug where map list would contain multiple same entries when server vpk's are installed among the client ones.
2022-06-06 16:46:09 +02:00