Implement/match LegoAnimationManager::FUN_1005f6d0 and FUN_1005f700

This commit is contained in:
Christian Semmler 2024-04-30 06:31:18 -04:00
parent 60796eff74
commit 645601405f
2 changed files with 29 additions and 13 deletions

View File

@ -69,8 +69,8 @@ class LegoAnimationManager : public MxCore {
void Reset(MxBool p_und); void Reset(MxBool p_und);
void Suspend(); void Suspend();
void Resume(); void Resume();
void FUN_1005f6d0(MxBool); void FUN_1005f6d0(MxBool p_unk0x400);
void FUN_1005f700(MxBool); void FUN_1005f700(MxBool p_unk0x3a);
MxResult LoadScriptInfo(MxS32 p_scriptIndex); MxResult LoadScriptInfo(MxS32 p_scriptIndex);
MxBool FindVehicle(const char* p_name, MxU32& p_index); MxBool FindVehicle(const char* p_name, MxU32& p_index);
MxResult ReadAnimInfo(LegoFile* p_file, AnimInfo* p_info); MxResult ReadAnimInfo(LegoFile* p_file, AnimInfo* p_info);
@ -139,7 +139,7 @@ class LegoAnimationManager : public MxCore {
undefined m_unk0x3a; // 0x3a undefined m_unk0x3a; // 0x3a
Unknown0x3c m_unk0x3c[40]; // 0x3c Unknown0x3c m_unk0x3c[40]; // 0x3c
undefined4 m_unk0x3fc; // 0x3fc undefined4 m_unk0x3fc; // 0x3fc
MxU8 m_unk0x400; // 0x400 MxBool m_unk0x400; // 0x400
undefined m_unk0x401; // 0x401 undefined m_unk0x401; // 0x401
MxU8 m_unk0x402; // 0x402 MxU8 m_unk0x402; // 0x402
MxLong m_unk0x404; // 0x404 MxLong m_unk0x404; // 0x404
@ -152,7 +152,7 @@ class LegoAnimationManager : public MxCore {
AnimState* m_animState; // 0x420 AnimState* m_animState; // 0x420
LegoROIList* m_unk0x424; // 0x424 LegoROIList* m_unk0x424; // 0x424
undefined m_unk0x428; // 0x428 undefined m_unk0x428; // 0x428
undefined m_unk0x429; // 0x429 MxBool m_unk0x429; // 0x429
undefined m_unk0x42a; // 0x42a undefined m_unk0x42a; // 0x42a
MxBool m_suspended; // 0x42b MxBool m_suspended; // 0x42b
undefined4 m_unk0x42c; // 0x42c undefined4 m_unk0x42c; // 0x42c

View File

@ -237,7 +237,7 @@ void LegoAnimationManager::Suspend()
m_unk0x18 = 0; m_unk0x18 = 0;
m_unk0x1a = 0; m_unk0x1a = 0;
m_unk0x3a = 0; m_unk0x3a = 0;
m_unk0x400 = 0; m_unk0x400 = FALSE;
m_unk0x414 = 0; m_unk0x414 = 0;
m_unk0x401 = 0; m_unk0x401 = 0;
@ -292,7 +292,7 @@ void LegoAnimationManager::Init()
m_unk0x39 = FALSE; m_unk0x39 = FALSE;
m_unk0x3a = 1; m_unk0x3a = 1;
m_unk0x3fc = 0; m_unk0x3fc = 0;
m_unk0x400 = 0; m_unk0x400 = FALSE;
m_unk0x414 = 0; m_unk0x414 = 0;
m_unk0x418 = 5; m_unk0x418 = 5;
m_unk0x0e = 0; m_unk0x0e = 0;
@ -322,16 +322,32 @@ void LegoAnimationManager::Init()
m_unk0x424 = new LegoROIList(); m_unk0x424 = new LegoROIList();
} }
// STUB: LEGO1 0x1005f6d0 // FUNCTION: LEGO1 0x1005f6d0
void LegoAnimationManager::FUN_1005f6d0(MxBool) // FUNCTION: BETA10 0x100401e7
void LegoAnimationManager::FUN_1005f6d0(MxBool p_unk0x400)
{ {
// TODO if (m_suspended) {
m_unk0x429 = p_unk0x400;
}
else {
m_unk0x400 = p_unk0x400;
if (!p_unk0x400) {
FUN_100627d0(TRUE);
}
}
} }
// STUB: LEGO1 0x1005f700 // FUNCTION: LEGO1 0x1005f700
void LegoAnimationManager::FUN_1005f700(MxBool) // FUNCTION: BETA10 0x1004024c
void LegoAnimationManager::FUN_1005f700(MxBool p_unk0x3a)
{ {
// TODO if (m_suspended) {
m_unk0x428 = p_unk0x3a;
}
else {
m_unk0x3a = p_unk0x3a;
}
} }
// FUNCTION: LEGO1 0x1005f720 // FUNCTION: LEGO1 0x1005f720
@ -478,7 +494,7 @@ MxResult LegoAnimationManager::LoadScriptInfo(MxS32 p_scriptIndex)
m_unk0x429 = m_unk0x400; m_unk0x429 = m_unk0x400;
m_unk0x42a = 1; m_unk0x42a = 1;
m_unk0x3a = 0; m_unk0x3a = 0;
m_unk0x400 = 0; m_unk0x400 = FALSE;
m_unk0x402 = 0; m_unk0x402 = 0;
} }