From efd907105cf7906c78253631f75bf4fd83f769db Mon Sep 17 00:00:00 2001 From: Jan Date: Thu, 29 Jun 2023 04:22:33 +0100 Subject: Code cleanup (#478) * turn implicit type casts into standard compliant explicit type casts * correct includes and library names * correct implicit use of std-namespaced functions * turn incomplete virtual implementations into pure virtuals (this also follows what the Source SDK tier0 header does) * define SqRecurseArgs ahead of implementation to fix templating problems * switch out removed getentity with getthisentity * fix calls to curl_easy_escape with wrong types * replace winapi-specific function with std starts_with function * format squirrel header --- NorthstarDLL/core/convar/concommand.cpp | 2 +- NorthstarDLL/core/convar/convar.cpp | 12 +++++------ NorthstarDLL/core/filesystem/filesystem.cpp | 6 +++--- NorthstarDLL/core/filesystem/rpakfilesystem.cpp | 6 +++--- NorthstarDLL/core/hooks.cpp | 10 ++++----- NorthstarDLL/core/hooks.h | 2 +- NorthstarDLL/core/math/vector.h | 4 +++- NorthstarDLL/core/tier0.h | 28 ++++++++++++------------- 8 files changed, 36 insertions(+), 34 deletions(-) (limited to 'NorthstarDLL/core') diff --git a/NorthstarDLL/core/convar/concommand.cpp b/NorthstarDLL/core/convar/concommand.cpp index 82594f04..ce198159 100644 --- a/NorthstarDLL/core/convar/concommand.cpp +++ b/NorthstarDLL/core/convar/concommand.cpp @@ -151,5 +151,5 @@ ON_DLL_LOAD("engine.dll", ConCommand, (CModule module)) ConCommandConstructor = module.Offset(0x415F60).As(); AddMiscConCommands(); - g_pPluginCommunicationhandler->m_sEngineData.ConCommandConstructor = ConCommandConstructor; + g_pPluginCommunicationhandler->m_sEngineData.ConCommandConstructor = (void*)ConCommandConstructor; } diff --git a/NorthstarDLL/core/convar/convar.cpp b/NorthstarDLL/core/convar/convar.cpp index d4efc1a0..5069192e 100644 --- a/NorthstarDLL/core/convar/convar.cpp +++ b/NorthstarDLL/core/convar/convar.cpp @@ -40,10 +40,10 @@ ON_DLL_LOAD("engine.dll", ConVar, (CModule module)) R2::g_pCVarInterface = new SourceInterface("vstdlib.dll", "VEngineCvar007"); R2::g_pCVar = *R2::g_pCVarInterface; - g_pPluginCommunicationhandler->m_sEngineData.conVarMalloc = conVarMalloc; - g_pPluginCommunicationhandler->m_sEngineData.conVarRegister = conVarRegister; - g_pPluginCommunicationhandler->m_sEngineData.ConVar_Vtable = g_pConVar_Vtable; - g_pPluginCommunicationhandler->m_sEngineData.IConVar_Vtable = g_pIConVar_Vtable; + g_pPluginCommunicationhandler->m_sEngineData.conVarMalloc = (void*)conVarMalloc; + g_pPluginCommunicationhandler->m_sEngineData.conVarRegister = (void*)conVarRegister; + g_pPluginCommunicationhandler->m_sEngineData.ConVar_Vtable = (void*)g_pConVar_Vtable; + g_pPluginCommunicationhandler->m_sEngineData.IConVar_Vtable = (void*)g_pIConVar_Vtable; } //----------------------------------------------------------------------------- @@ -80,7 +80,7 @@ ConVar::ConVar( this->m_ConCommandBase.s_pConCommandBases = (ConCommandBase*)g_pIConVar_Vtable; conVarMalloc(&this->m_pMalloc, 0, 0); // Allocate new memory for ConVar. - conVarRegister(this, pszName, pszDefaultValue, nFlags, pszHelpString, bMin, fMin, bMax, fMax, pCallback); + conVarRegister(this, pszName, pszDefaultValue, nFlags, pszHelpString, bMin, fMin, bMax, fMax, (void*)pCallback); } //----------------------------------------------------------------------------- @@ -321,7 +321,7 @@ void ConVar::SetValue(const char* pszValue) { // Not a color, do the standard thing float flNewValue = (float)atof(pszValue); - if (!isfinite(flNewValue)) + if (!std::isfinite(flNewValue)) { spdlog::warn("Warning: ConVar '{}' = '{}' is infinite, clamping value.\n", GetBaseName(), pszValue); flNewValue = FLT_MAX; diff --git a/NorthstarDLL/core/filesystem/filesystem.cpp b/NorthstarDLL/core/filesystem/filesystem.cpp index 88622e5d..d9c70476 100644 --- a/NorthstarDLL/core/filesystem/filesystem.cpp +++ b/NorthstarDLL/core/filesystem/filesystem.cpp @@ -179,7 +179,7 @@ ON_DLL_LOAD("filesystem_stdio.dll", Filesystem, (CModule module)) R2::g_pFilesystem = new SourceInterface("filesystem_stdio.dll", "VFileSystem017"); - AddSearchPathHook.Dispatch((*g_pFilesystem)->m_vtable->AddSearchPath); - ReadFromCacheHook.Dispatch((*g_pFilesystem)->m_vtable->ReadFromCache); - MountVPKHook.Dispatch((*g_pFilesystem)->m_vtable->MountVPK); + AddSearchPathHook.Dispatch((LPVOID)(*g_pFilesystem)->m_vtable->AddSearchPath); + ReadFromCacheHook.Dispatch((LPVOID)(*g_pFilesystem)->m_vtable->ReadFromCache); + MountVPKHook.Dispatch((LPVOID)(*g_pFilesystem)->m_vtable->MountVPK); } diff --git a/NorthstarDLL/core/filesystem/rpakfilesystem.cpp b/NorthstarDLL/core/filesystem/rpakfilesystem.cpp index c863463c..e42d6826 100644 --- a/NorthstarDLL/core/filesystem/rpakfilesystem.cpp +++ b/NorthstarDLL/core/filesystem/rpakfilesystem.cpp @@ -341,7 +341,7 @@ ON_DLL_LOAD("engine.dll", RpakFilesystem, (CModule module)) g_pakLoadApi = module.Offset(0x5BED78).Deref().As(); pUnknownPakLoadSingleton = module.Offset(0x7C5E20).As(); - LoadPakAsyncHook.Dispatch(g_pakLoadApi->LoadPakAsync); - UnloadPakHook.Dispatch(g_pakLoadApi->UnloadPak); - ReadFileAsyncHook.Dispatch(g_pakLoadApi->ReadFileAsync); + LoadPakAsyncHook.Dispatch((LPVOID*)g_pakLoadApi->LoadPakAsync); + UnloadPakHook.Dispatch((LPVOID*)g_pakLoadApi->UnloadPak); + ReadFileAsyncHook.Dispatch((LPVOID*)g_pakLoadApi->ReadFileAsync); } diff --git a/NorthstarDLL/core/hooks.cpp b/NorthstarDLL/core/hooks.cpp index 9124d5af..4363c0e2 100644 --- a/NorthstarDLL/core/hooks.cpp +++ b/NorthstarDLL/core/hooks.cpp @@ -218,7 +218,7 @@ void MakeHook(LPVOID pTarget, LPVOID pDetour, void* ppOriginal, const char* pFun spdlog::error("MH_CreateHook failed for function {}", pStrippedFuncName); } -AUTOHOOK_ABSOLUTEADDR(_GetCommandLineA, GetCommandLineA, LPSTR, WINAPI, ()) +AUTOHOOK_ABSOLUTEADDR(_GetCommandLineA, (LPVOID)GetCommandLineA, LPSTR, WINAPI, ()) { static char* cmdlineModified; static char* cmdlineOrg; @@ -386,7 +386,7 @@ void CallAllPendingDLLLoadCallbacks() } // clang-format off -AUTOHOOK_ABSOLUTEADDR(_LoadLibraryExA, LoadLibraryExA, +AUTOHOOK_ABSOLUTEADDR(_LoadLibraryExA, (LPVOID)LoadLibraryExA, HMODULE, WINAPI, (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)) // clang-format on { @@ -415,7 +415,7 @@ HMODULE, WINAPI, (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)) } // clang-format off -AUTOHOOK_ABSOLUTEADDR(_LoadLibraryA, LoadLibraryA, +AUTOHOOK_ABSOLUTEADDR(_LoadLibraryA, (LPVOID)LoadLibraryA, HMODULE, WINAPI, (LPCSTR lpLibFileName)) // clang-format on { @@ -428,7 +428,7 @@ HMODULE, WINAPI, (LPCSTR lpLibFileName)) } // clang-format off -AUTOHOOK_ABSOLUTEADDR(_LoadLibraryExW, LoadLibraryExW, +AUTOHOOK_ABSOLUTEADDR(_LoadLibraryExW, (LPVOID)LoadLibraryExW, HMODULE, WINAPI, (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)) // clang-format on { @@ -441,7 +441,7 @@ HMODULE, WINAPI, (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)) } // clang-format off -AUTOHOOK_ABSOLUTEADDR(_LoadLibraryW, LoadLibraryW, +AUTOHOOK_ABSOLUTEADDR(_LoadLibraryW, (LPVOID)LoadLibraryW, HMODULE, WINAPI, (LPCWSTR lpLibFileName)) // clang-format on { diff --git a/NorthstarDLL/core/hooks.h b/NorthstarDLL/core/hooks.h index d2cb7602..8721628a 100644 --- a/NorthstarDLL/core/hooks.h +++ b/NorthstarDLL/core/hooks.h @@ -197,7 +197,7 @@ class __autohook case PROCADDRESS: { - targetAddr = GetProcAddress(GetModuleHandleA(pModuleName), pProcName); + targetAddr = (LPVOID)GetProcAddress(GetModuleHandleA(pModuleName), pProcName); break; } } diff --git a/NorthstarDLL/core/math/vector.h b/NorthstarDLL/core/math/vector.h index 95eae7ca..112fabdf 100644 --- a/NorthstarDLL/core/math/vector.h +++ b/NorthstarDLL/core/math/vector.h @@ -1,3 +1,5 @@ +#include + #pragma once union Vector3 @@ -21,7 +23,7 @@ union Vector3 void MakeValid() { for (auto& fl : raw) - if (isnan(fl)) + if (std::isnan(fl)) fl = 0; } diff --git a/NorthstarDLL/core/tier0.h b/NorthstarDLL/core/tier0.h index 92a63027..eebe98f2 100644 --- a/NorthstarDLL/core/tier0.h +++ b/NorthstarDLL/core/tier0.h @@ -29,23 +29,23 @@ namespace Tier0 public: // based on the defs in the 2013 source sdk, but for some reason has an extra function (may be another CreateCmdLine overload?) // these seem to line up with what they should be though - virtual void CreateCmdLine(const char* commandline) {} - virtual void CreateCmdLine(int argc, char** argv) {} - virtual void unknown() {} - virtual const char* GetCmdLine(void) const {} + virtual void CreateCmdLine(const char* commandline) = 0; + virtual void CreateCmdLine(int argc, char** argv) = 0; + virtual void unknown() = 0; + virtual const char* GetCmdLine(void) const = 0; - virtual const char* CheckParm(const char* psz, const char** ppszValue = 0) const {} - virtual void RemoveParm() const {} - virtual void AppendParm(const char* pszParm, const char* pszValues) {} + virtual const char* CheckParm(const char* psz, const char** ppszValue = 0) const = 0; + virtual void RemoveParm() const = 0; + virtual void AppendParm(const char* pszParm, const char* pszValues) = 0; - virtual const char* ParmValue(const char* psz, const char* pDefaultVal = 0) const {} - virtual int ParmValue(const char* psz, int nDefaultVal) const {} - virtual float ParmValue(const char* psz, float flDefaultVal) const {} + virtual const char* ParmValue(const char* psz, const char* pDefaultVal = 0) const = 0; + virtual int ParmValue(const char* psz, int nDefaultVal) const = 0; + virtual float ParmValue(const char* psz, float flDefaultVal) const = 0; - virtual int ParmCount() const {} - virtual int FindParm(const char* psz) const {} - virtual const char* GetParm(int nIndex) const {} - virtual void SetParm(int nIndex, char const* pParm) {} + virtual int ParmCount() const = 0; + virtual int FindParm(const char* psz) const = 0; + virtual const char* GetParm(int nIndex) const = 0; + virtual void SetParm(int nIndex, char const* pParm) = 0; // virtual const char** GetParms() const {} }; -- cgit v1.2.3