mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-12-18 11:52:23 -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
|
@ -122,6 +122,7 @@ class Act3 : public LegoWorld {
|
||||||
void RemoveDonut(Act3Ammo& p_p);
|
void RemoveDonut(Act3Ammo& p_p);
|
||||||
MxResult ShootPizza(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
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);
|
MxResult ShootDonut(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
||||||
|
void SetBrickster(Act3Brickster* p_brickster);
|
||||||
void FUN_10073400();
|
void FUN_10073400();
|
||||||
void FUN_10073430();
|
void FUN_10073430();
|
||||||
void GoodEnding(const Matrix4& p_matrix);
|
void GoodEnding(const Matrix4& p_matrix);
|
||||||
|
|
|
@ -101,12 +101,17 @@ class Act3Brickster : public Act3Actor {
|
||||||
// Act3Brickster::`scalar deleting destructor'
|
// Act3Brickster::`scalar deleting destructor'
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MxFloat m_unk0x20; // 0x20
|
MxFloat m_unk0x20; // 0x20
|
||||||
MxFloat m_unk0x24; // 0x24
|
MxFloat m_unk0x24; // 0x24
|
||||||
undefined4 m_unk0x28[10]; // 0x28
|
LegoWorld* m_world; // 0x28
|
||||||
MxFloat m_unk0x50; // 0x50
|
undefined4 m_unk0x2c; // 0x2c
|
||||||
undefined4 m_unk0x54; // 0x54
|
undefined4 m_unk0x30; // 0x30
|
||||||
undefined4 m_unk0x58; // 0x58
|
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
|
// VTABLE: LEGO1 0x100d7920 LegoPathActor
|
||||||
|
@ -146,6 +151,9 @@ class Act3Shark : public LegoAnimActor {
|
||||||
Mx3DPointFloat m_unk0x3c; // 0x3c
|
Mx3DPointFloat m_unk0x3c; // 0x3c
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x1003ff10
|
||||||
|
// Act3Actor::`vbase destructor'
|
||||||
|
|
||||||
// TEMPLATE: LEGO1 0x10042c20
|
// TEMPLATE: LEGO1 0x10042c20
|
||||||
// list<Act3Ammo *,allocator<Act3Ammo *> >::~list<Act3Ammo *,allocator<Act3Ammo *> >
|
// list<Act3Ammo *,allocator<Act3Ammo *> >::~list<Act3Ammo *,allocator<Act3Ammo *> >
|
||||||
|
|
||||||
|
@ -155,6 +163,12 @@ class Act3Shark : public LegoAnimActor {
|
||||||
// GLOBAL: LEGO1 0x100d7660
|
// GLOBAL: LEGO1 0x100d7660
|
||||||
// Act3Actor::`vbtable'
|
// Act3Actor::`vbtable'
|
||||||
|
|
||||||
|
// GLOBAL: LEGO1 0x100d7748
|
||||||
|
// Act3Cop::`vbtable'
|
||||||
|
|
||||||
|
// GLOBAL: LEGO1 0x100d7830
|
||||||
|
// Act3Brickster::`vbtable'
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100d7918
|
// GLOBAL: LEGO1 0x100d7918
|
||||||
// Act3Shark::`vbtable'
|
// Act3Shark::`vbtable'
|
||||||
|
|
||||||
|
|
|
@ -99,10 +99,13 @@ MxResult Act3Actor::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1003fe30
|
// FUNCTION: LEGO1 0x1003fe30
|
||||||
|
// FUNCTION: BETA10 0x10018412
|
||||||
Act3Cop::Act3Cop()
|
Act3Cop::Act3Cop()
|
||||||
{
|
{
|
||||||
// TODO
|
m_unk0x20 = -1.0f;
|
||||||
|
m_world = NULL;
|
||||||
|
SetState(c_bit3);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1003ff70
|
// FUNCTION: LEGO1 0x1003ff70
|
||||||
|
@ -140,6 +143,7 @@ MxResult Act3Cop::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10040060
|
// STUB: LEGO1 0x10040060
|
||||||
|
// STUB: BETA10 0x100186fa
|
||||||
void Act3Cop::ParseAction(char* p_extra)
|
void Act3Cop::ParseAction(char* p_extra)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -165,22 +169,49 @@ MxResult Act3Cop::VTable0x9c()
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10040e10
|
// FUNCTION: LEGO1 0x10040e10
|
||||||
|
// FUNCTION: BETA10 0x10019516
|
||||||
Act3Brickster::Act3Brickster()
|
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: LEGO1 0x10040f20
|
||||||
|
// FUNCTION: BETA10 0x10019663
|
||||||
Act3Brickster::~Act3Brickster()
|
Act3Brickster::~Act3Brickster()
|
||||||
{
|
{
|
||||||
// TODO
|
// empty
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10040ff0
|
// FUNCTION: LEGO1 0x10040ff0
|
||||||
|
// FUNCTION: BETA10 0x100196ff
|
||||||
void Act3Brickster::ParseAction(char* p_extra)
|
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
|
// STUB: LEGO1 0x10041050
|
||||||
|
|
|
@ -534,6 +534,13 @@ MxResult Act3::Tickle()
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x100733f0
|
||||||
|
// STUB: BETA10 0x10016ba2
|
||||||
|
void Act3::SetBrickster(Act3Brickster* p_brickster)
|
||||||
|
{
|
||||||
|
m_brickster = p_brickster;
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10073400
|
// FUNCTION: LEGO1 0x10073400
|
||||||
void Act3::FUN_10073400()
|
void Act3::FUN_10073400()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue