From a273ebde75d0582cf01bc797bdec31051b970eff Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sat, 23 Mar 2024 10:00:30 -0400 Subject: [PATCH] Style/naming --- LEGO1/lego/legoomni/include/legoomni.h | 2 +- LEGO1/lego/legoomni/include/misc.h | 6 +++--- .../lego/legoomni/src/common/legoanimationmanager.cpp | 11 +++++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoomni.h b/LEGO1/lego/legoomni/include/legoomni.h index 719bbf2f..e8e09cbb 100644 --- a/LEGO1/lego/legoomni/include/legoomni.h +++ b/LEGO1/lego/legoomni/include/legoomni.h @@ -229,7 +229,7 @@ class LegoOmni : public MxOmni { inline void SetCurrentActor(IslePathActor* p_currentActor) { m_currentActor = p_currentActor; } inline void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; } inline void SetExit(MxBool p_exit) { m_exit = p_exit; } - inline MxResult StartIfUnknown0x13c(MxDSAction& p_dsAction) + inline MxResult StartActionIfUnknown0x13c(MxDSAction& p_dsAction) { if (m_unk0x13c) { return Start(&p_dsAction); diff --git a/LEGO1/lego/legoomni/include/misc.h b/LEGO1/lego/legoomni/include/misc.h index 49800bbc..67c97c78 100644 --- a/LEGO1/lego/legoomni/include/misc.h +++ b/LEGO1/lego/legoomni/include/misc.h @@ -54,7 +54,7 @@ void FUN_10015820(MxBool p_disable, MxU16 p_flags); LegoROI* FindROI(const char* p_name); void SetROIVisible(const char* p_name, MxBool p_visible); void SetCurrentActor(IslePathActor* p_currentActor); -MxResult StartAction(MxDSAction& p_dsAction); +MxResult StartActionIfUnknown0x13c(MxDSAction& p_dsAction); void DeleteAction(); LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid); MxDSAction& GetCurrentAction(); @@ -65,9 +65,9 @@ void SetIsWorldActive(MxBool p_isWorldActive); void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last); // FUNCTION: LEGO1 0x10015890 -inline MxResult StartAction(MxDSAction& p_dsAction) +inline MxResult StartActionIfUnknown0x13c(MxDSAction& p_dsAction) { - return LegoOmni::GetInstance()->StartIfUnknown0x13c(p_dsAction); + return LegoOmni::GetInstance()->StartActionIfUnknown0x13c(p_dsAction); } #endif // MISC_H diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 7361dffe..afa9f4fe 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -358,18 +358,23 @@ MxResult LegoAnimationManager::StartEntityAction(MxDSAction& p_dsAction, LegoEnt { MxResult result = FAILURE; LegoROI* roi = p_entity->GetROI(); + if (p_entity->GetUnknown0x59() == 0) { LegoPathActor* actor = CharacterManager()->FUN_10084c40(roi->GetName()); + if (actor) { LegoPathController* controller = actor->GetController(); + if (controller) { controller->FUN_10046770(actor); actor->ClearController(); - for (MxS32 i = 0; i < 40; i++) { + + for (MxS32 i = 0; i < (MxS32) _countof(m_unk0x3c); i++) { if (m_unk0x3c[i].m_roi == roi) { MxU32 characterId = m_unk0x3c[i].m_id; g_characters[characterId].m_unk0x07 = TRUE; MxS32 vehicleId = g_characters[characterId].m_vehicleId; + if (vehicleId >= 0) { g_vehicles[vehicleId].m_unk0x05 = FALSE; } @@ -379,9 +384,11 @@ MxResult LegoAnimationManager::StartEntityAction(MxDSAction& p_dsAction, LegoEnt } } } - if (StartAction(p_dsAction) == SUCCESS) { + + if (StartActionIfUnknown0x13c(p_dsAction) == SUCCESS) { result = SUCCESS; } + return result; }