mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 01:28:30 -05:00
Implement/match LegoAnimationManager::FUN_100617c0 (#891)
This commit is contained in:
parent
55299229c2
commit
36d681fde4
2 changed files with 51 additions and 4 deletions
|
@ -96,7 +96,6 @@ class LegoAnimationManager : public MxCore {
|
||||||
MxBool p_param9
|
MxBool p_param9
|
||||||
);
|
);
|
||||||
void FUN_10061010(MxBool p_und);
|
void FUN_10061010(MxBool p_und);
|
||||||
void FUN_100617c0(MxS32, MxU16&, MxU16&);
|
|
||||||
LegoTranInfo* GetTranInfo(MxU32 p_index);
|
LegoTranInfo* GetTranInfo(MxU32 p_index);
|
||||||
void FUN_10062770();
|
void FUN_10062770();
|
||||||
void FUN_100627d0(MxBool);
|
void FUN_100627d0(MxBool);
|
||||||
|
@ -127,6 +126,7 @@ class LegoAnimationManager : public MxCore {
|
||||||
MxResult FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2);
|
MxResult FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix, MxBool p_und1, MxBool p_und2);
|
||||||
void DeleteAnimations();
|
void DeleteAnimations();
|
||||||
void FUN_10061530();
|
void FUN_10061530();
|
||||||
|
MxResult FUN_100617c0(MxS32 p_unk0x08, MxU16& p_unk0x0e, MxU16& p_unk0x10);
|
||||||
MxU16 FUN_10062110(
|
MxU16 FUN_10062110(
|
||||||
LegoROI* p_roi,
|
LegoROI* p_roi,
|
||||||
Vector3& p_direction,
|
Vector3& p_direction,
|
||||||
|
|
|
@ -1021,10 +1021,57 @@ void LegoAnimationManager::FUN_10061530()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100617c0
|
// FUNCTION: LEGO1 0x100617c0
|
||||||
void LegoAnimationManager::FUN_100617c0(MxS32, MxU16&, MxU16&)
|
// FUNCTION: BETA10 0x1004240b
|
||||||
|
MxResult LegoAnimationManager::FUN_100617c0(MxS32 p_unk0x08, MxU16& p_unk0x0e, MxU16& p_unk0x10)
|
||||||
{
|
{
|
||||||
// TODO
|
MxResult result = FAILURE;
|
||||||
|
MxU16 unk0x0e = 0;
|
||||||
|
MxU16 unk0x10 = 0;
|
||||||
|
MxBool success = FALSE;
|
||||||
|
|
||||||
|
if (p_unk0x08 == -1) {
|
||||||
|
MxS32 i;
|
||||||
|
|
||||||
|
for (i = 0; i < m_animCount; i++) {
|
||||||
|
if (m_anims[i].m_unk0x08 == p_unk0x08) {
|
||||||
|
unk0x0e = i;
|
||||||
|
success = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
for (; i < m_animCount && m_anims[i].m_unk0x08 == p_unk0x08; i++) {
|
||||||
|
unk0x10 = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
MxS32 i;
|
||||||
|
|
||||||
|
for (i = 0; m_animCount > i && m_anims[i].m_unk0x08 != -1; i++) {
|
||||||
|
if (m_anims[i].m_unk0x08 == p_unk0x08) {
|
||||||
|
unk0x0e = i;
|
||||||
|
success = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
for (; i < m_animCount && m_anims[i].m_unk0x08 == p_unk0x08; i++) {
|
||||||
|
unk0x10 = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
p_unk0x0e = unk0x0e;
|
||||||
|
p_unk0x10 = unk0x10;
|
||||||
|
result = SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100618f0
|
// FUNCTION: LEGO1 0x100618f0
|
||||||
|
|
Loading…
Reference in a new issue