mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-12-20 21:02:28 -05:00
Implement/match Act3Brickster::ParseAction
(#1211)
This commit is contained in:
parent
598d6dd10c
commit
fe57a94416
4 changed files with 66 additions and 13 deletions
LEGO1/lego/legoomni
|
@ -122,6 +122,7 @@ class Act3 : public LegoWorld {
|
|||
void RemoveDonut(Act3Ammo& p_p);
|
||||
MxResult ShootPizza(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
||||
MxResult ShootDonut(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
||||
void SetBrickster(Act3Brickster* p_brickster);
|
||||
void FUN_10073400();
|
||||
void FUN_10073430();
|
||||
void GoodEnding(const Matrix4& p_matrix);
|
||||
|
|
|
@ -101,12 +101,17 @@ class Act3Brickster : public Act3Actor {
|
|||
// Act3Brickster::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
MxFloat m_unk0x20; // 0x20
|
||||
MxFloat m_unk0x24; // 0x24
|
||||
undefined4 m_unk0x28[10]; // 0x28
|
||||
MxFloat m_unk0x50; // 0x50
|
||||
undefined4 m_unk0x54; // 0x54
|
||||
undefined4 m_unk0x58; // 0x58
|
||||
MxFloat m_unk0x20; // 0x20
|
||||
MxFloat m_unk0x24; // 0x24
|
||||
LegoWorld* m_world; // 0x28
|
||||
undefined4 m_unk0x2c; // 0x2c
|
||||
undefined4 m_unk0x30; // 0x30
|
||||
LegoAnimActorStruct* m_shootAnim; // 0x34
|
||||
undefined4 m_unk0x38; // 0x38
|
||||
Mx3DPointFloat m_unk0x3c; // 0x3c
|
||||
MxFloat m_unk0x50; // 0x50
|
||||
undefined4 m_unk0x54; // 0x54
|
||||
undefined m_unk0x58; // 0x58
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d7920 LegoPathActor
|
||||
|
@ -146,6 +151,9 @@ class Act3Shark : public LegoAnimActor {
|
|||
Mx3DPointFloat m_unk0x3c; // 0x3c
|
||||
};
|
||||
|
||||
// FUNCTION: LEGO1 0x1003ff10
|
||||
// Act3Actor::`vbase destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x10042c20
|
||||
// list<Act3Ammo *,allocator<Act3Ammo *> >::~list<Act3Ammo *,allocator<Act3Ammo *> >
|
||||
|
||||
|
@ -155,6 +163,12 @@ class Act3Shark : public LegoAnimActor {
|
|||
// GLOBAL: LEGO1 0x100d7660
|
||||
// Act3Actor::`vbtable'
|
||||
|
||||
// GLOBAL: LEGO1 0x100d7748
|
||||
// Act3Cop::`vbtable'
|
||||
|
||||
// GLOBAL: LEGO1 0x100d7830
|
||||
// Act3Brickster::`vbtable'
|
||||
|
||||
// GLOBAL: LEGO1 0x100d7918
|
||||
// Act3Shark::`vbtable'
|
||||
|
||||
|
|
|
@ -99,10 +99,13 @@ MxResult Act3Actor::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
|
|||
return SUCCESS;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1003fe30
|
||||
// FUNCTION: LEGO1 0x1003fe30
|
||||
// FUNCTION: BETA10 0x10018412
|
||||
Act3Cop::Act3Cop()
|
||||
{
|
||||
// TODO
|
||||
m_unk0x20 = -1.0f;
|
||||
m_world = NULL;
|
||||
SetState(c_bit3);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1003ff70
|
||||
|
@ -140,6 +143,7 @@ MxResult Act3Cop::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
|
|||
}
|
||||
|
||||
// STUB: LEGO1 0x10040060
|
||||
// STUB: BETA10 0x100186fa
|
||||
void Act3Cop::ParseAction(char* p_extra)
|
||||
{
|
||||
// TODO
|
||||
|
@ -165,22 +169,49 @@ MxResult Act3Cop::VTable0x9c()
|
|||
return SUCCESS;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10040e10
|
||||
// FUNCTION: LEGO1 0x10040e10
|
||||
// FUNCTION: BETA10 0x10019516
|
||||
Act3Brickster::Act3Brickster()
|
||||
{
|
||||
// TODO
|
||||
m_world = NULL;
|
||||
m_unk0x2c = 0;
|
||||
m_unk0x30 = 0;
|
||||
m_shootAnim = NULL;
|
||||
m_unk0x38 = 0;
|
||||
m_unk0x20 = 0.0f;
|
||||
m_unk0x24 = 0.0f;
|
||||
m_unk0x54 = 0;
|
||||
|
||||
SetState(c_bit3);
|
||||
m_unk0x58 = 0;
|
||||
|
||||
m_unk0x3c.Clear();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10040f20
|
||||
// FUNCTION: BETA10 0x10019663
|
||||
Act3Brickster::~Act3Brickster()
|
||||
{
|
||||
// TODO
|
||||
// empty
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10040ff0
|
||||
// FUNCTION: LEGO1 0x10040ff0
|
||||
// FUNCTION: BETA10 0x100196ff
|
||||
void Act3Brickster::ParseAction(char* p_extra)
|
||||
{
|
||||
// TODO
|
||||
m_world = CurrentWorld();
|
||||
|
||||
LegoAnimActor::ParseAction(p_extra);
|
||||
|
||||
((Act3*) m_world)->SetBrickster(this);
|
||||
|
||||
for (MxS32 i = 0; i < m_animMaps.size(); i++) {
|
||||
if (m_animMaps[i]->GetUnknown0x00() == -1.0f) {
|
||||
m_shootAnim = m_animMaps[i];
|
||||
}
|
||||
}
|
||||
|
||||
assert(m_shootAnim);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10041050
|
||||
|
|
|
@ -534,6 +534,13 @@ MxResult Act3::Tickle()
|
|||
return SUCCESS;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100733f0
|
||||
// STUB: BETA10 0x10016ba2
|
||||
void Act3::SetBrickster(Act3Brickster* p_brickster)
|
||||
{
|
||||
m_brickster = p_brickster;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10073400
|
||||
void Act3::FUN_10073400()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue