714 Commits

Author SHA1 Message Date
PixieCore
8acc208e61 Getting games CBaseClientState now. 2022-05-07 17:52:41 +02:00
Kawe Mazidjatari
116d66f241 Fix Dear ImGui shutdown assert 2022-05-07 17:13:37 +02:00
Kawe Mazidjatari
45de72ea78 Prevent multiple threads logging at the same time (logging over each other) 2022-05-07 12:57:14 +02:00
Kawe Mazidjatari
6b13c4454a Add const qualifiers 2022-05-07 12:28:58 +02:00
Kawe Mazidjatari
3e2a9db168 Disable 'r5net_show_debug' by default 2022-05-07 12:25:23 +02:00
Kawe Mazidjatari
0549134133 Fix netconsole bug 2022-05-07 03:52:33 +02:00
Kawe Mazidjatari
57e6dc4280 Improve RCON system
* Buffers are now send properly from the game client and netconsole client (running scripts and executing command's/convar's now work properly).
* Removed 'PASS' string check on server and only rely on 'SERVERDATA_REQUEST_AUTH' enum for auth queries (should make heavy abuse even harder).
2022-05-07 03:06:19 +02:00
Kawe Mazidjatari
43cb013358 Update completion.cpp 2022-05-07 02:07:00 +02:00
Kawe Mazidjatari
9960ff06d4 Improve tree logging 2022-05-07 02:05:49 +02:00
Kawe Mazidjatari
34fddf723a Use uppercase for hex 2022-05-06 16:28:13 +02:00
Kawe Mazidjatari
d0974f7317 Validate AI Network during load
Compares AINet version, map version and NavMesh (large) checksum, warns and logs to console if conditions aren't satisfied.
2022-05-06 16:20:51 +02:00
Kawe Mazidjatari
ca3fcc941d Fix small mistake 2022-05-06 14:54:28 +02:00
Kawe Mazidjatari
17c5d14390 Update mdlcache.cpp 2022-05-06 13:21:42 +02:00
Kawe Mazidjatari
46a8228dad More MDLCache cleanup and error handling improvements 2022-05-06 13:19:06 +02:00
Kawe Mazidjatari
1308ae30bf Additional CMDLCache cleanup 2022-05-06 02:49:38 +02:00
Kawe Mazidjatari
215f205508 Improve CMDLCache::GetMaterialTable()
This should also be backwards compatible now
2022-05-06 02:32:25 +02:00
Kawe Mazidjatari
44f6f5e06b Update projects 2022-05-06 01:04:33 +02:00
Kawe Mazidjatari
72289f9f33 CMDLCache::GetStudioHardware improvements
Slightly mapped out the structure more.
The function should now be compatible with earlier game dll's.
CStudioHWDataRef::SetFlags has to be rebuild as these are declared inline for earlier game dll's.
2022-05-06 00:51:49 +02:00
PixieCore
66d122e192 Start of CEngineClient implementation.
* Rebuild SetRestrictedServerCommand and SetRestrictedClientCommands
* Implemented new CMemory Function to walk through a VTable.
* pDetours->GetCon() gets called first now.
*
2022-05-06 00:34:46 +02:00
Kawe Mazidjatari
31c4f36aa3 CMDLCache::FindUncachedMDL cleanup 2022-05-05 20:36:13 +02:00
Kawe Mazidjatari
ec7956622b Make CMDLCache::FindMDL and CMDLCache::FindCachedMDL backwards compatible
Mapped out some of the structs
2022-05-05 17:53:05 +02:00
Kawe Mazidjatari
4d2c819544 Fix statement not getting compiled into the resulting binary 2022-05-05 14:53:48 +02:00
Kawe Mazidjatari
13ff58efcf Fix crash during dereference of 'PSRWLOCK' pointer
Studio hardware ref crash
2022-05-05 14:52:03 +02:00
Kawe Mazidjatari
24dae59cb8 Improve CMDLCache::FindMDL 2022-05-05 02:54:17 +02:00
Kawe Mazidjatari
03a0546140 Reset level name when game is shut down 2022-05-05 02:46:15 +02:00
Kawe Mazidjatari
f851c29498 Optimize some CHLClient functions away for dedicated 2022-05-04 21:10:46 +02:00
Kawe Mazidjatari
ad6d299fe4 Fix dedicated compiling 2022-05-04 20:45:10 +02:00
Kawe Mazidjatari
93f634022a Get all available maps from VPK instead
Before we used the stbsp's, but we don't need to copy these for each maps (we could load existing ones to get working texture streaming for maps that don't have this)
2022-05-04 17:36:23 +02:00
Kawe Mazidjatari
ad08685e9b Remove hardcoded map names
We are not hardcoding them
2022-05-04 12:55:00 +02:00
Kawe Mazidjatari
325fee107b Some mdlcache error handling improvements 2022-05-04 12:44:01 +02:00
Kawe Mazidjatari
aedc722a8f Update thirdpartylegalnotices.txt 2022-05-04 03:10:56 +02:00
Kawe Mazidjatari
748bbf7dd1 Cleanup 2022-05-04 02:25:48 +02:00
Kawe Mazidjatari
c3f31d694a Improved mod RPak loading between changelevel
Note: this does not work reliably still.

The only way we could make this work 100% reliable would be to fully rebuild '0x140341D40' in the SDK and load our pak files among with the pre-existing g_pakLoadApi->AsyncLoad() call in this function, as this will ensure everything will be ran synchronously.

The current approach by taking some JT fifolock wrapper will only work reliably between one level change, unsure why the second and up fail.
2022-05-04 02:25:27 +02:00
Kawe Mazidjatari
713bafc416 See description
Fixed 'MOD_PreloadPak()' being called recursively.
Fixed wrong datatype for pak handle.
Use new and better method of parsing JSON files.
Don't unload pak files if user issued 'ChangeLevel' to the same level.

NOTE: This is still not complete and currently under development.
2022-05-03 17:36:42 +02:00
Kawe Mazidjatari
10474d07d7 Update JSON lib to version 3.10.5 2022-05-03 17:28:17 +02:00
Kawe Mazidjatari
26af720f7d Fill out cull map 2022-05-03 13:17:42 +02:00
Kawe Mazidjatari
6786d800cd More cleanup and slight performance boost 2022-05-03 03:40:47 +02:00
Kawe Mazidjatari
6bc638b7ce Little cleanup 2022-05-03 03:17:45 +02:00
Kawe Mazidjatari
84181f931c Remove redundant check 2022-05-03 03:10:55 +02:00
Kawe Mazidjatari
1d48574731 Refactored BuildPropStaticFrustumCullMap (see description)
Redacted most code to only perform operation to obtain studiohdr and staticprop material (read only operation, function does not modify memory used by the original 'v_BuildPropStaticFrustumCullMap()' implementation!)

The new function checks if pointer is within bounds (must stay within .data memory), if this isn't the case, the 'batch' is considered corrupt and function call to 'v_BuildPropStaticFrustumCullMap' won't proceed (note that the loop checks all bodygroups/LOD's of a model, it is possible that one doesn't have corrupt data, but a model where only one of its submeshes culls properly in the level is too much effort to fix as this function is based of disassembled output of the engine implementation, which in it self, comes with its own limitations).

For a better implementation we should proceed fully rebuilding the function (see commented function body).
The current and only problem with this is that it doesn't compute cull data properly (see bsplib.cpp line '222').
2022-05-03 02:37:37 +02:00
PixieCore
6ea81db14f ClientClass implementation and CHLClient::GetAllClasses.
* ClientClass is currently included in dedicated so it compiles for now. Please remove it at a later point it should not be compiled into dedicated.
2022-05-02 23:53:26 +02:00
Kawe Mazidjatari
9178068c55 Added note to root cause of BSP problem 2022-05-02 14:53:48 +02:00
Kawe Mazidjatari
c02214748b Small bsplib improvement 2022-05-02 14:14:07 +02:00
Kawe Mazidjatari
8b4df33151 Use 'sqrtf' for computing fade distance
This has to be debugged still as the computed data does not match the one computed from the engine (this is the reason the larger maps show artifacts!)
2022-05-02 03:40:07 +02:00
Kawe Mazidjatari
7df48151d4 Some 'BuildPropStaticFrustumCullMap' improvements
Artifact problem for large maps is still not solved.
2022-05-02 03:13:39 +02:00
PixieCore
096ecdd333 IClientEntityList and CUtlDict.
* IClientEntityList is the full virtual function table.
* CUtlDict "implementation" is temporary.
2022-05-01 23:03:20 +02:00
Kawe Mazidjatari
a23c0b1ba9 Merge branch 'indev' of https://github.com/Mauler125/r5sdk into indev 2022-05-01 21:09:06 +02:00
Kawe Mazidjatari
8ad4350f9f Improved BuildPropStaticFrustumCullMap
* Fixed bug where the address of g_pStaticPropMgr wasn't properly dereferenced and passed to function via its reference (engine addr).
* Fixed dword dereference.

Problems: engine still culls models improperly.
2022-05-01 21:09:05 +02:00
PixieCore
83048e856c Removed debug code. 2022-05-01 20:58:24 +02:00
PixieCore
51ace16074 Fix CBaseClientState pointer vars. 2022-05-01 20:57:08 +02:00