mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 15:37:55 -05:00
Implement/match LegoAnimationManager::Init (#858)
This commit is contained in:
parent
00f5eff792
commit
86203f1704
2 changed files with 70 additions and 8 deletions
|
@ -38,7 +38,9 @@ struct Vehicle {
|
||||||
struct Unknown0x3c {
|
struct Unknown0x3c {
|
||||||
LegoROI* m_roi; // 0x00
|
LegoROI* m_roi; // 0x00
|
||||||
MxU32 m_id; // 0x04
|
MxU32 m_id; // 0x04
|
||||||
undefined m_unk0x08[0x10]; // 0x08
|
undefined m_unk0x08[0x08]; // 0x08
|
||||||
|
float m_unk0x10; // 0x10
|
||||||
|
undefined m_unk0x14; // 0x14
|
||||||
};
|
};
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d8c18
|
// VTABLE: LEGO1 0x100d8c18
|
||||||
|
@ -87,7 +89,7 @@ class LegoAnimationManager : public MxCore {
|
||||||
undefined p_param9
|
undefined p_param9
|
||||||
);
|
);
|
||||||
void FUN_10061010(undefined4);
|
void FUN_10061010(undefined4);
|
||||||
void FUN_100617c0(MxS32, MxU16&, MxU32&);
|
void FUN_100617c0(MxS32, MxU16&, MxU16&);
|
||||||
LegoTranInfo* GetTranInfo(MxU32 p_index);
|
LegoTranInfo* GetTranInfo(MxU32 p_index);
|
||||||
MxS8 FUN_10062360(char*);
|
MxS8 FUN_10062360(char*);
|
||||||
void FUN_10062770();
|
void FUN_10062770();
|
||||||
|
@ -123,9 +125,10 @@ class LegoAnimationManager : public MxCore {
|
||||||
MxU32 m_scriptIndex; // 0x08
|
MxU32 m_scriptIndex; // 0x08
|
||||||
MxU16 m_animCount; // 0x0c
|
MxU16 m_animCount; // 0x0c
|
||||||
MxU16 m_unk0x0e; // 0x0e
|
MxU16 m_unk0x0e; // 0x0e
|
||||||
MxU32 m_unk0x10; // 0x10
|
MxU16 m_unk0x10; // 0x10
|
||||||
AnimInfo* m_anims; // 0x14
|
AnimInfo* m_anims; // 0x14
|
||||||
undefined m_unk0x18[4]; // 0x18
|
undefined2 m_unk0x18; // 0x18
|
||||||
|
undefined m_unk0x1a; // 0x1a
|
||||||
MxU32 m_unk0x1c; // 0x1c
|
MxU32 m_unk0x1c; // 0x1c
|
||||||
LegoTranInfoList* m_tranInfoList; // 0x20
|
LegoTranInfoList* m_tranInfoList; // 0x20
|
||||||
LegoTranInfoList* m_tranInfoList2; // 0x24
|
LegoTranInfoList* m_tranInfoList2; // 0x24
|
||||||
|
@ -140,7 +143,12 @@ class LegoAnimationManager : public MxCore {
|
||||||
undefined m_unk0x401; // 0x401
|
undefined m_unk0x401; // 0x401
|
||||||
MxU8 m_unk0x402; // 0x402
|
MxU8 m_unk0x402; // 0x402
|
||||||
MxLong m_unk0x404; // 0x404
|
MxLong m_unk0x404; // 0x404
|
||||||
undefined m_unk0x408[0x18]; // 0x408
|
MxLong m_unk0x408; // 0x408
|
||||||
|
MxLong m_unk0x40c; // 0x40c
|
||||||
|
undefined4 m_unk0x410; // 0x410
|
||||||
|
undefined4 m_unk0x414; // 0x414
|
||||||
|
undefined4 m_unk0x418; // 0x418
|
||||||
|
undefined4 m_unk0x41c; // 0x41c
|
||||||
AnimState* m_animState; // 0x420
|
AnimState* m_animState; // 0x420
|
||||||
LegoROIList* m_unk0x424; // 0x424
|
LegoROIList* m_unk0x424; // 0x424
|
||||||
undefined m_unk0x428; // 0x428
|
undefined m_unk0x428; // 0x428
|
||||||
|
|
|
@ -166,11 +166,65 @@ void LegoAnimationManager::FUN_1005f0b0()
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1005f130
|
// FUNCTION: LEGO1 0x1005f130
|
||||||
// FUNCTION: BETA10 0x1003ffb7
|
// FUNCTION: BETA10 0x1003ffb7
|
||||||
void LegoAnimationManager::Init()
|
void LegoAnimationManager::Init()
|
||||||
{
|
{
|
||||||
// TODO
|
m_unk0x402 = 0;
|
||||||
|
m_scriptIndex = -1;
|
||||||
|
m_animCount = 0;
|
||||||
|
m_anims = NULL;
|
||||||
|
m_unk0x18 = 0;
|
||||||
|
m_unk0x1a = 0;
|
||||||
|
m_tranInfoList = NULL;
|
||||||
|
m_tranInfoList2 = NULL;
|
||||||
|
m_unk0x41c = g_legoAnimationManagerConfig <= 1 ? 10 : 20;
|
||||||
|
|
||||||
|
MxS32 i;
|
||||||
|
for (i = 0; i < (MxS32) _countof(m_unk0x28); i++) {
|
||||||
|
m_unk0x28[i] = NULL;
|
||||||
|
m_unk0x30[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < (MxS32) _countof(m_unk0x3c); i++) {
|
||||||
|
m_unk0x3c[i].m_roi = NULL;
|
||||||
|
m_unk0x3c[i].m_id = -1;
|
||||||
|
m_unk0x3c[i].m_unk0x10 = -1.0f;
|
||||||
|
m_unk0x3c[i].m_unk0x14 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_unk0x38 = 0;
|
||||||
|
m_unk0x39 = FALSE;
|
||||||
|
m_unk0x3a = 1;
|
||||||
|
m_unk0x3fc = 0;
|
||||||
|
m_unk0x400 = 0;
|
||||||
|
m_unk0x414 = 0;
|
||||||
|
m_unk0x418 = 5;
|
||||||
|
m_unk0x0e = 0;
|
||||||
|
m_unk0x10 = 0;
|
||||||
|
m_unk0x401 = 0;
|
||||||
|
m_unk0x42b = 0;
|
||||||
|
m_unk0x430 = 0;
|
||||||
|
m_unk0x42c = 0;
|
||||||
|
m_unk0x408 = m_unk0x40c = m_unk0x404 = Timer()->GetTime();
|
||||||
|
m_unk0x410 = 5000;
|
||||||
|
|
||||||
|
for (i = 0; i < (MxS32) _countof(g_characters); i++) {
|
||||||
|
g_characters[i].m_active = FALSE;
|
||||||
|
g_characters[i].m_unk0x04 = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < (MxS32) _countof(g_vehicles); i++) {
|
||||||
|
g_vehicles[i].m_unk0x04 = 0;
|
||||||
|
g_vehicles[i].m_unk0x05 = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_unk0x424 != NULL) {
|
||||||
|
FUN_10063aa0();
|
||||||
|
delete m_unk0x424;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_unk0x424 = new LegoROIList();
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1005f6d0
|
// STUB: LEGO1 0x1005f6d0
|
||||||
|
@ -657,7 +711,7 @@ void LegoAnimationManager::FUN_10061010(undefined4)
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100617c0
|
// STUB: LEGO1 0x100617c0
|
||||||
void LegoAnimationManager::FUN_100617c0(MxS32, MxU16&, MxU32&)
|
void LegoAnimationManager::FUN_100617c0(MxS32, MxU16&, MxU16&)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue