make hack more surgical

This commit is contained in:
Chris Danford
2005-02-16 17:33:28 +00:00
parent fc24b28503
commit eb63c30d15
3 changed files with 20 additions and 12 deletions
+14 -9
View File
@@ -199,6 +199,18 @@ LuaManager::~LuaManager()
lua_close( L );
}
void LuaManager::RegisterTypes()
{
if( g_vRegisterActorTypes )
{
for( unsigned i=0; i<g_vRegisterActorTypes->size(); i++ )
{
RegisterActorFn fn = (*g_vRegisterActorTypes)[i];
fn( L );
}
}
}
void LuaManager::ResetState()
{
if( L != NULL )
@@ -221,15 +233,8 @@ void LuaManager::ResetState()
for( const LuaFunctionList *p = g_LuaFunctions; p; p=p->next )
lua_register( L, p->name, p->func );
if( g_vRegisterActorTypes )
{
for( unsigned i=0; i<g_vRegisterActorTypes->size(); i++ )
{
RegisterActorFn fn = (*g_vRegisterActorTypes)[i];
fn( L );
}
}
RegisterTypes();
LuaReference::AfterResetAll();
}
+3
View File
@@ -18,6 +18,9 @@ public:
bool RunScriptFile( const CString &sFile );
/* Register all subscribing types. There's no harm in registering when already registered. */
void RegisterTypes();
/* Reset the environment, freeing any globals left over by previously executed scripts. */
void ResetState();
+3 -3
View File
@@ -1092,9 +1092,9 @@ int main(int argc, char* argv[])
MESSAGEMAN = new MessageManager;
STATSMAN = new StatsManager;
// UGLY: Reload the current theme now that all global singletons are
// constructed so that they can be registered with Lua.
THEME->UpdateLuaGlobals();
// UGLY: Now that all global singletons are constructed so that they, let them
// all register with Lua.
LUA->RegisterTypes();
SAFE_DELETE( loading_window ); // destroy this before init'ing Display