Isle
Loading...
Searching...
No Matches
score.h
Go to the documentation of this file.
1#ifndef SCORE_H
2#define SCORE_H
3
4#include "legogamestate.h"
5#include "legostate.h"
6#include "legoworld.h"
7
10
15class ScoreState : public LegoState {
16public:
19
22 MxBool IsSerializable() override { return FALSE; } // vtable+0x14
23
26 MxBool Reset() override
27 {
29 return TRUE;
30 } // vtable+0x18
31
34 const char* ClassName() const override // vtable+0x0c
35 {
36 return "ScoreState";
37 }
38
42 MxBool IsA(const char* p_name) const override // vtable+0x10
43 {
44 return !strcmp(p_name, ScoreState::ClassName()) || LegoState::IsA(p_name);
45 }
46
50
53 void SetTutorialFlag(MxBool p_playCubeTutorial) { m_playCubeTutorial = p_playCubeTutorial; }
54
57
58 // SYNTHETIC: LEGO1 0x1000df00
59 // ScoreState::`scalar deleting destructor'
60};
61
66class Score : public LegoWorld {
67public:
69 Score();
70
72 ~Score() override;
73
77 MxLong Notify(MxParam& p_param) override; // vtable+0x04
78
80 MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
81
84 const char* ClassName() const override // vtable+0x0c
85 {
86 return "Score";
87 }
88
92 MxBool IsA(const char* p_name) const override // vtable+0x10
93 {
94 return !strcmp(p_name, Score::ClassName()) || LegoWorld::IsA(p_name);
95 }
96
100 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
101
103 void ReadyWorld() override; // vtable+0x50
104
107 MxBool Escape() override; // vtable+0x64
108
111 void Enable(MxBool p_enable) override; // vtable+0x68
112
114 void Paint();
115
120
125
130 void FillArea(MxS32 i_activity, MxS32 i_actor, MxS16 score);
131
132protected:
134 void DeleteScript();
135
138
141
143 MxU8* m_surface; // 0x100
144
145 // SYNTHETIC: LEGO1 0x100011e0
146 // Score::`scalar deleting destructor'
147};
148
149#endif // SCORE_H
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
Area
Enumeration of all major in-game locations ("areas") for area/scene management and serialization.
Definition: legogamestate.h:92
[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
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
Definition: legoworld.h:49
MxBool IsA(const char *p_name) const override
Runtime type checking; checks class hierarchy.
Definition: legoworld.h:153
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
Definition: mxparam.h:7
[AI] State object used to track the status of the Score/High Score area, particularly whether the edu...
Definition: score.h:15
ScoreState()
[AI] Constructor initializes the tutorial flag to TRUE by default.
Definition: score.h:18
MxBool IsSerializable() override
[AI] Indicates whether this state can be serialized for savegames.
Definition: score.h:22
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is the given class or any of its base classes.
Definition: score.h:42
MxBool GetTutorialFlag()
[AI] Get whether the high score cube tutorial should be played.
Definition: score.h:49
const char * ClassName() const override
[AI] Returns the class name as a string.
Definition: score.h:34
void SetTutorialFlag(MxBool p_playCubeTutorial)
[AI] Set whether the high score cube tutorial should be played.
Definition: score.h:53
MxBool Reset() override
[AI] Resets the ScoreState by re-enabling the tutorial.
Definition: score.h:26
MxBool m_playCubeTutorial
[AI] Whether the cube tutorial should be played when entering the Score/High Score area.
Definition: score.h:56
[AI] Implements the InfoScore/High Score game world/area, including score table display and handling ...
Definition: score.h:66
Score()
[AI] Constructor initializes destination location and registers Score for notifications.
Definition: score.cpp:29
MxLong FUN_100016d0(LegoControlManagerNotificationParam &p_param)
[AI] Handles user input/control interaction (button/cube click) in the InfoScore area,...
Definition: score.cpp:166
ScoreState * m_state
[AI] Pointer to the current ScoreState for this world's area/session.
Definition: score.h:140
void FillArea(MxS32 i_activity, MxS32 i_actor, MxS16 score)
[AI] Helper for painting – fills the correct high score colored area for an activity/actor pair on th...
Definition: score.cpp:294
MxLong FUN_10001510(MxEndActionNotificationParam &p_param)
[AI] Handles notification of a completed action (like an InfoScore script finishing).
Definition: score.cpp:121
void DeleteScript()
[AI] Cancels the tutorial script playback if still running and disables further tutorials for this se...
Definition: score.cpp:68
void ReadyWorld() override
[AI] Called when the world is ready to be started (usually upon area entry); triggers the correct ani...
Definition: score.cpp:142
MxLong Notify(MxParam &p_param) override
[AI] Handles incoming notifications, including control and action completion, and manages state trans...
Definition: score.cpp:82
MxBool IsA(const char *p_name) const override
[AI] Checks if this object is an instance of Score or its base type.
Definition: score.h:92
~Score() override
[AI] Destructor unregisters Score from managers and performs cleanup.
Definition: score.cpp:36
MxResult Create(MxDSAction &p_dsAction) override
[AI] Creates and initializes the Score world with the specified DS action.
Definition: score.cpp:48
MxBool VTable0x5c() override
[AI] Returns TRUE, indicating this world supports whatever subsystem the vtable+0x5c is checking for ...
Definition: score.h:80
MxU8 * m_surface
[AI] Raw surface data pointer for direct pixel manipulation (locked during Paint(); NULL otherwise)....
Definition: score.h:143
const char * ClassName() const override
[AI] Returns the class name.
Definition: score.h:84
MxBool Escape() override
[AI] Called when the player is attempting to “escape” (exit) the InfoScore area; deletes script actio...
Definition: score.cpp:317
LegoGameState::Area m_destLocation
[AI] Area/room to switch to after leaving Score (set when the user clicks navigation arrows/books/etc...
Definition: score.h:137
void Enable(MxBool p_enable) override
[AI] Called to enable or disable this world, hooking up input as needed.
Definition: score.cpp:225
void Paint()
[AI] Paints the current score cube with the high scores for each activity and actor.
Definition: score.cpp:240
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
#define FALSE
Definition: d3drmdef.h:27
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
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
signed int MxS32
[AI]
Definition: mxtypes.h:38