From 568da23c96290170f7f72790f9b5253ca53a9c1c Mon Sep 17 00:00:00 2001 From: Vauff Date: Tue, 20 Sep 2022 03:46:03 -0400 Subject: [PATCH] Allow gamedata to use vscript binary (#1826) --- bridge/include/CoreProvider.h | 1 + core/logic/GameConfigs.cpp | 2 ++ core/logic_bridge.cpp | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/bridge/include/CoreProvider.h b/bridge/include/CoreProvider.h index 226cb3d9..aaf0bce3 100644 --- a/bridge/include/CoreProvider.h +++ b/bridge/include/CoreProvider.h @@ -90,6 +90,7 @@ public: void * engineFactory; void * matchmakingDSFactory; void * soundemittersystemFactory; + void * vscriptFactory; SMGlobalClass * listeners; // ConVar functions. diff --git a/core/logic/GameConfigs.cpp b/core/logic/GameConfigs.cpp index 95f0acd7..50470d15 100644 --- a/core/logic/GameConfigs.cpp +++ b/core/logic/GameConfigs.cpp @@ -612,6 +612,8 @@ SMCResult CGameConfig::ReadSMC_LeavingSection(const SMCStates *states) addrInBase = bridge->matchmakingDSFactory; } else if (strcmp(s_TempSig.library, "soundemittersystem") == 0) { addrInBase = bridge->soundemittersystemFactory; + } else if (strcmp(s_TempSig.library, "vscript") == 0) { + addrInBase = bridge->vscriptFactory; } void *final_addr = NULL; if (addrInBase == NULL) diff --git a/core/logic_bridge.cpp b/core/logic_bridge.cpp index 9c9245ed..8c68cc06 100644 --- a/core/logic_bridge.cpp +++ b/core/logic_bridge.cpp @@ -637,6 +637,10 @@ void CoreProviderImpl::InitializeBridge() this->soundemittersystemFactory = (void*)Sys_GetFactory(mmlib); } + if (auto mmlib = ::filesystem->LoadModule("vscript" SOURCE_BIN_SUFFIX)) { + this->vscriptFactory = (void*)Sys_GetFactory(mmlib); + } + logic_init_(this, &logicore); // Join logic's SMGlobalClass instances.