From 85462806d1d5d4b82260a36cbb1bb5f2c5721297 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Mon, 20 Jun 2022 15:04:27 +0200 Subject: [PATCH] Improve sys_utils naming Stripped 'Con_NPrintf' from dedicated. --- r5dev/engine/sys_utils.cpp | 70 +++++++++++++++++++------------------- r5dev/engine/sys_utils.h | 32 ++++++++++------- 2 files changed, 54 insertions(+), 48 deletions(-) diff --git a/r5dev/engine/sys_utils.cpp b/r5dev/engine/sys_utils.cpp index b286f372..816a14ea 100644 --- a/r5dev/engine/sys_utils.cpp +++ b/r5dev/engine/sys_utils.cpp @@ -36,7 +36,7 @@ void HSys_Error(char* fmt, ...) va_end(args); Error(eDLL_T::ENGINE, "%s\n", buf); - return Sys_Error(buf); + return v_Sys_Error(buf); } //----------------------------------------------------------------------------- @@ -59,7 +59,34 @@ void* HSys_Warning(int level, char* fmt, ...) }///////////////////////////// Warning(eDLL_T::NONE, "Warning(%d):%s\n", level, buf); - return Sys_Warning(level, buf); + return v_Sys_Warning(level, buf); +} + +//----------------------------------------------------------------------------- +// Purpose: Load assets from a custom directory if file exists +// Input : *lpFileName - +// a2 - *a3 - +// Output : void* Sys_LoadAssetHelper +//----------------------------------------------------------------------------- +void* HSys_LoadAssetHelper(const CHAR* lpFileName, std::int64_t a2, LARGE_INTEGER* a3) +{ + std::string mod_file; + std::string base_file = lpFileName; + static const std::string mod_dir = "paks\\Win32\\"; + static const std::string base_dir = "paks\\Win64\\"; + + if (strstr(lpFileName, base_dir.c_str())) + { + base_file.erase(0, 11); // Erase 'base_dir'. + mod_file = mod_dir + base_file; // Prepend 'mod_dir'. + + if (FileExists(mod_file)) + { + // Load decompressed pak files from 'mod_dir'. + return v_Sys_LoadAssetHelper(mod_file.c_str(), a2, a3); + } + } + return v_Sys_LoadAssetHelper(lpFileName, a2, a3); } #ifndef DEDICATED @@ -89,33 +116,6 @@ void HCon_NPrintf(int pos, const char* fmt, ...) } #endif // !DEDICATED -//----------------------------------------------------------------------------- -// Purpose: Load assets from a custom directory if file exists -// Input : *lpFileName - -// a2 - *a3 - -// Output : void* Sys_LoadAssetHelper -//----------------------------------------------------------------------------- -void* HSys_LoadAssetHelper(const CHAR* lpFileName, std::int64_t a2, LARGE_INTEGER* a3) -{ - std::string mod_file; - std::string base_file = lpFileName; - static const std::string mod_dir = "paks\\Win32\\"; - static const std::string base_dir = "paks\\Win64\\"; - - if (strstr(lpFileName, base_dir.c_str())) - { - base_file.erase(0, 11); // Erase 'base_dir'. - mod_file = mod_dir + base_file; // Prepend 'mod_dir'. - - if (FileExists(mod_file)) - { - // Load decompressed pak files from 'mod_dir'. - return Sys_LoadAssetHelper(mod_file.c_str(), a2, a3); - } - } - return Sys_LoadAssetHelper(lpFileName, a2, a3); -} - //----------------------------------------------------------------------------- // Purpose: Gets the process up time (input buffer should be at least 4096 bytes in size) // Input : *szBuffer - @@ -129,19 +129,19 @@ int Sys_GetProcessUpTime(char* szBuffer) void SysUtils_Attach() { //DetourAttach((LPVOID*)&Sys_Error, &HSys_Error); - DetourAttach((LPVOID*)&Sys_Warning, &HSys_Warning); - DetourAttach((LPVOID*)&Sys_LoadAssetHelper, &HSys_LoadAssetHelper); + DetourAttach((LPVOID*)&v_Sys_Warning, &HSys_Warning); + DetourAttach((LPVOID*)&v_Sys_LoadAssetHelper, &HSys_LoadAssetHelper); #ifndef DEDICATED - DetourAttach((LPVOID*)&Con_NPrintf, &HCon_NPrintf); + DetourAttach((LPVOID*)&v_Con_NPrintf, &HCon_NPrintf); #endif // !DEDICATED } void SysUtils_Detach() { //DetourDetach((LPVOID*)&Sys_Error, &HSys_Error); - DetourDetach((LPVOID*)&Sys_Warning, &HSys_Warning); - DetourDetach((LPVOID*)&Sys_LoadAssetHelper, &HSys_LoadAssetHelper); + DetourDetach((LPVOID*)&v_Sys_Warning, &HSys_Warning); + DetourDetach((LPVOID*)&v_Sys_LoadAssetHelper, &HSys_LoadAssetHelper); #ifndef DEDICATED - DetourDetach((LPVOID*)&Con_NPrintf, &HCon_NPrintf); + DetourDetach((LPVOID*)&v_Con_NPrintf, &HCon_NPrintf); #endif // !DEDICATED } diff --git a/r5dev/engine/sys_utils.h b/r5dev/engine/sys_utils.h index dec74247..c805b616 100644 --- a/r5dev/engine/sys_utils.h +++ b/r5dev/engine/sys_utils.h @@ -2,19 +2,20 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// inline CMemory p_Sys_Error; -inline auto Sys_Error = p_Sys_Error.RCast(); +inline auto v_Sys_Error = p_Sys_Error.RCast(); -inline CMemory p_Warning; -inline auto Sys_Warning = p_Warning.RCast(); +inline CMemory p_Sys_Warning; +inline auto v_Sys_Warning = p_Sys_Warning.RCast(); inline CMemory p_Sys_LoadAssetHelper; -inline auto Sys_LoadAssetHelper = p_Sys_LoadAssetHelper.RCast(); +inline auto v_Sys_LoadAssetHelper = p_Sys_LoadAssetHelper.RCast(); inline CMemory p_Sys_GetProcessUpTime; inline auto v_Sys_GetProcessUpTime = p_Sys_GetProcessUpTime.RCast(); - +#ifndef DEDICATED inline CMemory p_Con_NPrintf; -inline auto Con_NPrintf = p_Con_NPrintf.RCast(); +inline auto v_Con_NPrintf = p_Con_NPrintf.RCast(); +#endif // !DEDICATED /* ==== ------- ========================================================================================================================================================= */ /////////////////////////////////////////////////////////////////////////////// @@ -30,25 +31,30 @@ class VSys_Utils : public IDetour virtual void GetAdr(void) const { spdlog::debug("| FUN: Sys_Error : {:#18x} |\n", p_Sys_Error.GetPtr()); - spdlog::debug("| FUN: Sys_Warning : {:#18x} |\n", p_Warning.GetPtr()); + spdlog::debug("| FUN: Sys_Warning : {:#18x} |\n", p_Sys_Warning.GetPtr()); spdlog::debug("| FUN: Sys_LoadAssetHelper : {:#18x} |\n", p_Sys_LoadAssetHelper.GetPtr()); spdlog::debug("| FUN: Sys_GetProcessUpTime : {:#18x} |\n", p_Sys_LoadAssetHelper.GetPtr()); +#ifndef DEDICATED spdlog::debug("| FUN: Con_NPrintf : {:#18x} |\n", p_Con_NPrintf.GetPtr()); +#endif // !DEDICATED spdlog::debug("+----------------------------------------------------------------+\n"); } virtual void GetFun(void) const { p_Sys_Error = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x48\x89\x4C\x24\x08\x48\x89\x54\x24\x10\x4C\x89\x44\x24\x18\x4C\x89\x4C\x24\x20\x53\x55\x41\x54\x41\x56\xB8\x58\x10\x00\x00\xE8"), "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); - p_Warning = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x48\x89\x54\x24\x00\x4C\x89\x44\x24\x00\x4C\x89\x4C\x24\x00\x48\x83\xEC\x28\x4C\x8D\x44\x24\x00\xE8\x00\x00\x00\x00\x48\x83\xC4\x28\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x48\x89\x5C\x24\x00\x48\x89\x74\x24\x00\x48\x89\x7C\x24\x00\x8B\x05\x00\x00\x00\x00"), "xxxx?xxxx?xxxx?xxxxxxxx?x????xxxxxxxxxxxxxxxxxxxxxxx?xxxx?xxxx?xx????"); + p_Sys_Warning = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x48\x89\x54\x24\x00\x4C\x89\x44\x24\x00\x4C\x89\x4C\x24\x00\x48\x83\xEC\x28\x4C\x8D\x44\x24\x00\xE8\x00\x00\x00\x00\x48\x83\xC4\x28\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x48\x89\x5C\x24\x00\x48\x89\x74\x24\x00\x48\x89\x7C\x24\x00\x8B\x05\x00\x00\x00\x00"), "xxxx?xxxx?xxxx?xxxxxxxx?x????xxxxxxxxxxxxxxxxxxxxxxx?xxxx?xxxx?xx????"); p_Sys_LoadAssetHelper = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x48\x89\x74\x24\x10\x48\x89\x7C\x24\x18\x41\x56\x48\x83\xEC\x40\x33"), "xxxxxxxxxxxxxxxxx"); p_Sys_GetProcessUpTime = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x40\x57\x48\x83\xEC\x30\x48\x8B\xF9\x8B\x0D\x00\x00\x00\x00"), "xxxxxxxxxxx????"); +#ifndef DEDICATED p_Con_NPrintf = g_mGameDll.FindPatternSIMD(reinterpret_cast("\x48\x89\x4C\x24\x00\x48\x89\x54\x24\x00\x4C\x89\x44\x24\x00\x4C\x89\x4C\x24\x00\xC3"), "xxxx?xxxx?xxxx?xxxx?x"); - - Sys_Error = p_Sys_Error.RCast(); /*48 89 4C 24 08 48 89 54 24 10 4C 89 44 24 18 4C 89 4C 24 20 53 55 41 54 41 56 B8 58 10 00 00 E8*/ - Sys_Warning = p_Warning.RCast(); /*48 89 54 24 ?? 4C 89 44 24 ?? 4C 89 4C 24 ?? 48 83 EC 28 4C 8D 44 24 ?? E8 ?? ?? ?? ?? 48 83 C4 28 C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 48 89 5C 24 ?? 48 89 74 24 ?? 48 89 7C 24 ?? 8B 05 ?? ?? ?? ??*/ - Sys_LoadAssetHelper = p_Sys_LoadAssetHelper.RCast();/*48 89 74 24 10 48 89 7C 24 18 41 56 48 83 EC 40 33*/ +#endif // !DEDICATED + v_Sys_Error = p_Sys_Error.RCast(); /*48 89 4C 24 08 48 89 54 24 10 4C 89 44 24 18 4C 89 4C 24 20 53 55 41 54 41 56 B8 58 10 00 00 E8*/ + v_Sys_Warning = p_Sys_Warning.RCast(); /*48 89 54 24 ?? 4C 89 44 24 ?? 4C 89 4C 24 ?? 48 83 EC 28 4C 8D 44 24 ?? E8 ?? ?? ?? ?? 48 83 C4 28 C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 48 89 5C 24 ?? 48 89 74 24 ?? 48 89 7C 24 ?? 8B 05 ?? ?? ?? ??*/ + v_Sys_LoadAssetHelper = p_Sys_LoadAssetHelper.RCast();/*48 89 74 24 10 48 89 7C 24 18 41 56 48 83 EC 40 33*/ v_Sys_GetProcessUpTime = p_Sys_GetProcessUpTime.RCast(); /*40 57 48 83 EC 30 48 8B F9 8B 0D ?? ?? ?? ??*/ - Con_NPrintf = p_Con_NPrintf.RCast(); /*48 89 4C 24 ?? 48 89 54 24 ?? 4C 89 44 24 ?? 4C 89 4C 24 ?? C3*/ +#ifndef DEDICATED + v_Con_NPrintf = p_Con_NPrintf.RCast(); /*48 89 4C 24 ?? 48 89 54 24 ?? 4C 89 44 24 ?? 4C 89 4C 24 ?? C3*/ +#endif // !DEDICATED } virtual void GetVar(void) const { } virtual void GetCon(void) const { }