aboutsummaryrefslogtreecommitdiff
path: root/enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966
diff options
context:
space:
mode:
Diffstat (limited to 'enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966')
-rw-r--r--enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966/dllmain.cpp106
1 files changed, 106 insertions, 0 deletions
diff --git a/enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966/dllmain.cpp b/enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966/dllmain.cpp
new file mode 100644
index 00000000..7d347097
--- /dev/null
+++ b/enc_temp_folder/9532ad42f9bf304d9fb7388cf83b5966/dllmain.cpp
@@ -0,0 +1,106 @@
+#include "pch.h"
+#include "hooks.h"
+#include "main.h"
+#include "squirrel.h"
+#include "tier0.h"
+#include "dedicated.h"
+#include "dedicatedmaterialsystem.h"
+#include "sourceconsole.h"
+#include "logging.h"
+#include "concommand.h"
+#include "modmanager.h"
+#include "filesystem.h"
+#include "serverauthentication.h"
+#include "scriptmodmenu.h"
+#include "scriptserverbrowser.h"
+#include "keyvalues.h"
+#include "masterserver.h"
+#include "gameutils.h"
+#include "chatcommand.h"
+#include "modlocalisation.h"
+#include "playlist.h"
+#include "securitypatches.h"
+#include "miscserverscript.h"
+
+bool initialised = false;
+
+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;
+ }
+
+ if (!initialised)
+ InitialiseNorthstar();
+ initialised = true;
+
+ 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"))
+ {
+ while (!IsDebuggerPresent())
+ Sleep(100);
+ }
+}
+
+// in the future this will be called from launcher instead of dllmain
+void InitialiseNorthstar()
+{
+ InitialiseLogging();
+
+ // apply initial hooks
+ InstallInitialHooks();
+ InitialiseInterfaceCreationHooks();
+
+ AddDllLoadCallback("engine.dll", WaitForDebugger);
+ AddDllLoadCallback("engine.dll", InitialiseEngineGameUtilFunctions);
+ AddDllLoadCallback("server.dll", InitialiseServerGameUtilFunctions);
+ AddDllLoadCallback("engine.dll", InitialiseEngineSpewFuncHooks);
+
+ // dedi patches
+ {
+ AddDllLoadCallback("engine.dll", InitialiseDedicated);
+ AddDllLoadCallback("launcher.dll", InitialiseDedicatedOrigin);
+ AddDllLoadCallback("materialsystem_dx11.dll", InitialiseDedicatedMaterialSystem);
+ AddDllLoadCallback("engine.dll", InitialiseDedicatedRtechGame);
+ }
+
+ AddDllLoadCallback("engine.dll", InitialiseConVars);
+ AddDllLoadCallback("engine.dll", InitialiseConCommands);
+
+ // client-exclusive patches
+ {
+ 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("server.dll", InitialiseServerSquirrel);
+ AddDllLoadCallback("engine.dll", InitialiseServerAuthentication);
+ AddDllLoadCallback("engine.dll", InitialiseSharedMasterServer);
+ AddDllLoadCallback("server.dll", InitialiseMiscServerScriptCommand);
+
+ AddDllLoadCallback("engine.dll", InitialisePlaylistHooks);
+
+ AddDllLoadCallback("filesystem_stdio.dll", InitialiseFilesystem);
+ AddDllLoadCallback("engine.dll", InitialiseKeyValues);
+
+ // mod manager after everything else
+ AddDllLoadCallback("engine.dll", InitialiseModManager);
+} \ No newline at end of file