Implement/match LegoAnimationManager::FUN_10060570 (#886)

This commit is contained in:
Christian Semmler 2024-05-07 10:54:06 -04:00 committed by GitHub
parent 253882bdcb
commit bac891cb0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 4 deletions

View file

@ -82,7 +82,7 @@ class LegoAnimationManager : public MxCore {
MxBool FindVehicle(const char* p_name, MxU32& p_index);
MxResult ReadAnimInfo(LegoFile* p_file, AnimInfo* p_info);
MxResult ReadModelInfo(LegoFile* p_file, ModelInfo* p_info);
void FUN_10060570(MxBool);
void FUN_10060570(MxBool p_unk0x1a);
MxResult StartEntityAction(MxDSAction& p_dsAction, LegoEntity* p_entity);
MxResult FUN_10060dc0(
IsleScript::Script p_objectId,

View file

@ -667,10 +667,26 @@ void LegoAnimationManager::DeleteAnimations()
m_suspended = suspended;
}
// STUB: LEGO1 0x10060570
void LegoAnimationManager::FUN_10060570(MxBool)
// FUNCTION: LEGO1 0x10060570
// FUNCTION: BETA10 0x10041463
void LegoAnimationManager::FUN_10060570(MxBool p_unk0x1a)
{
// TODO
m_unk0x39 = FALSE;
m_unk0x430 = FALSE;
m_unk0x42c = NULL;
if (m_unk0x1a != p_unk0x1a && (m_unk0x1a = p_unk0x1a)) {
do {
if (FUN_100605e0(m_unk0x18, TRUE, NULL, TRUE, NULL, FALSE, TRUE, TRUE, TRUE) != FAILURE) {
return;
}
m_unk0x18++;
} while (m_unk0x18 < m_animCount);
m_unk0x1a = FALSE;
m_unk0x18 = 0;
}
}
// FUNCTION: LEGO1 0x100605e0