aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/dllmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'NorthstarDedicatedTest/dllmain.cpp')
-rw-r--r--NorthstarDedicatedTest/dllmain.cpp213
1 files changed, 105 insertions, 108 deletions
diff --git a/NorthstarDedicatedTest/dllmain.cpp b/NorthstarDedicatedTest/dllmain.cpp
index 0ada0531..4cc0a84d 100644
--- a/NorthstarDedicatedTest/dllmain.cpp
+++ b/NorthstarDedicatedTest/dllmain.cpp
@@ -37,123 +37,120 @@
#include <string.h>
#include "pch.h"
-
bool initialised = false;
-BOOL APIENTRY DllMain( HMODULE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
+BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
-
- return TRUE;
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+
+ return TRUE;
}
void WaitForDebugger(HMODULE baseAddress)
{
- // earlier waitfordebugger call than is in vanilla, just so we can debug stuff a little easier
- if (CommandLine()->CheckParm("-waitfordebugger"))
- {
- spdlog::info("waiting for debugger...");
-
- while (!IsDebuggerPresent())
- Sleep(100);
- }
+ // earlier waitfordebugger call than is in vanilla, just so we can debug stuff a little easier
+ if (CommandLine()->CheckParm("-waitfordebugger"))
+ {
+ spdlog::info("waiting for debugger...");
+
+ while (!IsDebuggerPresent())
+ Sleep(100);
+ }
}
bool InitialiseNorthstar()
{
- if (initialised)
- {
- //spdlog::warn("Called InitialiseNorthstar more than once!"); // it's actually 100% fine for that to happen
- return false;
- }
-
- initialised = true;
-
- parseConfigurables();
-
- SetEnvironmentVariableA("OPENSSL_ia32cap", "~0x200000200000000");
- curl_global_init_mem(CURL_GLOBAL_DEFAULT, _malloc_base, _free_base, _realloc_base, _strdup_base, _calloc_base);
-
- InitialiseLogging();
- InstallInitialHooks();
- CreateLogFiles();
- InitialiseInterfaceCreationHooks();
-
- AddDllLoadCallback("tier0.dll", InitialiseTier0GameUtilFunctions);
- AddDllLoadCallback("engine.dll", WaitForDebugger);
- AddDllLoadCallback("engine.dll", InitialiseEngineGameUtilFunctions);
- AddDllLoadCallback("server.dll", InitialiseServerGameUtilFunctions);
-
- // dedi patches
- {
- AddDllLoadCallback("tier0.dll", InitialiseDedicatedOrigin);
- AddDllLoadCallback("engine.dll", InitialiseDedicated);
- AddDllLoadCallback("server.dll", InitialiseDedicatedServerGameDLL);
- AddDllLoadCallback("materialsystem_dx11.dll", InitialiseDedicatedMaterialSystem);
- // this fucking sucks, but seemingly we somehow load after rtech_game???? unsure how, but because of this we have to apply patches here, not on rtech_game load
- AddDllLoadCallback("engine.dll", InitialiseDedicatedRtechGame);
- }
-
- AddDllLoadCallback("engine.dll", InitialiseConVars);
- AddDllLoadCallback("engine.dll", InitialiseConCommands);
-
- // client-exclusive patches
- {
- AddDllLoadCallback("tier0.dll", InitialiseTier0LanguageHooks);
- AddDllLoadCallback("engine.dll", InitialiseClientEngineSecurityPatches);
- AddDllLoadCallback("client.dll", InitialiseClientSquirrel);
- AddDllLoadCallback("client.dll", InitialiseSourceConsole);
- AddDllLoadCallback("engine.dll", InitialiseChatCommands);
- AddDllLoadCallback("client.dll", InitialiseScriptModMenu);
- AddDllLoadCallback("client.dll", InitialiseScriptServerBrowser);
- AddDllLoadCallback("localize.dll", InitialiseModLocalisation);
- AddDllLoadCallback("engine.dll", InitialiseClientAuthHooks);
- AddDllLoadCallback("client.dll", InitialiseLatencyFleX);
- AddDllLoadCallback("engine.dll", InitialiseScriptExternalBrowserHooks);
- AddDllLoadCallback("client.dll", InitialiseScriptMainMenuPromos);
- AddDllLoadCallback("client.dll", InitialiseMiscClientFixes);
- AddDllLoadCallback("client.dll", InitialiseClientPrintHooks);
- }
-
- AddDllLoadCallback("engine.dll", InitialiseEngineSpewFuncHooks);
- AddDllLoadCallback("server.dll", InitialiseServerSquirrel);
- AddDllLoadCallback("engine.dll", InitialiseBanSystem);
- AddDllLoadCallback("engine.dll", InitialiseServerAuthentication);
- AddDllLoadCallback("server.dll", InitialiseServerAuthenticationServerDLL);
- AddDllLoadCallback("engine.dll", InitialiseSharedMasterServer);
- AddDllLoadCallback("server.dll", InitialiseMiscServerScriptCommand);
- AddDllLoadCallback("server.dll", InitialiseMiscServerFixes);
- AddDllLoadCallback("server.dll", InitialiseBuildAINFileHooks);
-
- AddDllLoadCallback("engine.dll", InitialisePlaylistHooks);
-
- AddDllLoadCallback("filesystem_stdio.dll", InitialiseFilesystem);
- AddDllLoadCallback("engine.dll", InitialiseEngineRpakFilesystem);
- AddDllLoadCallback("engine.dll", InitialiseKeyValues);
-
- // maxplayers increase
- AddDllLoadCallback("engine.dll", InitialiseMaxPlayersOverride_Engine);
- AddDllLoadCallback("client.dll", InitialiseMaxPlayersOverride_Client);
- AddDllLoadCallback("server.dll", InitialiseMaxPlayersOverride_Server);
-
- // audio hooks
- AddDllLoadCallback("client.dll", InitialiseMilesAudioHooks);
-
- // mod manager after everything else
- AddDllLoadCallback("engine.dll", InitialiseModManager);
-
- // run callbacks for any libraries that are already loaded by now
- CallAllPendingDLLLoadCallbacks();
-
- return true;
+ if (initialised)
+ {
+ // spdlog::warn("Called InitialiseNorthstar more than once!"); // it's actually 100% fine for that to happen
+ return false;
+ }
+
+ initialised = true;
+
+ parseConfigurables();
+
+ SetEnvironmentVariableA("OPENSSL_ia32cap", "~0x200000200000000");
+ curl_global_init_mem(CURL_GLOBAL_DEFAULT, _malloc_base, _free_base, _realloc_base, _strdup_base, _calloc_base);
+
+ InitialiseLogging();
+ InstallInitialHooks();
+ CreateLogFiles();
+ InitialiseInterfaceCreationHooks();
+
+ AddDllLoadCallback("tier0.dll", InitialiseTier0GameUtilFunctions);
+ AddDllLoadCallback("engine.dll", WaitForDebugger);
+ AddDllLoadCallback("engine.dll", InitialiseEngineGameUtilFunctions);
+ AddDllLoadCallback("server.dll", InitialiseServerGameUtilFunctions);
+
+ // dedi patches
+ {
+ AddDllLoadCallback("tier0.dll", InitialiseDedicatedOrigin);
+ AddDllLoadCallback("engine.dll", InitialiseDedicated);
+ AddDllLoadCallback("server.dll", InitialiseDedicatedServerGameDLL);
+ AddDllLoadCallback("materialsystem_dx11.dll", InitialiseDedicatedMaterialSystem);
+ // this fucking sucks, but seemingly we somehow load after rtech_game???? unsure how, but because of this we have to apply patches
+ // here, not on rtech_game load
+ AddDllLoadCallback("engine.dll", InitialiseDedicatedRtechGame);
+ }
+
+ AddDllLoadCallback("engine.dll", InitialiseConVars);
+ AddDllLoadCallback("engine.dll", InitialiseConCommands);
+
+ // client-exclusive patches
+ {
+ AddDllLoadCallback("tier0.dll", InitialiseTier0LanguageHooks);
+ AddDllLoadCallback("engine.dll", InitialiseClientEngineSecurityPatches);
+ AddDllLoadCallback("client.dll", InitialiseClientSquirrel);
+ AddDllLoadCallback("client.dll", InitialiseSourceConsole);
+ AddDllLoadCallback("engine.dll", InitialiseChatCommands);
+ AddDllLoadCallback("client.dll", InitialiseScriptModMenu);
+ AddDllLoadCallback("client.dll", InitialiseScriptServerBrowser);
+ AddDllLoadCallback("localize.dll", InitialiseModLocalisation);
+ AddDllLoadCallback("engine.dll", InitialiseClientAuthHooks);
+ AddDllLoadCallback("client.dll", InitialiseLatencyFleX);
+ AddDllLoadCallback("engine.dll", InitialiseScriptExternalBrowserHooks);
+ AddDllLoadCallback("client.dll", InitialiseScriptMainMenuPromos);
+ AddDllLoadCallback("client.dll", InitialiseMiscClientFixes);
+ AddDllLoadCallback("client.dll", InitialiseClientPrintHooks);
+ }
+
+ AddDllLoadCallback("engine.dll", InitialiseEngineSpewFuncHooks);
+ AddDllLoadCallback("server.dll", InitialiseServerSquirrel);
+ AddDllLoadCallback("engine.dll", InitialiseBanSystem);
+ AddDllLoadCallback("engine.dll", InitialiseServerAuthentication);
+ AddDllLoadCallback("server.dll", InitialiseServerAuthenticationServerDLL);
+ AddDllLoadCallback("engine.dll", InitialiseSharedMasterServer);
+ AddDllLoadCallback("server.dll", InitialiseMiscServerScriptCommand);
+ AddDllLoadCallback("server.dll", InitialiseMiscServerFixes);
+ AddDllLoadCallback("server.dll", InitialiseBuildAINFileHooks);
+
+ AddDllLoadCallback("engine.dll", InitialisePlaylistHooks);
+
+ AddDllLoadCallback("filesystem_stdio.dll", InitialiseFilesystem);
+ AddDllLoadCallback("engine.dll", InitialiseEngineRpakFilesystem);
+ AddDllLoadCallback("engine.dll", InitialiseKeyValues);
+
+ // maxplayers increase
+ AddDllLoadCallback("engine.dll", InitialiseMaxPlayersOverride_Engine);
+ AddDllLoadCallback("client.dll", InitialiseMaxPlayersOverride_Client);
+ AddDllLoadCallback("server.dll", InitialiseMaxPlayersOverride_Server);
+
+ // audio hooks
+ AddDllLoadCallback("client.dll", InitialiseMilesAudioHooks);
+
+ // mod manager after everything else
+ AddDllLoadCallback("engine.dll", InitialiseModManager);
+
+ // run callbacks for any libraries that are already loaded by now
+ CallAllPendingDLLLoadCallbacks();
+
+ return true;
} \ No newline at end of file