Isle
Loading...
Searching...
No Matches
pizzeria.h
Go to the documentation of this file.
1#ifndef PIZZERIA_H
2#define PIZZERIA_H
3
4#include "actionsfwd.h"
5#include "decomp.h"
6#include "isleactor.h"
7#include "legostate.h"
8
10
11// VTABLE: LEGO1 0x100d5ee8
12// VTABLE: BETA10 0x101bf788
13// SIZE 0x58
21class PizzeriaState : public LegoState {
22public:
27
32 const char* ClassName() const override // vtable+0x0c
33 {
34 // STRING: LEGO1 0x100f0370
35 return "PizzeriaState";
36 }
37
43 MxBool IsA(const char* p_name) const override // vtable+0x10
44 {
45 return !strcmp(p_name, PizzeriaState::ClassName()) || LegoState::IsA(p_name);
46 }
47
54 MxResult Serialize(LegoStorage* p_storage) override; // vtable+0x1c
55
56 // SYNTHETIC: LEGO1 0x10017ce0
57 // PizzeriaState::`scalar deleting destructor'
58
65
73
78 Playlist m_unk0x08[5]; // 0x08
79
84 MxS32 m_unk0x44[5]; // 0x44
85
106};
107
108
109// VTABLE: LEGO1 0x100d5520
110// VTABLE: BETA10 0x101bd0b0
111// SIZE 0x84
116class Pizzeria : public IsleActor {
117public:
121 Pizzeria() : m_pizzeriaState(NULL) {}
122
127 const char* ClassName() const override // vtable+0x0c
128 {
129 // STRING: LEGO1 0x100f0380
130 return "Pizzeria";
131 }
132
138 MxBool IsA(const char* p_name) const override // vtable+0x10
139 {
140 return !strcmp(p_name, Pizzeria::ClassName()) || IsleActor::IsA(p_name);
141 }
142
149 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
150
157 MxLong HandleClick() override; // vtable+0x68
158
164 void CreateState();
165
166 // SYNTHETIC: LEGO1 0x1000e8d0
167 // Pizzeria::`scalar deleting destructor'
168
169private:
173 PizzeriaState* m_pizzeriaState; // 0x7c
174
179 PizzaMissionState* m_pizzaMissionState; // 0x80
180};
181
182#endif // PIZZERIA_H
[AI] Represents an actor instance specifically used within LEGO Island, extending LegoActor with noti...
Definition: isleactor.h:15
MxBool IsA(const char *p_name) const override
[AI] Checks if this instance is of the specified class, or inherits from it.
Definition: isleactor.h:68
[AI] Base class for game state blocks which encapsulate serializable and/or resettable aspects of the...
Definition: legostate.h:17
MxBool IsA(const char *p_name) const override
[AI] Tests if this object is of a given class name, directly or through inheritance.
Definition: legostate.h:169
Abstract base class providing an interface for file-like storage with binary and text read/write oper...
Definition: legostorage.h:16
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
Pizza mission state for the pizza delivery minigame and related characters.
Definition: pizza.h:21
[AI] Stores all state information for the pizzeria (Pizza Shop) minigame.
Definition: pizzeria.h:21
static IsleScript::Script g_mamaActions[]
[AI] Static list of script IDs for Mama's actions/animations in the pizzeria minigame.
Definition: pizzeria.h:93
MxS32 m_unk0x44[5]
[AI] Per-actor state counters.
Definition: pizzeria.h:84
static IsleScript::Script g_lauraActions[]
[AI] Static list of script IDs for Laura's actions/animations in the pizzeria minigame.
Definition: pizzeria.h:105
MxU32 NextAction()
[AI] Advance and fetch the next action (animation script) for the player's actor in the pizzeria.
Definition: pizzeria.cpp:108
static IsleScript::Script g_papaActions[]
[AI] Static list of script IDs for Papa's actions/animations in the pizzeria minigame.
Definition: pizzeria.h:97
Playlist m_unk0x08[5]
[AI] Playlists (one for each actor in the pizzeria: Pepper, Mama, Papa, Nick, Laura) holding the list...
Definition: pizzeria.h:78
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is a PizzeriaState or a base type.
Definition: pizzeria.h:43
PizzeriaState()
[AI] Constructor that initializes the playlists for each pizzeria actor and resets progress state.
Definition: pizzeria.cpp:90
MxResult Serialize(LegoStorage *p_storage) override
[AI] Serializes Playlist progress/state for all actors to/from the provided storage.
Definition: pizzeria.cpp:121
static IsleScript::Script g_nickActions[]
[AI] Static list of script IDs for Nick's actions/animations in the pizzeria minigame.
Definition: pizzeria.h:101
static IsleScript::Script g_pepperActions[]
[AI] Static list of script IDs for Pepper's actions/animations in the pizzeria minigame.
Definition: pizzeria.h:89
MxS16 FUN_10017d50()
[AI] Returns the per-actor progress state index for the actor corresponding to the current player's a...
Definition: pizzeria.cpp:101
const char * ClassName() const override
[AI] Returns the class name string identifier.
Definition: pizzeria.h:32
[AI] Actor representing the pizzeria (Pizza Shop) as an interactive entity in the LEGO Island world.
Definition: pizzeria.h:116
MxLong HandleClick() override
[AI] Handles click/interact actions on the Pizzeria actor, triggering minigame logic.
Definition: pizzeria.cpp:70
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is a Pizzeria or a base type.
Definition: pizzeria.h:138
void CreateState()
[AI] Searches the game state for existing state objects for "PizzeriaState" and "PizzaMissionState",...
Definition: pizzeria.cpp:51
Pizzeria()
[AI] Constructor.
Definition: pizzeria.h:121
const char * ClassName() const override
[AI] Returns the class name string identifier.
Definition: pizzeria.h:127
MxResult Create(MxDSAction &p_dsAction) override
[AI] Handles the initialization of the Pizzeria actor in response to a data source action (SI script ...
Definition: pizzeria.cpp:38
#define override
Definition: compat.h:21
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83
signed short MxS16
[AI]
Definition: mxtypes.h:26
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
[AI] Playlist structure representing an indexed list of object IDs with next-item selection strategie...
Definition: legostate.h:36