diff --git a/LEGO1/lego/legoomni/include/legoanimpresenter.h b/LEGO1/lego/legoomni/include/legoanimpresenter.h index 141bbdcd..af6d58be 100644 --- a/LEGO1/lego/legoomni/include/legoanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimpresenter.h @@ -76,12 +76,10 @@ class LegoAnimPresenter : public MxVideoPresenter { MxResult FUN_1006afc0(MxMatrix*& p_matrix, float p_und); MxResult FUN_1006b140(LegoROI* p_roi); - void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value); + const char* GetActionObjectName(); inline LegoAnim* GetAnimation() { return m_anim; } - const char* GetActionObjectName(); - protected: void Init(); void Destroy(MxBool p_fromDestructor); diff --git a/LEGO1/lego/legoomni/include/legoextraactor.h b/LEGO1/lego/legoomni/include/legoextraactor.h index c6ee0e61..696a3a50 100644 --- a/LEGO1/lego/legoomni/include/legoextraactor.h +++ b/LEGO1/lego/legoomni/include/legoextraactor.h @@ -2,7 +2,6 @@ #define LEGOEXTRAACTOR_H #include "legoanimactor.h" -#include "legoanimpresenter.h" // VTABLE: LEGO1 0x100d6c00 LegoAnimActor // VTABLE: LEGO1 0x100d6c10 LegoPathActor diff --git a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h index 55eda20b..b70841ea 100644 --- a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h @@ -35,6 +35,8 @@ class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter { // SYNTHETIC: LEGO1 0x1006cfe0 // LegoLocomotionAnimPresenter::`scalar deleting destructor' + void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value); + inline void DecrementUnknown0xd4() { if (m_unk0xd4) { diff --git a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp index 1bac6592..2d5a4913 100644 --- a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp @@ -1,7 +1,7 @@ #include "legoanimactor.h" #include "define.h" -#include "legoanimpresenter.h" +#include "legolocomotionanimpresenter.h" #include "legoworld.h" #include "misc.h" #include "mxutilities.h" @@ -206,7 +206,7 @@ void LegoAnimActor::ParseAction(char* p_extra) token = strtok(NULL, g_parseExtraTokens); if (token) { - presenter->FUN_1006d680(this, atof(token)); + ((LegoLocomotionAnimPresenter*) presenter)->FUN_1006d680(this, atof(token)); } } diff --git a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp index 0ba019ce..066615ed 100644 --- a/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoextraactor.cpp @@ -1,5 +1,6 @@ #include "legoextraactor.h" +#include "legolocomotionanimpresenter.h" #include "legosoundmanager.h" #include "misc.h" #include "mxmisc.h" @@ -11,10 +12,10 @@ DECOMP_SIZE_ASSERT(LegoExtraActor, 0x1dc) LegoWorld* g_unk0x100f31d0 = NULL; // GLOBAL: LEGO1 0x100f31d4 -LegoAnimPresenter* m_assAnimP = NULL; +LegoLocomotionAnimPresenter* m_assAnimP = NULL; // GLOBAL: LEGO1 0x100f31d8 -LegoAnimPresenter* m_disAnimP = NULL; +LegoLocomotionAnimPresenter* m_disAnimP = NULL; // GLOBAL: LEGO1 0x100f31dc MxS32 g_unk0x100f31dc = 0; @@ -156,8 +157,8 @@ inline void LegoExtraActor::FUN_1002ad8a() if (g_unk0x100f31d0 != w) { g_unk0x100f31d0 = w; - m_assAnimP = (LegoAnimPresenter*) w->Find("LegoAnimPresenter", "BNsAss01"); - m_disAnimP = (LegoAnimPresenter*) w->Find("LegoAnimPresenter", "BNsDis01"); + m_assAnimP = (LegoLocomotionAnimPresenter*) w->Find("LegoAnimPresenter", "BNsAss01"); + m_disAnimP = (LegoLocomotionAnimPresenter*) w->Find("LegoAnimPresenter", "BNsDis01"); } if (!m_assAnim) { diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 51276c4f..2d0c2297 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -942,9 +942,3 @@ MxResult LegoAnimPresenter::VTable0x98(LegoPathBoundary* p_boundary) return SUCCESS; } - -// STUB: LEGO1 0x1006d680 -void LegoAnimPresenter::FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value) -{ - // TODO -} diff --git a/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp index 9801c2bc..81a9b921 100644 --- a/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp @@ -113,3 +113,9 @@ void LegoLocomotionAnimPresenter::EndAction() MxVideoPresenter::EndAction(); } } + +// STUB: LEGO1 0x1006d680 +void LegoLocomotionAnimPresenter::FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value) +{ + // TODO +}