Skip to content

Commit 1fbb303

Browse files
committed
Register module functions in a separate step
1 parent 13cf975 commit 1fbb303

File tree

6 files changed

+12
-6
lines changed

6 files changed

+12
-6
lines changed

Server/mods/deathmatch/logic/CResource.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,7 @@ bool CResource::CreateVM(bool bEnableOOP)
11071107

11081108
m_pVM->SetScriptName(m_strResourceName.c_str());
11091109
m_pVM->LoadEmbeddedScripts();
1110+
m_pVM->RegisterModuleFunctions();
11101111
return true;
11111112
}
11121113

Server/mods/deathmatch/logic/CResourceHTMLItem.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ bool CResourceHTMLItem::Start()
294294

295295
m_pVM = g_pGame->GetLuaManager()->CreateVirtualMachine(m_resource, m_bOOPEnabled);
296296
m_pVM->LoadEmbeddedScripts();
297+
m_pVM->RegisterModuleFunctions();
297298
m_pVM->LoadScript(strScript.c_str());
298299
m_pVM->SetResourceFile(this);
299300
m_pVM->RegisterHTMLDFunctions();

Server/mods/deathmatch/logic/lua/CLuaMain.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ void CLuaMain::InitClasses(lua_State* luaVM)
167167
CLuaShared::AddClasses(luaVM);
168168
}
169169

170-
void CLuaMain::InitVM()
170+
void CLuaMain::Initialize()
171171
{
172172
assert(!m_luaVM);
173173

@@ -216,6 +216,11 @@ void CLuaMain::LoadEmbeddedScripts()
216216
LoadScript(EmbeddedLuaCode::inspect);
217217
}
218218

219+
void CLuaMain::RegisterModuleFunctions()
220+
{
221+
m_pLuaManager->GetLuaModuleManager()->RegisterFunctions(m_luaVM);
222+
}
223+
219224
// Special function(s) that are only visible to HTMLD scripts
220225
void CLuaMain::RegisterHTMLDFunctions()
221226
{

Server/mods/deathmatch/logic/lua/CLuaMain.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,9 @@ class CLuaMain //: public CClient
102102

103103
void RegisterHTMLDFunctions();
104104

105-
void InitVM();
105+
void Initialize();
106106
void LoadEmbeddedScripts();
107+
void RegisterModuleFunctions();
107108
const SString& GetFunctionTag(int iFunctionNumber);
108109
int PCall(lua_State* L, int nargs, int nresults, int errfunc);
109110
void CheckExecutionTime();

Server/mods/deathmatch/logic/lua/CLuaManager.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,7 @@ CLuaMain* CLuaManager::CreateVirtualMachine(CResource* pResourceOwner, bool bEna
6363
CLuaMain* pLuaMain = new CLuaMain(this, m_pObjectManager, m_pPlayerManager, m_pVehicleManager, m_pBlipManager, m_pRadarAreaManager, m_pMapManager,
6464
pResourceOwner, bEnableOOP);
6565
m_virtualMachines.push_back(pLuaMain);
66-
pLuaMain->InitVM();
67-
68-
m_pLuaModuleManager->RegisterFunctions(pLuaMain->GetVirtualMachine());
66+
pLuaMain->Initialize();
6967

7068
return pLuaMain;
7169
}

Server/mods/deathmatch/logic/lua/CLuaManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class CLuaManager
4343
void OnLuaMainOpenVM(CLuaMain* pLuaMain, lua_State* luaVM);
4444
void OnLuaMainCloseVM(CLuaMain* pLuaMain, lua_State* luaVM);
4545

46-
CLuaModuleManager* GetLuaModuleManager() const { return m_pLuaModuleManager; };
46+
CLuaModuleManager* GetLuaModuleManager() const { return m_pLuaModuleManager; }
4747

4848
list<CLuaMain*>::const_iterator IterBegin() { return m_virtualMachines.begin(); };
4949
list<CLuaMain*>::const_iterator IterEnd() { return m_virtualMachines.end(); };

0 commit comments

Comments
 (0)