From ddfdb4ffd88b47de937bfb7e0f53d522a90f07f9 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Tue, 17 May 2022 23:00:30 +0200 Subject: [PATCH] See description Add '-nodiscord' and '-nobakedparticles' to launch params for dedicated. Add hook for 'MemAlloc_Internal()'. Rename loggers to be more consistent with naming. Revert omitting frame pointers. --- r5dev/core/init.cpp | 8 ++++++-- r5dev/core/logdef.cpp | 16 ++++++++-------- r5dev/engine/net.cpp | 4 ++-- r5dev/engine/sys_utils.cpp | 6 +++--- r5dev/filesystem/basefilesystem.cpp | 2 +- r5dev/launcher/launcher.cpp | 6 ++++-- r5dev/launcher/launcher.h | 4 ++-- r5dev/squirrel/sqvm.cpp | 4 ++-- r5dev/tier0/tslist.cpp | 17 +++++++++++++++++ r5dev/tier0/tslist.h | 10 ++++++---- r5dev/tier1/IConVar.cpp | 4 ++-- r5dev/tier1/cmd.cpp | 2 +- r5dev/vphysics/QHull.cpp | 2 +- r5dev/vproj/clientsdk.vcxproj | 3 ++- r5dev/vproj/clientsdk.vcxproj.filters | 3 +++ r5dev/vproj/dedicated.vcxproj | 2 ++ r5dev/vproj/dedicated.vcxproj.filters | 3 +++ r5dev/vproj/gamesdk.vcxproj | 3 ++- r5dev/vproj/gamesdk.vcxproj.filters | 3 +++ 19 files changed, 70 insertions(+), 32 deletions(-) create mode 100644 r5dev/tier0/tslist.cpp diff --git a/r5dev/core/init.cpp b/r5dev/core/init.cpp index 54ff50bd..13635e78 100644 --- a/r5dev/core/init.cpp +++ b/r5dev/core/init.cpp @@ -142,7 +142,9 @@ void Systems_Init() DetourUpdateThread(GetCurrentThread()); // Hook functions - Launcher_Attatch(); + //TSList_Attach(); + + Launcher_Attach(); IApplication_Attach(); #ifdef DEDICATED //PRX_Attach(); @@ -257,7 +259,9 @@ void Systems_Shutdown() DetourUpdateThread(GetCurrentThread()); // Unhook functions - Launcher_Detatch(); + //TSList_Detach(); + + Launcher_Detach(); IApplication_Detach(); #ifdef DEDICATED //PRX_Detach(); diff --git a/r5dev/core/logdef.cpp b/r5dev/core/logdef.cpp index 63e86c29..36df6c9d 100644 --- a/r5dev/core/logdef.cpp +++ b/r5dev/core/logdef.cpp @@ -45,14 +45,14 @@ void SpdLog_Init(void) * ROTATE LOGGER SETUP * ************************/ { - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sqvm_warn_logger", "platform\\logs\\sqvm_warn.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sqvm_print_logger", "platform\\logs\\sqvm_print.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("dev_message_logger", "platform\\logs\\dev_message.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("warn_message_logger", "platform\\logs\\sdk_warn.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("error_message_logger", "platform\\logs\\sdk_error.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("qhull_debug_logger", "platform\\logs\\qhull_print.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("netchan_packet_logger", "platform\\logs\\net_trace.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); - spdlog::rotating_logger_mt<spdlog::synchronous_factory>("filesystem_warn_logger", "platform\\logs\\fs_warn.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sqvm_warn" , "platform\\logs\\sqvm_warn.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sqvm_info" , "platform\\logs\\sqvm_info.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sdk_info" , "platform\\logs\\sdk_info.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sdk_warn" , "platform\\logs\\sdk_warn.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("sdk_error" , "platform\\logs\\sdk_error.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("qhull_info", "platform\\logs\\qhull_info.log", SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("net_trace" , "platform\\logs\\net_trace.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); + spdlog::rotating_logger_mt<spdlog::synchronous_factory>("fs_warn" , "platform\\logs\\fs_warn.log" , SPDLOG_MAX_SIZE, SPDLOG_NUM_FILE)->set_pattern("[%Y-%m-%d %H:%M:%S.%e] %v"); } spdlog::set_level(spdlog::level::trace); diff --git a/r5dev/engine/net.cpp b/r5dev/engine/net.cpp index 31707326..b4265159 100644 --- a/r5dev/engine/net.cpp +++ b/r5dev/engine/net.cpp @@ -33,7 +33,7 @@ bool NET_ReceiveDatagram(int iSocket, netpacket_s* pInpacket, bool bEncrypted) if (result && net_tracePayload->GetBool()) { // Log received packet data. - HexDump("[+] NET_ReceiveDatagram", "netchan_packet_logger", &pInpacket->pData[NULL], pInpacket->wiresize); + HexDump("[+] NET_ReceiveDatagram", "net_trace", &pInpacket->pData[NULL], pInpacket->wiresize); } return result; } @@ -53,7 +53,7 @@ int NET_SendDatagram(SOCKET s, void* pPayload, int iLenght, v_netadr_t* pAdr, bo if (result && net_tracePayload->GetBool()) { // Log transmitted packet data. - HexDump("[+] NET_SendDatagram", "netchan_packet_logger", pPayload, iLenght); + HexDump("[+] NET_SendDatagram", "net_trace", pPayload, iLenght); } return result; } diff --git a/r5dev/engine/sys_utils.cpp b/r5dev/engine/sys_utils.cpp index bfed0bd1..f3a32848 100644 --- a/r5dev/engine/sys_utils.cpp +++ b/r5dev/engine/sys_utils.cpp @@ -105,7 +105,7 @@ void DevMsg(eDLL_T idx, const char* fmt, ...) static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("dev_message_logger"); + static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sdk_info"); s_LogMutex.lock(); {///////////////////////////// @@ -213,7 +213,7 @@ void Warning(eDLL_T idx, const char* fmt, ...) static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("warn_message_logger"); + static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sdk_warn"); s_LogMutex.lock(); {///////////////////////////// @@ -290,7 +290,7 @@ void Error(eDLL_T idx, const char* fmt, ...) static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("error_message_logger"); + static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sdk_error"); s_LogMutex.lock(); {///////////////////////////// diff --git a/r5dev/filesystem/basefilesystem.cpp b/r5dev/filesystem/basefilesystem.cpp index 65e88e26..bd4c217f 100644 --- a/r5dev/filesystem/basefilesystem.cpp +++ b/r5dev/filesystem/basefilesystem.cpp @@ -72,7 +72,7 @@ void CBaseFileSystem::Warning(CBaseFileSystem* pFileSystem, FileWarningLevel_t l static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> fslogger = spdlog::get("filesystem_warn_logger"); + static std::shared_ptr<spdlog::logger> fslogger = spdlog::get("fs_warn"); {///////////////////////////// va_list args{}; diff --git a/r5dev/launcher/launcher.cpp b/r5dev/launcher/launcher.cpp index e0e90c82..606f6cab 100644 --- a/r5dev/launcher/launcher.cpp +++ b/r5dev/launcher/launcher.cpp @@ -78,8 +78,10 @@ void AppendSDKParametersPreInit() CommandLine()->AppendParm("-collate", ""); CommandLine()->AppendParm("-multiple", ""); CommandLine()->AppendParm("-noorigin", ""); + CommandLine()->AppendParm("-nodiscord", ""); CommandLine()->AppendParm("-novid", ""); CommandLine()->AppendParm("-noshaderapi", ""); + CommandLine()->AppendParm("-nobakedparticles", ""); CommandLine()->AppendParm("-nosound", ""); CommandLine()->AppendParm("-nojoy", ""); CommandLine()->AppendParm("-nomouse", ""); @@ -159,7 +161,7 @@ const char* ExitCodeToString(int nCode) } } -void Launcher_Attatch() +void Launcher_Attach() { DetourAttach((LPVOID*)&v_WinMain, &HWinMain); DetourAttach((LPVOID*)&v_LauncherMain, &LauncherMain); @@ -168,7 +170,7 @@ void Launcher_Attatch() #endif } -void Launcher_Detatch() +void Launcher_Detach() { DetourDetach((LPVOID*)&v_WinMain, &HWinMain); DetourDetach((LPVOID*)&v_LauncherMain, &LauncherMain); diff --git a/r5dev/launcher/launcher.h b/r5dev/launcher/launcher.h index bb30e854..1ca0cc75 100644 --- a/r5dev/launcher/launcher.h +++ b/r5dev/launcher/launcher.h @@ -17,8 +17,8 @@ string LoadConfigFile(const string& svConfig); void ParseAndApplyConfigFile(const string& svConfig); const char* ExitCodeToString(int nCode); -void Launcher_Attatch(); -void Launcher_Detatch(); +void Launcher_Attach(); +void Launcher_Detach(); /////////////////////////////////////////////////////////////////////////////// class VLauncher : public IDetour diff --git a/r5dev/squirrel/sqvm.cpp b/r5dev/squirrel/sqvm.cpp index cae6c735..f0a61d35 100644 --- a/r5dev/squirrel/sqvm.cpp +++ b/r5dev/squirrel/sqvm.cpp @@ -59,7 +59,7 @@ SQRESULT HSQVM_PrintFunc(HSQUIRRELVM v, SQChar* fmt, ...) static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sqvm_print_logger"); + static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sqvm_info"); s_LogMutex.lock(); {///////////////////////////// @@ -187,7 +187,7 @@ SQRESULT HSQVM_WarningFunc(HSQUIRRELVM v, SQInteger a2, SQInteger a3, SQInteger* static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sqvm_warn_logger"); + static std::shared_ptr<spdlog::logger> sqlogger = spdlog::get("sqvm_warn"); std::string vmStr = SQVM_LOG_T[static_cast<int>(context)].c_str(); std::string svConstructor(*ppString, *nStringSize); // Get string from memory via std::string constructor. diff --git a/r5dev/tier0/tslist.cpp b/r5dev/tier0/tslist.cpp new file mode 100644 index 00000000..42b7b0c4 --- /dev/null +++ b/r5dev/tier0/tslist.cpp @@ -0,0 +1,17 @@ +#include "core/stdafx.h" +#include "tier0/tslist.h" + +void* MemAlloc_Internal(void* pPool, int64_t nSize) +{ + return v_MemAlloc_Internal(pPool, nSize); +} + +void TSList_Attach() +{ + DetourAttach((LPVOID*)&v_MemAlloc_Internal, &MemAlloc_Internal); +} + +void TSList_Detach() +{ + DetourDetach((LPVOID*)&v_MemAlloc_Internal, &MemAlloc_Internal); +} \ No newline at end of file diff --git a/r5dev/tier0/tslist.h b/r5dev/tier0/tslist.h index f497ea78..6c1771db 100644 --- a/r5dev/tier0/tslist.h +++ b/r5dev/tier0/tslist.h @@ -2,16 +2,18 @@ #define TSLIST_H inline CMemory p_MemAlloc_Internal; -inline auto malloc_internal = p_MemAlloc_Internal.RCast<void* (*)(void* pBool, int64_t nSize)>(); +inline auto v_MemAlloc_Internal = p_MemAlloc_Internal.RCast<void* (*)(void* pPool, int64_t nSize)>(); inline CMemory p_MemAlloc_Wrapper; -inline auto MemAlloc_Wrapper = p_MemAlloc_Wrapper.RCast<void* (*)(size_t)>(); +inline auto v_MemAlloc_Wrapper = p_MemAlloc_Wrapper.RCast<void* (*)(size_t)>(); inline CMemory p_CTSListBase_Wrapper; inline auto CTSListBase_Wrapper = p_CTSListBase_Wrapper.RCast<void* (*)(void)>(); inline CMemory g_pMallocPool; +void TSList_Attach(); +void TSList_Detach(); /////////////////////////////////////////////////////////////////////////////// class VTSListBase : public IDetour { @@ -36,8 +38,8 @@ class VTSListBase : public IDetour p_CTSListBase_Wrapper = g_mGameDll.FindPatternSIMD(reinterpret_cast<rsig_t>("\x40\x53\x48\x83\xEC\x20\xBB\x00\x00\x00\x00\x33\xC0"), "xxxxxxx????xx"); CTSListBase_Wrapper = p_CTSListBase_Wrapper.RCast<void* (*)(void)>(); /*40 53 48 83 EC 20 BB ?? ?? ?? ?? 33 C0*/ - MemAlloc_Wrapper = p_MemAlloc_Wrapper.RCast<void* (*)(size_t)>(); /*40 53 48 83 EC 20 48 8B 05 6B 83 25 0D 48 8B D9*/ - malloc_internal = p_MemAlloc_Internal.RCast<void* (*)(void*, int64_t)>(); /*E9 ?? ?? ?? ?? CC CC CC 40 53 48 83 EC 20 48 8D 05 ?? ?? ?? ??*/ + v_MemAlloc_Wrapper = p_MemAlloc_Wrapper.RCast<void* (*)(size_t)>(); /*40 53 48 83 EC 20 48 8B 05 6B 83 25 0D 48 8B D9*/ + v_MemAlloc_Internal = p_MemAlloc_Internal.RCast<void* (*)(void*, int64_t)>(); /*E9 ?? ?? ?? ?? CC CC CC 40 53 48 83 EC 20 48 8D 05 ?? ?? ?? ??*/ } virtual void GetVar(void) const { diff --git a/r5dev/tier1/IConVar.cpp b/r5dev/tier1/IConVar.cpp index 289591e4..79a1b0b3 100644 --- a/r5dev/tier1/IConVar.cpp +++ b/r5dev/tier1/IConVar.cpp @@ -18,8 +18,8 @@ //----------------------------------------------------------------------------- ConVar::ConVar(const char* pszName, const char* pszDefaultValue, int nFlags, const char* pszHelpString, bool bMin, float fMin, bool bMax, float fMax, void* pCallback, const char* pszUsageString) { - ConVar* pNewConVar = reinterpret_cast<ConVar*>(MemAlloc_Wrapper(sizeof(ConVar))); // Allocate new memory with StdMemAlloc else we crash. - memset(pNewConVar, '\0', sizeof(ConVar)); // Set all to null. + ConVar* pNewConVar = reinterpret_cast<ConVar*>(v_MemAlloc_Wrapper(sizeof(ConVar))); // Allocate new memory with StdMemAlloc else we crash. + memset(pNewConVar, '\0', sizeof(ConVar)); // Set all to null. pNewConVar->m_pConCommandBaseVTable = g_pConVarVtable.RCast<void*>(); pNewConVar->m_pIConVarVTable = g_pIConVarVtable.RCast<void*>(); diff --git a/r5dev/tier1/cmd.cpp b/r5dev/tier1/cmd.cpp index 5948402c..138fdce5 100644 --- a/r5dev/tier1/cmd.cpp +++ b/r5dev/tier1/cmd.cpp @@ -98,7 +98,7 @@ bool CCommand::HasOnlyDigits(int nIndex) const //----------------------------------------------------------------------------- ConCommand::ConCommand(const char* pszName, const char* pszHelpString, int nFlags, void* pCallback, void* pCommandCompletionCallback) { - ConCommand* pCommand = reinterpret_cast<ConCommand*>(MemAlloc_Wrapper(sizeof(ConCommand))); // Allocate new memory with StdMemAlloc else we crash. + ConCommand* pCommand = reinterpret_cast<ConCommand*>(v_MemAlloc_Wrapper(sizeof(ConCommand))); // Allocate new memory with StdMemAlloc else we crash. memset(pCommand, '\0', sizeof(ConCommand)); // Set all to null. pCommand->m_pConCommandBaseVTable = g_pConCommandVtable.RCast<void*>(); diff --git a/r5dev/vphysics/QHull.cpp b/r5dev/vphysics/QHull.cpp index 9e7f8776..f1decd0f 100644 --- a/r5dev/vphysics/QHull.cpp +++ b/r5dev/vphysics/QHull.cpp @@ -15,7 +15,7 @@ int HQHull_PrintFunc(const char* fmt, ...) static std::shared_ptr<spdlog::logger> iconsole = spdlog::get("game_console"); static std::shared_ptr<spdlog::logger> wconsole = spdlog::get("win_console"); - static std::shared_ptr<spdlog::logger> qhlogger = spdlog::get("qhull_debug_logger"); + static std::shared_ptr<spdlog::logger> qhlogger = spdlog::get("qhull_info"); s_LogMutex.lock(); {///////////////////////////// diff --git a/r5dev/vproj/clientsdk.vcxproj b/r5dev/vproj/clientsdk.vcxproj index 8fbc7982..c8ce73fc 100644 --- a/r5dev/vproj/clientsdk.vcxproj +++ b/r5dev/vproj/clientsdk.vcxproj @@ -89,6 +89,7 @@ <ClCompile Include="..\tier0\cputopology.cpp" /> <ClCompile Include="..\tier0\fasttimer.cpp" /> <ClCompile Include="..\tier0\jobthread.cpp" /> + <ClCompile Include="..\tier0\tslist.cpp" /> <ClCompile Include="..\tier1\bitbuf.cpp" /> <ClCompile Include="..\tier1\cmd.cpp" /> <ClCompile Include="..\tier1\cvar.cpp" /> @@ -547,7 +548,7 @@ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <DisableSpecificWarnings> </DisableSpecificWarnings> - <OmitFramePointers>true</OmitFramePointers> + <OmitFramePointers>false</OmitFramePointers> <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> <LanguageStandard_C>stdc17</LanguageStandard_C> diff --git a/r5dev/vproj/clientsdk.vcxproj.filters b/r5dev/vproj/clientsdk.vcxproj.filters index 51a6d9b6..9f0d706b 100644 --- a/r5dev/vproj/clientsdk.vcxproj.filters +++ b/r5dev/vproj/clientsdk.vcxproj.filters @@ -486,6 +486,9 @@ <ClCompile Include="..\engine\clockdriftmgr.cpp"> <Filter>sdk\engine</Filter> </ClCompile> + <ClCompile Include="..\tier0\tslist.cpp"> + <Filter>sdk\tier0</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\client\cdll_engine_int.h"> diff --git a/r5dev/vproj/dedicated.vcxproj b/r5dev/vproj/dedicated.vcxproj index d51f858a..e0bced32 100644 --- a/r5dev/vproj/dedicated.vcxproj +++ b/r5dev/vproj/dedicated.vcxproj @@ -101,6 +101,7 @@ <StringPooling>true</StringPooling> <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <LanguageStandard_C>stdc17</LanguageStandard_C> + <OmitFramePointers>false</OmitFramePointers> </ClCompile> <Link> <SubSystem>Console</SubSystem> @@ -496,6 +497,7 @@ <ClCompile Include="..\tier0\cputopology.cpp" /> <ClCompile Include="..\tier0\fasttimer.cpp" /> <ClCompile Include="..\tier0\jobthread.cpp" /> + <ClCompile Include="..\tier0\tslist.cpp" /> <ClCompile Include="..\tier1\bitbuf.cpp" /> <ClCompile Include="..\tier1\cmd.cpp" /> <ClCompile Include="..\tier1\cvar.cpp" /> diff --git a/r5dev/vproj/dedicated.vcxproj.filters b/r5dev/vproj/dedicated.vcxproj.filters index 6e35170b..5ee867fb 100644 --- a/r5dev/vproj/dedicated.vcxproj.filters +++ b/r5dev/vproj/dedicated.vcxproj.filters @@ -1325,6 +1325,9 @@ <ClCompile Include="..\engine\clockdriftmgr.cpp"> <Filter>sdk\engine</Filter> </ClCompile> + <ClCompile Include="..\tier0\tslist.cpp"> + <Filter>sdk\tier0</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <None Include="..\Dedicated.def" /> diff --git a/r5dev/vproj/gamesdk.vcxproj b/r5dev/vproj/gamesdk.vcxproj index e42dbfd6..2b2d2dfa 100644 --- a/r5dev/vproj/gamesdk.vcxproj +++ b/r5dev/vproj/gamesdk.vcxproj @@ -97,6 +97,7 @@ <ClCompile Include="..\tier0\cputopology.cpp" /> <ClCompile Include="..\tier0\fasttimer.cpp" /> <ClCompile Include="..\tier0\jobthread.cpp" /> + <ClCompile Include="..\tier0\tslist.cpp" /> <ClCompile Include="..\tier1\bitbuf.cpp" /> <ClCompile Include="..\tier1\cmd.cpp" /> <ClCompile Include="..\tier1\cvar.cpp" /> @@ -566,7 +567,7 @@ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <DisableSpecificWarnings> </DisableSpecificWarnings> - <OmitFramePointers>true</OmitFramePointers> + <OmitFramePointers>false</OmitFramePointers> <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> <LanguageStandard_C>stdc17</LanguageStandard_C> diff --git a/r5dev/vproj/gamesdk.vcxproj.filters b/r5dev/vproj/gamesdk.vcxproj.filters index 779d1e00..49c5e3db 100644 --- a/r5dev/vproj/gamesdk.vcxproj.filters +++ b/r5dev/vproj/gamesdk.vcxproj.filters @@ -516,6 +516,9 @@ <ClCompile Include="..\engine\clockdriftmgr.cpp"> <Filter>sdk\engine</Filter> </ClCompile> + <ClCompile Include="..\tier0\tslist.cpp"> + <Filter>sdk\tier0</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\client\cdll_engine_int.h">