diff options
Diffstat (limited to 'NorthstarDLL/scripts/client/scriptbrowserhooks.cpp')
-rw-r--r-- | NorthstarDLL/scripts/client/scriptbrowserhooks.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/NorthstarDLL/scripts/client/scriptbrowserhooks.cpp b/NorthstarDLL/scripts/client/scriptbrowserhooks.cpp new file mode 100644 index 00000000..df4014de --- /dev/null +++ b/NorthstarDLL/scripts/client/scriptbrowserhooks.cpp @@ -0,0 +1,25 @@ +#include "pch.h" + +AUTOHOOK_INIT() + +bool* bIsOriginOverlayEnabled; + +// clang-format off +AUTOHOOK(OpenExternalWebBrowser, engine.dll + 0x184E40, +void, __fastcall, (char* pUrl, char flags)) +// clang-format on +{ + bool bIsOriginOverlayEnabledOriginal = *bIsOriginOverlayEnabled; + if (flags & 2 && !strncmp(pUrl, "http", 4)) // custom force external browser flag + *bIsOriginOverlayEnabled = false; // if this bool is false, game will use an external browser rather than the origin overlay one + + OpenExternalWebBrowser(pUrl, flags); + *bIsOriginOverlayEnabled = bIsOriginOverlayEnabledOriginal; +} + +ON_DLL_LOAD_CLIENT("engine.dll", ScriptExternalBrowserHooks, (CModule module)) +{ + AUTOHOOK_DISPATCH() + + bIsOriginOverlayEnabled = module.Offset(0x13978255).As<bool*>(); +} |