* 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!).
* Completely re-wrote the DirectX creation and hooks.
* Using spdlog mostly everywhere now.
* Added prints for when compiled in debug.
* Using LockCursor now to prevent input to the game while in the gui.
* Patched the game to call CMatSystemSurface::LockCursor instead of it calling the inlined version.
* Added rebuild CHostState::FrameUpdate (Not finished yet)
* Added option to print to command prompt again.
* Added log Auto-Clear.
* Added scan for NetChan Encryption Key Pointer.
* Added more error handling when loading gui config.
* Parsing playlist from keyvalues now.
* When hosting a server it will ask for a playlist to be chosen.
* Load playlist on demand into memory.
* Load playlist from disk.
* Added LoadPlaylist hook to clear the MapVPKCache that causes crashes with launchplaylist concommand
* KeyValues class is useable now.
* Added separate function to resolve relative addresses in address.h
* Added new patterns to the print function.
* Updated IsFlagSet hooks.
* Cleaned up code to properly mask off Dev and Cheat flags.
* Added separate define from _DEBUG so you can define it in release builds for people without C++ Debug Restributeables.
* Removed un-used define in hooks.h
* Fixed potential crashes in r5net and added debug prints.
* Potential crashes were when in certain post functions the returned status wasn't 200.
* Changed map-select drop down menu, now it displays 'Map Name + Season' instead of file-name. (#41)
* Host Server shows normal map names
* Changed a few stuff...
* redid some stuff that isn't crucial
* Update CCompanion.cpp
* Update CCompanion.cpp
* Updated mapname displaying.
* Moved "ServerMap" as a static object into CCompanion::HostServerSection().
Co-authored-by: IcePixelx <41352111+PixieCore@users.noreply.github.com>
* prevent squirrel compiler errors from killing game process (#43)
* Read description for all changes.
* Added ability to register custom ConVar.
* Added 2 custom ConVars to open the CGameConsole and CCompanion Windows.
* Changed ResolveRelativeAddress.
* Added Config System for the Gui.
* Added ImGui::Hotkey.
* Added the ability to change 2 hotkeys for opening the window for CGameConsole and CCompanion.
* Changed pattern for Squirrel_CompilerError to use a String.
* Added IMemAlloc::AllocWrapper to patterns.h
* Changes in description.
* Added icon to launcher.exe
* Launcher.exe gets remnamed to Run R5 Reloaded.exe in launcher release compilation configuration.
* Extended argument buffer for starting the game in launcher.exe.
* Added exception printing if in the custom ConVars an invalid value gets passed.
* Wrong return.
* Added shortcut with launch params.
* Fixed prints.
Co-authored-by: Marcii0 <58266292+Marcii0@users.noreply.github.com>
Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
* Improvements to GameConsole quality
* Add post-build events for renaming release executables to allow debugging "Debug" and "Release" from the same install
* Segmentate codeblocks for easier reading and scrolling
* Move all utilities to single implementation file
* Remove unnecessary code in .cpp and .h
* Patch opcodes in runtime instead of patching raw PE file
* Move launch parameters to cfg folder instead
* Move back to pattern scan instead of hardcoded offsets
* Change langauge to new ISO C++17 standard
Better signatures have to be created in the future to support roughly all retail r5apex modules. Maybe also load a file from the disk containing offsets for instant hooking before falling back to sigscan