Implement/match various small LegoAnimPresenter functions (#846)

* Implement/match various small LegoAnimPresenter functions

* Fix location of anim function

* fix
This commit is contained in:
Christian Semmler
2024-04-24 09:51:28 -04:00
committed by GitHub
parent f898462d17
commit 410824bd0f
12 changed files with 71 additions and 26 deletions

View File

@@ -10,6 +10,7 @@
class LegoWorld;
class LegoAnimClass;
class LegoAnimActor;
class LegoPathBoundary;
struct LegoAnimStructComparator {
MxBool operator()(const char* const& p_a, const char* const& p_b) const { return strcmp(p_a, p_b) < 0; }
@@ -62,7 +63,7 @@ public:
virtual void VTable0x8c(); // vtable+0x8c
virtual void VTable0x90(); // vtable+0x90
virtual MxResult VTable0x94(Vector3&, Vector3&, float, float, Vector3&); // vtable+0x94
virtual void VTable0x98(); // vtable+0x98
virtual MxResult VTable0x98(LegoPathBoundary* p_boundary); // vtable+0x98
// FUNCTION: LEGO1 0x1000c990
virtual LegoROI** GetROIMap(MxU32& p_roiMapSize)
@@ -71,16 +72,14 @@ public:
return m_roiMap;
} // vtable+0x9c
virtual void VTable0xa0(Matrix4*); // vtable+0xa0
virtual void VTable0xa0(Matrix4& p_matrix); // vtable+0xa0
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);

View File

@@ -2,7 +2,6 @@
#define LEGOEXTRAACTOR_H
#include "legoanimactor.h"
#include "legoanimpresenter.h"
// VTABLE: LEGO1 0x100d6c00 LegoAnimActor
// VTABLE: LEGO1 0x100d6c10 LegoPathActor

View File

@@ -35,6 +35,8 @@ public:
// SYNTHETIC: LEGO1 0x1006cfe0
// LegoLocomotionAnimPresenter::`scalar deleting destructor'
void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value);
inline void DecrementUnknown0xd4()
{
if (m_unk0xd4) {

View File

@@ -43,6 +43,7 @@ public:
undefined4 FUN_10046770(LegoPathActor* p_actor);
void FUN_100468f0(LegoAnimPresenter* p_presenter);
void FUN_10046930(LegoAnimPresenter* p_presenter);
MxResult FUN_10046b30(LegoPathBoundary** p_path, MxS32& p_value);
void Enable(MxBool p_enable);
void FUN_10046bb0(LegoWorld* p_world);

View File

@@ -75,6 +75,7 @@ public:
);
void FUN_1001fc80(IslePathActor* p_actor);
void FUN_1001fda0(LegoAnimPresenter* p_presenter);
void FUN_1001fe90(LegoAnimPresenter* p_presenter);
void AddPath(LegoPathController* p_controller);
MxResult GetCurrPathInfo(LegoPathBoundary** p_path, MxS32& p_value);
MxCore* Find(const char* p_class, const char* p_name);