Implement/match LegoPlantManager interaction functions (#1041)

This commit is contained in:
Christian Semmler
2024-06-19 12:57:05 -04:00
committed by GitHub
parent 656e7fc674
commit 1d666f62e5
7 changed files with 191 additions and 46 deletions

View File

@@ -76,8 +76,8 @@ public:
MxBool SwitchSound(LegoEntity* p_entity);
MxBool SwitchMove(LegoEntity* p_entity);
MxBool SwitchMood(LegoEntity* p_entity);
MxU32 GetBuildingEntityId(LegoEntity* p_entity);
MxU32 FUN_1002ff40(LegoEntity* p_entity, MxBool);
MxU32 GetAnimationId(LegoEntity* p_entity);
MxU32 GetSoundId(LegoEntity* p_entity, MxBool);
MxBool FUN_10030000(LegoEntity* p_entity);
MxBool FUN_10030030(MxS32 p_index);
MxBool FUN_10030110(LegoBuildingInfo* p_data);

View File

@@ -74,10 +74,11 @@ public:
MxBool SwitchSound(LegoROI* p_roi);
MxBool SwitchMove(LegoROI* p_roi);
MxBool SwitchMood(LegoROI* p_roi);
MxU32 FUN_10085120(LegoROI* p_roi);
MxU32 FUN_10085140(LegoROI* p_roi, MxBool p_und);
MxU32 GetAnimationId(LegoROI* p_roi);
MxU32 GetSoundId(LegoROI* p_roi, MxBool p_und);
MxU8 GetMood(LegoROI* p_roi);
LegoROI* CreateAutoROI(const char* p_name, const char* p_lodName, MxBool p_createEntity);
MxResult FUN_10085870(LegoROI* p_roi);
LegoROI* FUN_10085a80(const char* p_name, const char* p_lodName, MxBool p_createEntity);
static const char* GetCustomizeAnimFile() { return g_customizeAnimFile; }
@@ -86,7 +87,6 @@ private:
LegoROI* CreateActorROI(const char* p_key);
void RemoveROI(LegoROI* p_roi);
LegoROI* FindChildROI(LegoROI* p_roi, const char* p_name);
MxResult FUN_10085870(LegoROI* p_roi);
static char* g_customizeAnimFile;
static MxU32 g_maxMove;

View File

@@ -6,6 +6,7 @@
class LegoEntity;
class LegoPathBoundary;
struct LegoPlantInfo;
class LegoROI;
class LegoStorage;
class LegoWorld;
@@ -36,8 +37,8 @@ public:
MxBool SwitchSound(LegoEntity* p_entity);
MxBool SwitchMove(LegoEntity* p_entity);
MxBool SwitchMood(LegoEntity* p_entity);
MxU32 FUN_10026b70(LegoEntity* p_entity);
MxU32 FUN_10026ba0(LegoEntity* p_entity, MxBool);
MxU32 GetAnimationId(LegoEntity* p_entity);
MxU32 GetSoundId(LegoEntity* p_entity, MxBool p_state);
void FUN_10026c50(LegoEntity* p_entity);
void FUN_10027120();
@@ -51,8 +52,11 @@ private:
LegoEntity* CreatePlant(MxS32 p_index, LegoWorld* p_world, MxS32 p_worldId);
void RemovePlant(MxS32 p_index, MxS32 p_worldId);
void FUN_10026860(MxS32 p_index);
LegoPlantInfo* GetInfo(LegoEntity* p_entity);
static char* g_customizeAnimFile;
static MxS32 g_maxMove[4];
static MxU32 g_maxSound;
MxS32 m_worldId; // 0x08
undefined m_unk0x0c; // 0x0c