1710 Commits

Author SHA1 Message Date
Kawe Mazidjatari
0c13ca4e3f Only run threaded bone setup when we don't run the listen server
The Season 3 versions of the executable deadlock when threaded bone setup has been enabled on the client while the listen server has ran at least once during the process lifetime.
2022-11-10 11:47:02 +01:00
Kawe Mazidjatari
95a544cdb9 Fix progressively increasing CPU time in PurgeServerOverlays() when enable_debug_overlays is unset
The default engine implementation of DrawAllOverlays will return early when cvar 'enable_debug_overlays' is false. The problem with this is that overlays are still added, which fills memory unnecessarily and also increases CPU time as they never decay, which overloads the function 'PurgeServerOverlays'. This became evident after profiling the application. Numerous people reported the bug.
2022-11-10 02:40:34 +01:00
Kawe Mazidjatari
a92c72afc6 Improve string variable readability in CPakFile::LoadAsync 2022-11-10 01:22:00 +01:00
Kawe Mazidjatari
6672d15d9f Bring more context to 'eDLL_T' enumerants 2022-11-10 01:21:18 +01:00
Kawe Mazidjatari
7244520442 CBaseFileSystem::VMountVPKFile light cleanup 2022-11-10 01:20:45 +01:00
Kawe Mazidjatari
a8fd5a24f5 Add flag textures and logic for 3 or more flags
Only check if FCVAR_DEVELOPMENTONLY or FCVAR_CHEAT is set and return a blue/red colored checkered texture. Return a rainbow checkered if 3 or more flags are encountered which are not indexed. Return half texture if 2 flags are encountered, but the second bit is not indexed.
2022-11-10 01:17:53 +01:00
Marvin D
d00aaa933d CRenderView init, GetWorldMatrixForView()
* Fixed .gitignore for root /game/
* Fixed bug in WalkVTable where it would offset self.
* General clean up: VAR -> CON, CON -> VAR
2022-11-10 00:53:12 +01:00
Marvin D
4af22ede90 fix compilation. 2022-11-09 23:37:33 +01:00
Kawe Mazidjatari
85d0d5fa9a Load plugins from 'bin/x64_retail/plugins' 2022-11-08 21:17:40 +01:00
Kawe Mazidjatari
dcb909cab9 Only attempt to load .VMT files from the disk if VPK mode is 0
Only load from disk if mode is 0. Mode can be set to 0 using the '-novpk' launch parameter.
2022-11-08 01:11:14 +01:00
Kawe Mazidjatari
44abceb78a CEngineAPI: Split VPK initialization code into separate function 2022-11-07 23:49:05 +01:00
Kawe Mazidjatari
f341919aad Properly initialize VPK and cache system for the dedicated server
server loads "vpk/server_mp_lobby.bsp" instead of "vpk/client_mp_common.bsp" and "vpk/client_frontend.bsp". Also removed the old hack we used to patch string constants to format VPK string paths as we have a proper implementation now using CEngineAPI::SetStartupInfo.
2022-11-07 23:11:12 +01:00
Kawe Mazidjatari
39ee5ddd6d Add '-novpk' command lien option
When '-novpk' is passed, the engine won't use the filesystem cache, and won't mount any VPK's (all files could be loaded from the disk essentially, the VPK files will be ignored).
2022-11-07 22:28:59 +01:00
Kawe Mazidjatari
6266549cd7 CEngineAPI::SetStartupInfo rebuild
Full rebuild of assembled function "CEngineAPI::SetStartupInfo". The assembly seems to match original function after rebuild. Does NOT support S1 yet, because TRACEINIT is inline in S1.
2022-11-07 22:25:20 +01:00
Kawe Mazidjatari
7be85c03a7 Implement '-nodfs'
Allow skipping DFS initialization.
2022-11-07 19:29:55 +01:00
Kawe Mazidjatari
7a065ccd12 Parse/reparse map list on playlists file initialization.
Map list will now initialize with the playlist. User could also reparse the map list by reparsing the playlists file.
2022-11-06 14:21:27 +01:00
Kawe Mazidjatari
dc8ad3dd53 Log all mounted/unmounted VPK files
* Log all mounted/unmounted VPK files.
* Add command for unmounting a VPK file.
* Increased logging buffer size to 4096 for all loggers that weren't updated to this yet.
2022-11-06 12:21:21 +01:00
Kawe Mazidjatari
01b67fec8a Remove deprecated information in worldsize.h 2022-11-05 23:46:39 +01:00
Kawe Mazidjatari
811ecade86 Replace CServer::Think with CServer::FrameJob
Actual hook where we could also run anything in the server frame thread (the earliest function where equality to server thread id could be performed).
2022-11-05 00:12:45 +01:00
Kawe Mazidjatari
a9244cd8ea Set VPK default workspace to 'platform/' 2022-11-05 00:11:43 +01:00
Kawe Mazidjatari
8147431b0f Rename Detour_Free() to Detour_LevelShutdown()
Added the missing call to v_Detour_LevelInit(), which was removed for debugging purposes.
2022-11-05 00:11:17 +01:00
Kawe Mazidjatari
4bd164a535 NavMesh hot swap system improvements
* Check if server is active in command callback before attempting to hot swap.
* Hook 'v_Detour_LevelInit', and log NavMeshes that failed to load.
* Split free/destroy logic into separate function.
* Created constants for NavMesh and AI Network paths/extensions.
* Added performance profiler for hot swap logic in command callback.
* Renamed "navmesh_reload" to "navmesh_hotswap".
* "navmesh_hotswap" is now development only.
2022-11-03 17:12:22 +01:00
Marvin D
2fc0bea3a2 increase NET_PrintFunc buf.
Game expects 2048 characters.
2022-11-03 10:46:01 +01:00
Kawe Mazidjatari
ba252c8e98 Implement logic for hot swapping NavMesh
The new command 'navmesh_reload' hot swaps the current NavMesh for all hulls in memory, with that of the 'new' files on the disk. The memory of the old NavMesh gets freed and destroyed.
2022-11-03 10:44:59 +01:00
Kawe Mazidjatari
4ebdc5c513 CServer::AuthClient: cache pChallenge->m_nNucleusID 2022-11-03 02:38:49 +01:00
Kawe Mazidjatari
8403362f70 Update playlists file 2022-11-03 02:33:03 +01:00
Kawe Mazidjatari
40566235e0 Server authentication code improvements
* Added validity checks for player names, they must be UTF-8 encoded, else game clients will crash attempting to set non-UTF-8 player names in RUI.
* CServer::RejectConnection now takes a 'v_netadr_t*', previously it was 'user_creds_s*', which worked as 'v_netadr_t' is the first member in 'user_creds_s'.
* Programmer must now manually pass a character buffer to 'v_net_adr::GetAddress(...)'.
2022-11-03 02:30:57 +01:00
Kawe Mazidjatari
f27ff874c2 Add hexadecimal prefix to NavMesh checksum debug 2022-11-03 02:24:04 +01:00
Kawe Mazidjatari
96f243d519 Light squirrel code cleanup
Renamed 'Script_GetContextObject' to 'Script_GetScriptHandle'.
2022-11-03 02:23:00 +01:00
Marvin D
56806e9045 ServerClass impl 2022-11-03 00:06:11 +01:00
Amos
bf88ecbc4a Update command names in help descriptions 2022-11-02 14:30:43 +01:00
Amos
70ad249762 Initialize OverlayBase_t::m_nFlags 2022-11-02 14:30:04 +01:00
Marvin D
ae2c702dd0 Update cmaterialglue.h 2022-11-02 00:28:41 +01:00
Kawe Mazidjatari
75b5148e65 Light changes for RTech::PakProcessGuidRelationsForAsset
* Use Warning() for deadlock detection debug log.
* Use const qualifiers where possible.
* Cache rtech_debug->GetBool().
* Renamed 'RPakAssetEntry' to 'RPakAssetEntry_t'.
* Renamed 'RPakDescriptor' to 'RPakDescriptor_t'.
2022-11-01 00:44:09 +01:00
Marvin D
f8915f7c5d added pattern to p_CPakFile_LoadPak_OpenFileOffset 2022-10-31 00:08:32 +01:00
Kawe Mazidjatari
2a86970f12 Fix Smart Pistol's trajectory trace (laser line)
The smart pistol's laser line overlay did not draw after the debug overlay rebuild. After some small debugging, I found out that there was a function that creates the curved trace, and creates an overlay with index 4 (originally swept_box), however, the structure is different to that of swept_box. This is laser_line. Implemented logic for drawing out laser line, which essentially just calls DrawLine (as is the case in the engine).
2022-10-30 23:38:19 +01:00
Marvin D
3ea5ec1d5e Move deadlock check. 2022-10-30 23:05:37 +01:00
Marvin D
6e42f18ed9 PakProcessGuidRelationsForAsset rebuilt
Some unknown fields are still present.
Structs and some naming credits to @r-ex
2022-10-30 20:17:50 +01:00
Kawe Mazidjatari
bc361c7c85 Fix texture streaming debug overlay bug
Fix bug where we did not log the actual total streaming texture memory.
2022-10-30 10:18:22 +01:00
Kawe Mazidjatari
196bf4c2b3 Logging code cleanup
* Change qualifiers for some types (make const, static const, etc..).
* Renamed 'CNotifyText' to 'CTextNotify'.
* Renamed 's_LogMutex' to 'g_LogMutex' (mutex was not static).
2022-10-30 10:08:14 +01:00
Kawe Mazidjatari
3eadb1ed93 Make const
No modification is performed.
2022-10-29 00:01:10 +02:00
Kawe Mazidjatari
9c440e1e68 Overlay log system cleanup
* Use single static buffer instead of each overlay having its own (its only used in the material system thread).
* Improved readability by using ternary operators and c++ style casts.
2022-10-26 01:55:36 +02:00
Amos
255de2dd3b Add 'gl_rmain.h/cpp' to the client dll project 2022-10-24 11:10:15 +02:00
Kawe Mazidjatari
b5b56c83ea CAI_Utility::DrawAIScriptNetwork: light cleanup 2022-10-24 00:52:32 +02:00
Kawe Mazidjatari
62f0e2aaf0 Removed extraneous string copy constructor in CMDLCache::FindMDL
Removed extraneous copy constructor, and added const qualifier to string 'svStudio'.
2022-10-24 00:51:47 +02:00
Kawe Mazidjatari
3b5428051c CConsole cleanup and optimizations
* Add const qualifier to method 'GetHistory'.
* Acquire mutex lock at the start of new method 'RemoveLog'.
2022-10-24 00:50:07 +02:00
Marvin D
b689a2f618 CEngineTrace adjustments @r-ex 2022-10-23 23:47:27 +02:00
Marvin D
6a91e3c7e8 playlist indent 2022-10-23 01:28:10 +02:00
Marvin D
136ac06b7c ClipTransform, ScreenTransform (W2S) 2022-10-23 01:20:49 +02:00
Kawe Mazidjatari
f0f6a096b8 Final header files rename from sample -> editor 2022-10-22 22:55:22 +02:00