From 7efbb049998793ad7da209ee72b685fb25f74592 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Tue, 23 Apr 2024 04:03:10 -0400 Subject: [PATCH] Implement/match LegoAnimPresenter::FUN_1006ab70 (#839) --- LEGO1/lego/legoomni/include/legoanimationmanager.h | 5 +++++ .../legoomni/src/common/legoanimationmanager.cpp | 12 ++++++++++++ LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp | 10 ++++++++-- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoanimationmanager.h b/LEGO1/lego/legoomni/include/legoanimationmanager.h index 2076c181..6341147d 100644 --- a/LEGO1/lego/legoomni/include/legoanimationmanager.h +++ b/LEGO1/lego/legoomni/include/legoanimationmanager.h @@ -8,6 +8,9 @@ #include "legotraninfolist.h" #include "mxcore.h" +class LegoAnimPresenter; +class LegoROIList; + // SIZE 0x18 struct Character { char* m_name; // 0x00 @@ -92,6 +95,8 @@ class LegoAnimationManager : public MxCore { void FUN_10062770(); void FUN_100627d0(MxBool); void FUN_100629b0(MxU32, MxBool); + void FUN_10063270(LegoROIList*, LegoAnimPresenter*); + void FUN_10063780(LegoROIList*); void FUN_10064670(MxBool); void FUN_10064740(MxBool); diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 581f0f2c..fa3ce08b 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -621,6 +621,18 @@ void LegoAnimationManager::FUN_100629b0(MxU32, MxBool) // TODO } +// STUB: LEGO1 0x10063270 +void LegoAnimationManager::FUN_10063270(LegoROIList*, LegoAnimPresenter*) +{ + // TODO +} + +// STUB: LEGO1 0x10063780 +void LegoAnimationManager::FUN_10063780(LegoROIList*) +{ + // TODO +} + // STUB: LEGO1 0x10064670 void LegoAnimationManager::FUN_10064670(MxBool) { diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 1ace1292..61f93450 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -1,5 +1,6 @@ #include "legoanimpresenter.h" +#include "legoanimationmanager.h" #include "legoanimmmpresenter.h" #include "legocharactermanager.h" #include "legovideomanager.h" @@ -449,10 +450,15 @@ void LegoAnimPresenter::FUN_1006a4f0( } } -// STUB: LEGO1 0x1006ab70 +// FUNCTION: LEGO1 0x1006ab70 void LegoAnimPresenter::FUN_1006ab70() { - // TODO + if (m_unk0x96) { + AnimationManager()->FUN_10063270(m_unk0x74, this); + } + else { + AnimationManager()->FUN_10063780(m_unk0x74); + } } // FUNCTION: LEGO1 0x1006aba0