* Added backbone and some of the routes for r5net-ms (now Pylon) interactions
* partial commit
* added get private game server info route
* Fixed post requests not using provided route
* Pylon C++ implementation actually working now
Co-authored-by: PixieCore <41352111+PixieCore@users.noreply.github.com>
commit 4b6351200b9f7e7bb75b780c46042afbed3359f3
Merge: a3946bb 47dc117
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 22:09:36 2021 +0200
Merge branch 'Mauler125:pylon' into pylon
commit a3946bb5ce4655665a763aeb3c2b016215bfa805
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 22:07:02 2021 +0200
Pylon C++ implementation actually working now
commit 00cd76f7b21476e054d3ead4a4c8d507f391c963
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 03:45:41 2021 +0200
Fixed post requests not using provided route
commit 2f2d01713fd38861f0e674641bf14b6afd25ecc6
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 03:44:20 2021 +0200
added get private game server info route
commit b53b89d31a7201ac594abf16dd7c00134bb5a132
Merge: 433f14c c8ec95b
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 03:32:14 2021 +0200
Merge branch 'pylon' into indev
commit 433f14c352a0ae366cff2cbe03753b2198a77848
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 03:31:33 2021 +0200
partial commit
commit c8ec95bd37ed0c3e16090ed0a15808bda6a2ee99
Author: Alex <18037145+salcodes1@users.noreply.github.com>
Date: Tue Dec 28 03:26:44 2021 +0200
Added backbone and some of the routes for r5net-ms (now Pylon) interactions
commit 477152b35443246dace6f5b4deccd52ea1cc6e9c
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Fri Dec 31 03:45:48 2021 +0100
Fix compiler error
commit 5f664d8e6ba9a2e0bd72c29c5f4ba5279e29e75a
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Fri Dec 31 03:41:33 2021 +0100
Create signatures for all used Dedicated functions
commit 2c7ced128d8c48a5abf8fd64dbb06909dc632f35
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Thu Dec 30 22:13:15 2021 +0100
Heavy dedicated cleanup
* Since the material mode is set to '2', all of the render loops and shader loading functions are no longer called. These have all been removed.
* Added description for patches that missed them
* Traced root caller/cause for certain patches to skip even more unnecessary code and save more memory.
commit 22c0b5c867664a2524c18d865dbc54ff067dda22
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Thu Dec 30 17:20:41 2021 +0100
Dedicated server improvements
commit 6d4f7e345f38872ce45751604b40871b969cec8f
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Thu Dec 30 02:47:42 2021 +0100
Fix a typo
commit 39a8a8fd30612522a274e1474c9a66e5019aeea3
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Thu Dec 30 02:36:43 2021 +0100
Implement patch to enable 'DrawAllOverlays()'.
commit 83129e88f8a6033f8f4c13e3cac639097068cb3c
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 22:59:34 2021 +0100
Fix LLVM compiler error
commit c48ed7f7a53a9985e3c2642db3639007d7c9129a
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 18:06:37 2021 +0100
Rename dedicated variables
commit d1ba2bd56720a0776824a8e309d7d859704244bc
Author: IcePixelx <41352111+PixieCore@users.noreply.github.com>
Date: Wed Dec 29 15:35:48 2021 +0100
Fixed changelevel, needs more research tho.
commit 46950125716c05171f25a12d8805811112e90551
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 13:58:03 2021 +0100
Fix 'C_PropDoor' not spawning properly on the server
commit 6a9a00735a9d4b8c415acc248c83e6e8d6dc2ff1
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 13:57:16 2021 +0100
Rename hooked command callbacks
commit b514f928a69a9c4ac1d3d1e5c662f93a1f0d131d
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 02:16:21 2021 +0100
Use a separate executable for dedicated server
The dedicated server still has directx dll imports which will cause issues with ReShade or 3DMigoto, or trying to load it on a headless machine with no directx installed. The imports have to be cleared to avoid issues. The most convenient approach is to do this with a separate exe rather then patching it in runtime.
commit bc8f9400d3911e360757059700a31510e329546d
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Wed Dec 29 00:18:56 2021 +0100
Fix collisions for headless dedicated server
commit 0e36aa647ffb15ca4f8c76b0431f7c3a83741d80
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date: Tue Dec 28 20:19:17 2021 +0100
Dedicated without ShaderApi and DirectX pre-alpha
The instruction at 'CalcPropStaticFrustumCull' [0x14028F3B0 + 0x5C7] moves RSP + 0x70 into the R13 register.
RSP + 0x70 seems to contain a pointer to collission data for that particular prop model.
When running NoShaderApi() and passing the dedicated server the '-noshaderapi' command line parameter, RSP + 0x70 will be a nullptr.
This has to be fixed to have prop static collissions on the server.
Dedicated RemoteFunctionCallsChecksum needs fixing because its currently always null.
Hidden needs to be implemented. I wouldn't say its needed currently till the Pylon re-write hits indev branch.
The approach could likely be performed better, however this is a multithreaded operation and isn't very easy to debug. So far this allowed the server to start and change to every level. The root cause has to be identified when the server is stable
* Fixed assert on ImGui on IBrowser because ImGui::Begin wasn't followed up by ImGui::End
* FileExists got modernized. Using std library instead of Windows native functions now.
* RTech::DecompressedSize is actually readable now thanks to steyk.
* Same goes for RTech::Decompress
* rtech_decompress prints the decompressed file CRC32 now and writes the file all at once.
* Fixed ImGui assert on spamming SetupImGui();
* Codebase restructured to SourceSDK codebase style and .cpp/.h assertion paths in the game executable.
* Document most functions with valve style 'Purpose' blocks.
* Rename variables to match the rest of the codebase and Valve's naming convention.
* Dedicated DLL and the SDKLauncher now share the same codebase as the DevSDK.
* Obtain globals or pointers directly instead of waiting for runtime initialized data.
* Dynamically search for all functions and globals (this doesn't count for dedicated yet!).
* Initialize most in-SDK variables.
* Move certain prints and other utilities under ConVars to reduce verbosity and increase performance.
* Print all pattern scan results through a virtual function to make it easier to add and debug new patterns in the future.
* Type global var pointers appropriately if class or type is known and implemented.
* Forward declare 'CClient' class to avoid having 2 'g_pClient' copies.
* Add IDA's pseudo definitions for easier prototyping with decompiled assembly code.
* RPAK decompress Command callback implementation.
* Load decompressed RPaks from 'paks\Win32\' overriding the ones in 'paks\Win64\' (the decompress callback will automatically fix the header and write it to 'paks\Win32\').
* VPK decompress Command callback implementation.
* Move CRC32 ands Adler32 to implementation files.
* Server will print out more details about the connecting client.
* Upgrade ImGui lib to v1.86.
* Don't compile id3dx.h for dedicated.
* Don't compile id3dx.cpp for dedicated
* Implement DevMsg print function allowing to print information to the in-game VGUI/RUI console overlay, ImGui console overlay and the external windows console
* Fixed bug where the Error function would not properly terminate the process when an error is called. This caused access violations for critical/non-recoverable errors.
* Fixed bug where the game would crash if the console or server browser was enabled while the game was still starting up.
* Several bug fixes for the dedicated server (warning: dedicated is still considered work-in-progress!).
'Changelevel 'concommand works consistently and indefinitely now
Huge strip down in resource usage. Few things to be fixed still so idle mem usage is still balooned due to a temporary solution brought in place to prevent crashing when loading texture and material assets.
Stripping texture and material assets preloading from the root caused issues in 'CStudioRenderContext' and 'ModelLoader'. This needs to be addressed in the future
Exact line of the issue: Line 177 in opcodes.cpp:
"gCSourceAppSystemGroup_Create.Offset(0x384).Patch({ 0x90, 0x90, 0x90 }); // PrecacheMaterial"