Implement/match Pizza::FUN_100382b0 and Pizza::StopActions (#1118)

This commit is contained in:
Christian Semmler
2024-10-26 09:34:43 -07:00
committed by GitHub
parent 0cb753e523
commit 2b9d8f1fba
5 changed files with 74 additions and 39 deletions

View File

@@ -1,6 +1,7 @@
#ifndef PIZZA_H
#define PIZZA_H
#include "actionsfwd.h"
#include "decomp.h"
#include "isleactor.h"
#include "legostate.h"
@@ -13,7 +14,7 @@ class SkateBoard;
class PizzaMissionState : public LegoState {
public:
// SIZE 0x20
struct Entry {
struct Mission {
public:
MxResult WriteToFile(LegoFile* p_file)
{
@@ -33,16 +34,16 @@ public:
return SUCCESS;
}
undefined2 m_unk0x00; // 0x00
MxU8 m_id; // 0x02
undefined m_unk0x03[3]; // 0x03
MxS16 m_unk0x06; // 0x06
undefined m_unk0x08[8]; // 0x08
undefined4 m_unk0x10; // 0x10
MxS16 m_unk0x14; // 0x14
MxS16 m_unk0x16; // 0x16
MxS16 m_score; // 0x18
undefined m_unk0x1a[6]; // 0x1a
MxS16 m_numActions; // 0x00
MxU8 m_id; // 0x02
undefined m_unk0x03[3]; // 0x03
MxS16 m_unk0x06; // 0x06
undefined m_unk0x08[8]; // 0x08
MxLong m_startTime; // 0x10
MxS16 m_unk0x14; // 0x14
MxS16 m_unk0x16; // 0x16
MxS16 m_score; // 0x18
IsleScript::Script* m_actions; // 0x1c
};
PizzaMissionState();
@@ -67,11 +68,11 @@ public:
// SYNTHETIC: LEGO1 0x10039350
// PizzaMissionState::`scalar deleting destructor'
Entry* GetState(MxU8 p_id);
Mission* GetState(MxU8 p_id);
undefined4 m_unk0x08; // 0x08
undefined4 m_unk0x0c; // 0x0c
Entry m_state[5]; // 0x10
Mission m_state[5]; // 0x10
undefined4 m_unk0xb0; // 0xb0
};
@@ -105,23 +106,23 @@ public:
void CreateState();
void FUN_10038220(MxU32 p_objectId);
void FUN_100382b0();
void FUN_10038380();
void StopActions();
void FUN_10038fe0(MxU32 p_objectId, MxBool);
void SetSkateboard(SkateBoard* p_skateboard) { m_skateboard = p_skateboard; }
void SetSkateboard(SkateBoard* p_skateBoard) { m_skateBoard = p_skateBoard; }
// SYNTHETIC: LEGO1 0x100380e0
// Pizza::`scalar deleting destructor'
private:
PizzaMissionState* m_state; // 0x7c
PizzaMissionState::Entry* m_entry; // 0x80
SkateBoard* m_skateboard; // 0x84
Act1State* m_act1state; // 0x88
undefined4 m_unk0x8c; // 0x8c
undefined4 m_unk0x90; // 0x90
undefined4 m_unk0x94; // 0x94
undefined m_unk0x98; // 0x98
PizzaMissionState* m_state; // 0x7c
PizzaMissionState::Mission* m_mission; // 0x80
SkateBoard* m_skateBoard; // 0x84
Act1State* m_act1state; // 0x88
undefined4 m_unk0x8c; // 0x8c
undefined4 m_unk0x90; // 0x90
undefined4 m_unk0x94; // 0x94
undefined m_unk0x98; // 0x98
};
#endif // PIZZA_H

View File

@@ -35,13 +35,12 @@ public:
void SetUnknown0x160(MxBool p_unk0x160) { m_unk0x160 = p_unk0x160; }
void ActivateSceneActions();
void EnableScenePresentation(MxBool p_enable);
// SYNTHETIC: LEGO1 0x1000ff60
// SkateBoard::`scalar deleting destructor'
private:
void EnableScenePresentation(MxBool p_enable);
MxBool m_unk0x160; // 0x160
Act1State* m_act1state; // 0x164
};