aboutsummaryrefslogtreecommitdiff
path: root/primedev/scripts/client/scriptbrowserhooks.cpp
blob: 86b4a356a8cb0640d66caf91f1675c46b7bb08c1 (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
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).RCast<bool*>();
}