mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 17:04:17 +00:00
Implement/match LegoOmni::GetScriptIndex (#571)
* Implement/match LegoOmni::GetScriptIndex * Fix type * Fix
This commit is contained in:
committed by
GitHub
parent
c67f613b8d
commit
b47412183b
@@ -21,7 +21,7 @@ void LegoPlantManager::Init()
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10026360
|
||||
void LegoPlantManager::FUN_10026360(undefined4 p_world)
|
||||
void LegoPlantManager::FUN_10026360(MxS32 p_scriptIndex)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ MxResult LegoWorld::Create(MxDSAction& p_dsAction)
|
||||
|
||||
if (p_dsAction.GetFlags() & MxDSAction::c_enabled) {
|
||||
if (CurrentWorld()) {
|
||||
CurrentWorld()->Enable(0);
|
||||
CurrentWorld()->Enable(FALSE);
|
||||
}
|
||||
|
||||
SetCurrentWorld(this);
|
||||
@@ -92,7 +92,7 @@ MxResult LegoWorld::Create(MxDSAction& p_dsAction)
|
||||
}
|
||||
|
||||
SetIsWorldActive(TRUE);
|
||||
m_unk0xec = -1;
|
||||
m_scriptIndex = -1;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -169,8 +169,8 @@ void LegoWorld::Destroy(MxBool p_fromDestructor)
|
||||
}
|
||||
}
|
||||
|
||||
if (m_unk0xec != -1 && m_set0xd0.empty()) {
|
||||
PlantManager()->FUN_100263a0(m_unk0xec);
|
||||
if (m_scriptIndex != -1 && m_set0xd0.empty()) {
|
||||
PlantManager()->FUN_100263a0(m_scriptIndex);
|
||||
BuildingManager()->FUN_1002fb30();
|
||||
}
|
||||
|
||||
@@ -574,9 +574,9 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
Lego()->SetNavController(m_cameraController->GetNavController());
|
||||
}
|
||||
|
||||
if (m_unk0xec != -1) {
|
||||
PlantManager()->FUN_10026360(m_unk0xec);
|
||||
AnimationManager()->FUN_1005f720(m_unk0xec);
|
||||
if (m_scriptIndex != -1) {
|
||||
PlantManager()->FUN_10026360(m_scriptIndex);
|
||||
AnimationManager()->FUN_1005f720(m_scriptIndex);
|
||||
BuildingManager()->FUN_1002fa00();
|
||||
AnimationManager()->FUN_1005f0b0();
|
||||
}
|
||||
@@ -597,8 +597,8 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
AnimationManager()->FUN_1005ee80(FALSE);
|
||||
m_set0xd0.insert(this);
|
||||
|
||||
if (m_unk0xec != -1) {
|
||||
PlantManager()->FUN_100263a0(m_unk0xec);
|
||||
if (m_scriptIndex != -1) {
|
||||
PlantManager()->FUN_100263a0(m_scriptIndex);
|
||||
BuildingManager()->FUN_1002fb30();
|
||||
}
|
||||
|
||||
|
||||
@@ -39,9 +39,9 @@ LegoWorldPresenter::~LegoWorldPresenter()
|
||||
{
|
||||
MxBool result = FALSE;
|
||||
if (m_entity) {
|
||||
undefined4 world = ((LegoWorld*) m_entity)->GetUnknown0xec();
|
||||
PlantManager()->FUN_10026360(world);
|
||||
AnimationManager()->FUN_1005f720(world);
|
||||
MxS32 scriptIndex = ((LegoWorld*) m_entity)->GetScriptIndex();
|
||||
PlantManager()->FUN_10026360(scriptIndex);
|
||||
AnimationManager()->FUN_1005f720(scriptIndex);
|
||||
BuildingManager()->FUN_1002fa00();
|
||||
result = ((LegoWorld*) m_entity)->VTable0x5c();
|
||||
}
|
||||
@@ -189,9 +189,9 @@ void LegoWorldPresenter::ParseExtra()
|
||||
data[len] = 0;
|
||||
|
||||
if (KeyValueStringParse(output, g_strWORLD, data)) {
|
||||
char* worldName = strtok(output, g_parseExtraTokens);
|
||||
LoadWorld(worldName, (LegoWorld*) m_entity);
|
||||
((LegoWorld*) m_entity)->SetUnknown0xec(Lego()->FUN_1005b490(worldName));
|
||||
char* worldKey = strtok(output, g_parseExtraTokens);
|
||||
LoadWorld(worldKey, (LegoWorld*) m_entity);
|
||||
((LegoWorld*) m_entity)->SetScriptIndex(Lego()->GetScriptIndex(worldKey));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -883,9 +883,15 @@ MxS32 LegoOmni::GetCurrPathInfo(LegoPathBoundary** p_path, MxS32& p_value)
|
||||
return ::CurrentWorld()->GetCurrPathInfo(p_path, p_value);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1005b490
|
||||
undefined4 LegoOmni::FUN_1005b490(char* p_worldName)
|
||||
// FUNCTION: LEGO1 0x1005b490
|
||||
MxS32 LegoOmni::GetScriptIndex(const char* p_key)
|
||||
{
|
||||
for (MxS32 i = 0; i < 19; i++) {
|
||||
if ((MxS32) &m_scripts[i] != -4 && !strcmpi(m_scripts[i].GetKey(), p_key)) {
|
||||
return m_scripts[i].GetIndex();
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ void LegoAnimationManager::FUN_1005f6d0(MxBool)
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1005f720
|
||||
void LegoAnimationManager::FUN_1005f720(undefined4)
|
||||
void LegoAnimationManager::FUN_1005f720(MxS32 p_scriptIndex)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user