diff --git a/bridge/include/CoreProvider.h b/bridge/include/CoreProvider.h index 15ca4bf5..226cb3d9 100644 --- a/bridge/include/CoreProvider.h +++ b/bridge/include/CoreProvider.h @@ -89,6 +89,7 @@ public: void * serverFactory; void * engineFactory; void * matchmakingDSFactory; + void * soundemittersystemFactory; SMGlobalClass * listeners; // ConVar functions. diff --git a/core/logic/GameConfigs.cpp b/core/logic/GameConfigs.cpp index 7aae9ee8..95f0acd7 100644 --- a/core/logic/GameConfigs.cpp +++ b/core/logic/GameConfigs.cpp @@ -610,6 +610,8 @@ SMCResult CGameConfig::ReadSMC_LeavingSection(const SMCStates *states) addrInBase = bridge->engineFactory; } else if (strcmp(s_TempSig.library, "matchmaking_ds") == 0) { addrInBase = bridge->matchmakingDSFactory; + } else if (strcmp(s_TempSig.library, "soundemittersystem") == 0) { + addrInBase = bridge->soundemittersystemFactory; } void *final_addr = NULL; if (addrInBase == NULL) diff --git a/core/logic_bridge.cpp b/core/logic_bridge.cpp index 7ca246e9..9c9245ed 100644 --- a/core/logic_bridge.cpp +++ b/core/logic_bridge.cpp @@ -633,6 +633,10 @@ void CoreProviderImpl::InitializeBridge() this->matchmakingDSFactory = (void*)Sys_GetFactory(mmlib); } + if (auto mmlib = ::filesystem->LoadModule("soundemittersystem" SOURCE_BIN_SUFFIX)) { + this->soundemittersystemFactory = (void*)Sys_GetFactory(mmlib); + } + logic_init_(this, &logicore); // Join logic's SMGlobalClass instances.