allow mods to load biks that aren't already present in r2/media (#137)

Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>
This commit is contained in:
BobTheBob 2022-08-20 19:19:43 +01:00 committed by GeckoEidechse
parent 8b26d4a857
commit 09bc8a4ed2
3 changed files with 8 additions and 3 deletions

View File

@ -1,6 +1,7 @@
#include "pch.h"
#include "clientvideooverrides.h"
#include "modmanager.h"
#include "nsmem.h"
typedef void* (*BinkOpenType)(const char* path, uint32_t flags);
BinkOpenType BinkOpen;
@ -31,8 +32,12 @@ void* BinkOpenHook(const char* path, uint32_t flags)
return BinkOpen(path, flags);
}
void InitialiseClientVideoOverrides(HMODULE baseAddress)
void InitialiseEngineClientVideoOverrides(HMODULE baseAddress)
{
// remove engine check for whether the bik we're trying to load exists in r2/media, as this will fail for biks in mods
// note: the check in engine is actually unnecessary, so it's just useless in practice and we lose nothing by removing it
NSMem::NOP((uintptr_t)baseAddress + 0x459AD, 6);
HookEnabler hook;
ENABLER_CREATEHOOK(
hook,

View File

@ -1,2 +1,2 @@
#pragma once
void InitialiseClientVideoOverrides(HMODULE baseAddress);
void InitialiseEngineClientVideoOverrides(HMODULE baseAddress);

View File

@ -253,7 +253,7 @@ bool InitialiseNorthstar()
AddDllLoadCallbackForClient("client.dll", InitialiseClientChatHooks);
AddDllLoadCallbackForClient("client.dll", InitialiseLocalChatWriter);
AddDllLoadCallbackForClient("client.dll", InitialiseScriptServerToClientStringCommands);
AddDllLoadCallbackForClient("client.dll", InitialiseClientVideoOverrides);
AddDllLoadCallbackForClient("engine.dll", InitialiseEngineClientVideoOverrides);
AddDllLoadCallbackForClient("engine.dll", InitialiseEngineClientRUIHooks);
AddDllLoadCallbackForClient("engine.dll", InitialiseDebugOverlay);
AddDllLoadCallbackForClient("client.dll", InitialiseClientSquirrelUtilityFunctions);