Cleanup for dedicated server as result from recent patch

Removed all checks for 'ui.rpak' and 'ui_mp.rpak'. None of these are useful for dedicated server. 'bUnconnected' has been changed to true (should had been in the first place). Promoted some integers to 64bit types to suppress compiler warnings, output code remained the same.
This commit is contained in:
Kawe Mazidjatari 2023-02-26 22:22:45 +01:00
parent 353aee5c2f
commit a5440616e2
2 changed files with 16 additions and 8 deletions

View File

@ -136,12 +136,12 @@ void Mod_ProcessPakQueue()
{ {
char v0; // bl char v0; // bl
char** v1; // r10 char** v1; // r10
int i; // er9 __int64 i; // er9
char* v3; // rcx char* v3; // rcx
signed __int64 v4; // r8 signed __int64 v4; // r8
int v5; // eax int v5; // eax
int v6; // edx int v6; // edx
int v7; // eax __int64 v7; // eax
__int64 v8; // rbp __int64 v8; // rbp
__int64 v9; // rsi __int64 v9; // rsi
char* v10; // rbx char* v10; // rbx
@ -150,7 +150,7 @@ void Mod_ProcessPakQueue()
int v13; // edi int v13; // edi
char v14; // al char v14; // al
char* v15; // rbx char* v15; // rbx
int v16; // edi __int64 v16; // edi
char* v17; // rsi char* v17; // rsi
char* v18; // rax char* v18; // rax
int v19; // ecx int v19; // ecx
@ -164,7 +164,7 @@ void Mod_ProcessPakQueue()
#ifndef DEDICATED #ifndef DEDICATED
bool bUnconnected = !(*g_pClientState_Shifted)->IsConnected(); bool bUnconnected = !(*g_pClientState_Shifted)->IsConnected();
#else // !DEDICATED #else // !DEDICATED
bool bUnconnected = false; // Always false for dedicated. bool bUnconnected = true; // Always true for dedicated.
#endif #endif
if (*(float*)&*dword_14B383420 == 1.0 && *qword_167ED7BB8 && bUnconnected) if (*(float*)&*dword_14B383420 == 1.0 && *qword_167ED7BB8 && bUnconnected)
@ -241,6 +241,7 @@ void Mod_ProcessPakQueue()
g_pakLoadApi->UnloadPak(pLoadedSdkPak->m_nHandle); g_pakLoadApi->UnloadPak(pLoadedSdkPak->m_nHandle);
} }
#ifndef DEDICATED
else if (strcmp(pszLoadedPakName, "ui_mp.rpak") == 0) else if (strcmp(pszLoadedPakName, "ui_mp.rpak") == 0)
{ {
const RPakLoadedInfo_t* pLoadedSdkPak = g_pRTech->GetPakLoadedInfo("ui_sdk.rpak"); const RPakLoadedInfo_t* pLoadedSdkPak = g_pRTech->GetPakLoadedInfo("ui_sdk.rpak");
@ -248,6 +249,7 @@ void Mod_ProcessPakQueue()
if (pLoadedSdkPak) // Only unload if sdk pak file is loaded. if (pLoadedSdkPak) // Only unload if sdk pak file is loaded.
g_pakLoadApi->UnloadPak(pLoadedSdkPak->m_nHandle); g_pakLoadApi->UnloadPak(pLoadedSdkPak->m_nHandle);
} }
#endif // !DEDICATED
} }
g_pakLoadApi->UnloadPak(*(RPakHandle_t*)v10); g_pakLoadApi->UnloadPak(*(RPakHandle_t*)v10);
@ -340,8 +342,10 @@ void Mod_ProcessPakQueue()
if (strcmp(v17, "common_mp.rpak") == 0 || strcmp(v17, "common_sp.rpak") == 0 || strcmp(v17, "common_pve.rpak") == 0) if (strcmp(v17, "common_mp.rpak") == 0 || strcmp(v17, "common_sp.rpak") == 0 || strcmp(v17, "common_pve.rpak") == 0)
RPakHandle_t pakHandle = g_pakLoadApi->LoadAsync("common_sdk.rpak", g_pMallocPool, 4, 0); RPakHandle_t pakHandle = g_pakLoadApi->LoadAsync("common_sdk.rpak", g_pMallocPool, 4, 0);
#ifndef DEDICATED
if (strcmp(v17, "ui_mp.rpak") == 0) if (strcmp(v17, "ui_mp.rpak") == 0)
RPakHandle_t pakHandle = g_pakLoadApi->LoadAsync("ui_sdk.rpak", g_pMallocPool, 4, 0); RPakHandle_t pakHandle = g_pakLoadApi->LoadAsync("ui_sdk.rpak", g_pMallocPool, 4, 0);
#endif // !DEDICATED
LABEL_37: LABEL_37:
v21 = *(_DWORD*)v15; v21 = *(_DWORD*)v15;
@ -366,13 +370,17 @@ void Mod_ProcessPakQueue()
// Input : *szLevelName - // Input : *szLevelName -
// Output : true on success, false on failure // Output : true on success, false on failure
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
bool Mod_LoadPakForMap(const char* pszLevelName) void Mod_LoadPakForMap(const char* pszLevelName)
{ {
if (Mod_LevelHasChanged(pszLevelName)) if (Mod_LevelHasChanged(pszLevelName))
s_bLevelResourceInitialized = false; s_bLevelResourceInitialized = false;
s_svLevelName = pszLevelName; s_svLevelName = pszLevelName;
return v_Mod_LoadPakForMap(pszLevelName);
// Dedicated should not load loadscreens.
#ifndef DEDICATED
v_Mod_LoadPakForMap(pszLevelName);
#endif // !DEDICATED
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -7,7 +7,7 @@
class KeyValues; class KeyValues;
inline CMemory p_Mod_LoadPakForMap; inline CMemory p_Mod_LoadPakForMap;
inline auto v_Mod_LoadPakForMap = p_Mod_LoadPakForMap.RCast<bool(*)(const char* szLevelName)>(); inline auto v_Mod_LoadPakForMap = p_Mod_LoadPakForMap.RCast<void(*)(const char* szLevelName)>();
inline CMemory p_Mod_ProcessPakQueue; inline CMemory p_Mod_ProcessPakQueue;
inline auto v_Mod_ProcessPakQueue = p_Mod_ProcessPakQueue.RCast<void(*)(void)>(); inline auto v_Mod_ProcessPakQueue = p_Mod_ProcessPakQueue.RCast<void(*)(void)>();
@ -63,7 +63,7 @@ class VModel_BSP : public IDetour
v_MOD_LoadPakForMap = p_MOD_LoadPakForMap.RCast<bool(*)(const char*)>(); /*48 81 EC ? ? ? ? 4C 8B C1 48 8D 15 ? ? ? ? 48 8D 4C 24 ? E8 ? ? ? ? 4C 8D 0D ? ? ? ?*/ v_MOD_LoadPakForMap = p_MOD_LoadPakForMap.RCast<bool(*)(const char*)>(); /*48 81 EC ? ? ? ? 4C 8B C1 48 8D 15 ? ? ? ? 48 8D 4C 24 ? E8 ? ? ? ? 4C 8D 0D ? ? ? ?*/
#elif defined (GAMEDLL_S2) || defined (GAMEDLL_S3) #elif defined (GAMEDLL_S2) || defined (GAMEDLL_S3)
p_Mod_LoadPakForMap = g_GameDll.FindPatternSIMD("48 81 EC ?? ?? ?? ?? 0F B6 05 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 84 C0"); p_Mod_LoadPakForMap = g_GameDll.FindPatternSIMD("48 81 EC ?? ?? ?? ?? 0F B6 05 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 84 C0");
v_Mod_LoadPakForMap = p_Mod_LoadPakForMap.RCast<bool(*)(const char*)>(); /*48 81 EC ? ? ? ? 0F B6 05 ? ? ? ? 4C 8D 05 ? ? ? ? 84 C0*/ v_Mod_LoadPakForMap = p_Mod_LoadPakForMap.RCast<void(*)(const char*)>(); /*48 81 EC ? ? ? ? 0F B6 05 ? ? ? ? 4C 8D 05 ? ? ? ? 84 C0*/
#endif #endif
p_Mod_ProcessPakQueue = g_GameDll.FindPatternSIMD("40 53 48 83 EC ?? F3 0F 10 05 ?? ?? ?? ?? 32 DB"); p_Mod_ProcessPakQueue = g_GameDll.FindPatternSIMD("40 53 48 83 EC ?? F3 0F 10 05 ?? ?? ?? ?? 32 DB");
v_Mod_ProcessPakQueue = p_Mod_ProcessPakQueue.RCast<void(*)(void)>(); /*40 53 48 83 EC ?? F3 0F 10 05 ? ? ? ? 32 DB*/ v_Mod_ProcessPakQueue = p_Mod_ProcessPakQueue.RCast<void(*)(void)>(); /*40 53 48 83 EC ?? F3 0F 10 05 ? ? ? ? 32 DB*/