MCPcopy Create free account
hub / github.com/StrongPC123/Far-Cry-1-Source-Full / LoadFromLua

Method LoadFromLua

Editor/Music/MusicManager.cpp:389–415  ·  view source on GitHub ↗

/////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

387
388//////////////////////////////////////////////////////////////////////////
389void CMusicManager::LoadFromLua( CBaseLibrary *pLibrary )
390{
391 IScriptSystem *pScriptSystem = GetIEditor()->GetSystem()->GetIScriptSystem();
392 pScriptSystem->SetGlobalToNull("DynamicMusic");
393 if (!pScriptSystem->ExecuteFile( "Scripts\\Music\\DynamicMusic.lua", true, true))
394 return;
395 _SmartScriptObject pObj(pScriptSystem, true);
396 if (!pScriptSystem->GetGlobalValue("DynamicMusic", pObj))
397 return;
398 CMusicLoadSinkTemp LoadSink(m_pMusicData, pScriptSystem, &pObj);
399 pObj->Dump(&LoadSink);
400 pScriptSystem->SetGlobalToNull("DynamicMusic");
401
402 // Init library.
403 for (TThemeMap::iterator it = m_pMusicData->mapThemes.begin(); it != m_pMusicData->mapThemes.end(); ++it)
404 {
405 SMusicTheme *pTheme = it->second;
406 // Make a new item per MusicTheme.
407 CMusicThemeLibItem *pLibItem = (CMusicThemeLibItem*)CreateItem( pLibrary );
408 pLibItem->SetName( pTheme->sName.c_str() );
409 delete pLibItem->GetTheme(); // Delete old theme from item.
410 pLibItem->SetTheme( pTheme );
411 }
412
413 if (GetIEditor()->GetSystem()->GetIMusicSystem())
414 GetIEditor()->GetSystem()->GetIMusicSystem()->SetData( m_pMusicData,true );
415}
416
417//////////////////////////////////////////////////////////////////////////
418void CMusicManager::ReleaseMusicData()

Callers 1

OnLoadFromLuaMethod · 0.80

Calls 15

GetIEditorFunction · 0.85
SetGlobalToNullMethod · 0.80
ExecuteFileMethod · 0.80
GetGlobalValueMethod · 0.80
GetIMusicSystemMethod · 0.80
GetIScriptSystemMethod · 0.45
GetSystemMethod · 0.45
DumpMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
SetNameMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected