aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/scripts/client/scriptbrowserhooks.cpp
blob: df4014de79cafcb71693c0b3761f95cdf7877aa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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*>();
}