mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 17:36:12 -05:00
Implement/match LegoAnimMMPresenter::FUN_1004b580 (#829)
This commit is contained in:
parent
f637dcaa29
commit
3cab989250
5 changed files with 26 additions and 14 deletions
|
@ -113,7 +113,7 @@ class LegoAnimationManager : public MxCore {
|
||||||
LegoTranInfoList* m_tranInfoList; // 0x20
|
LegoTranInfoList* m_tranInfoList; // 0x20
|
||||||
LegoTranInfoList* m_tranInfoList2; // 0x24
|
LegoTranInfoList* m_tranInfoList2; // 0x24
|
||||||
MxPresenter* m_unk0x28[2]; // 0x28
|
MxPresenter* m_unk0x28[2]; // 0x28
|
||||||
MxPresenter* m_unk0x30[2]; // 0x30
|
MxLong m_unk0x30[2]; // 0x30
|
||||||
undefined m_unk0x38; // 0x38
|
undefined m_unk0x38; // 0x38
|
||||||
MxBool m_unk0x39; // 0x39
|
MxBool m_unk0x39; // 0x39
|
||||||
undefined m_unk0x3a; // 0x3a
|
undefined m_unk0x3a; // 0x3a
|
||||||
|
|
|
@ -70,7 +70,7 @@ class LegoAnimMMPresenter : public MxCompositePresenter {
|
||||||
MxLong m_unk0x50; // 0x50
|
MxLong m_unk0x50; // 0x50
|
||||||
undefined4 m_unk0x54; // 0x54
|
undefined4 m_unk0x54; // 0x54
|
||||||
MxU8 m_unk0x58; // 0x58
|
MxU8 m_unk0x58; // 0x58
|
||||||
MxBool m_unk0x59; // 0x59
|
MxU8 m_unk0x59; // 0x59
|
||||||
MxU32 m_animmanId; // 0x5c
|
MxU32 m_animmanId; // 0x5c
|
||||||
LegoTranInfo* m_tranInfo; // 0x60
|
LegoTranInfo* m_tranInfo; // 0x60
|
||||||
LegoWorld* m_unk0x64; // 0x64
|
LegoWorld* m_unk0x64; // 0x64
|
||||||
|
|
|
@ -17,7 +17,7 @@ struct LegoTranInfo {
|
||||||
m_index = 0;
|
m_index = 0;
|
||||||
m_unk0x08 = NULL;
|
m_unk0x08 = NULL;
|
||||||
m_unk0x0c = NULL;
|
m_unk0x0c = NULL;
|
||||||
m_unk0x10 = FALSE;
|
m_unk0x10 = 0;
|
||||||
m_unk0x12 = -1;
|
m_unk0x12 = -1;
|
||||||
m_unk0x14 = FALSE;
|
m_unk0x14 = FALSE;
|
||||||
m_unk0x1c = NULL;
|
m_unk0x1c = NULL;
|
||||||
|
@ -34,13 +34,13 @@ struct LegoTranInfo {
|
||||||
MxU32 m_index; // 0x04
|
MxU32 m_index; // 0x04
|
||||||
LegoROI* m_unk0x08; // 0x08
|
LegoROI* m_unk0x08; // 0x08
|
||||||
MxMatrix* m_unk0x0c; // 0x0c
|
MxMatrix* m_unk0x0c; // 0x0c
|
||||||
MxBool m_unk0x10; // 0x10
|
MxU8 m_unk0x10; // 0x10
|
||||||
MxS16 m_unk0x12; // 0x12
|
MxS16 m_unk0x12; // 0x12
|
||||||
MxBool m_unk0x14; // 0x14
|
MxBool m_unk0x14; // 0x14
|
||||||
MxBool m_unk0x15; // 0x15
|
MxBool m_unk0x15; // 0x15
|
||||||
MxU32 m_objectId; // 0x18
|
MxU32 m_objectId; // 0x18
|
||||||
MxPresenter** m_unk0x1c; // 0x1c
|
MxPresenter** m_unk0x1c; // 0x1c
|
||||||
MxPresenter** m_unk0x20; // 0x20
|
MxLong* m_unk0x20; // 0x20
|
||||||
LegoAnimMMPresenter* m_presenter; // 0x24
|
LegoAnimMMPresenter* m_presenter; // 0x24
|
||||||
MxBool m_unk0x28; // 0x28
|
MxBool m_unk0x28; // 0x28
|
||||||
MxBool m_unk0x29; // 0x29
|
MxBool m_unk0x29; // 0x29
|
||||||
|
|
|
@ -157,7 +157,7 @@ MxResult LegoAnimationManager::LoadScriptInfo(MxS32 p_scriptIndex)
|
||||||
|
|
||||||
for (i = 0; i < (MxS32) _countof(m_unk0x28); i++) {
|
for (i = 0; i < (MxS32) _countof(m_unk0x28); i++) {
|
||||||
m_unk0x28[i] = NULL;
|
m_unk0x28[i] = NULL;
|
||||||
m_unk0x30[i] = NULL;
|
m_unk0x30[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_unk0x38 = 0;
|
m_unk0x38 = 0;
|
||||||
|
@ -456,7 +456,7 @@ MxResult LegoAnimationManager::FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix
|
||||||
LegoTranInfo* info = new LegoTranInfo();
|
LegoTranInfo* info = new LegoTranInfo();
|
||||||
info->m_unk0x00 = 0;
|
info->m_unk0x00 = 0;
|
||||||
info->m_index = ++m_unk0x1c;
|
info->m_index = ++m_unk0x1c;
|
||||||
info->m_unk0x10 = FALSE;
|
info->m_unk0x10 = 0;
|
||||||
info->m_unk0x08 = NULL;
|
info->m_unk0x08 = NULL;
|
||||||
info->m_unk0x12 = -1;
|
info->m_unk0x12 = -1;
|
||||||
info->m_unk0x14 = 0;
|
info->m_unk0x14 = 0;
|
||||||
|
|
|
@ -23,7 +23,7 @@ LegoAnimMMPresenter::LegoAnimMMPresenter()
|
||||||
{
|
{
|
||||||
m_presenter = NULL;
|
m_presenter = NULL;
|
||||||
m_animmanId = 0;
|
m_animmanId = 0;
|
||||||
m_unk0x59 = FALSE;
|
m_unk0x59 = 0;
|
||||||
m_tranInfo = NULL;
|
m_tranInfo = NULL;
|
||||||
m_unk0x54 = 0;
|
m_unk0x54 = 0;
|
||||||
m_unk0x64 = NULL;
|
m_unk0x64 = NULL;
|
||||||
|
@ -308,20 +308,32 @@ MxBool LegoAnimMMPresenter::FUN_1004b530(MxLong p_time)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004b570
|
// FUNCTION: LEGO1 0x1004b570
|
||||||
// FUNCTION: BETA10 0x1004c9cc
|
// FUNCTION: BETA10 0x1004c9cc
|
||||||
MxBool LegoAnimMMPresenter::FUN_1004b570(MxLong p_time)
|
MxBool LegoAnimMMPresenter::FUN_1004b570(MxLong p_time)
|
||||||
{
|
{
|
||||||
// TODO
|
return TRUE;
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004b580
|
// FUNCTION: LEGO1 0x1004b580
|
||||||
// FUNCTION: BETA10 0x1004ca3f
|
// FUNCTION: BETA10 0x1004ca3f
|
||||||
MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time)
|
MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time)
|
||||||
{
|
{
|
||||||
// TODO
|
switch (m_unk0x59) {
|
||||||
|
case 0:
|
||||||
|
if (m_tranInfo != NULL && m_tranInfo->m_unk0x15 != FALSE && m_tranInfo->m_unk0x20 != NULL &&
|
||||||
|
m_tranInfo->m_unk0x20[0] > p_time) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 4:
|
||||||
|
case 5:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004b5b0
|
// STUB: LEGO1 0x1004b5b0
|
||||||
|
|
Loading…
Reference in a new issue