Isle
Loading...
Searching...
No Matches
registrationbook.h
Go to the documentation of this file.
1#ifndef REGISTRATIONBOOK_H
2#define REGISTRATIONBOOK_H
3
4#include "legoworld.h"
5
12
16public:
19
21 ~RegistrationBook() override; // vtable+0x00
22
25 MxLong Notify(MxParam& p_param) override; // vtable+0x04
26
28 MxResult Tickle() override; // vtable+0x08
29
31 const char* ClassName() const override // vtable+0x0c
32 {
33 // STRING: LEGO1 0x100f04c8
34 return "RegistrationBook";
35 }
36
39 MxBool IsA(const char* p_name) const override // vtable+0x10
40 {
41 return !strcmp(p_name, RegistrationBook::ClassName()) || LegoWorld::IsA(p_name);
42 }
43
46 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
47
49 void ReadyWorld() override; // vtable+0x50
50
52 MxBool Escape() override; // vtable+0x64
53
56 void Enable(MxBool p_enable) override; // vtable+0x68
57
60 inline static void PlayAction(MxU32 p_objectId);
61
62private:
63 MxS32 m_registerDialogueTimer;
64 undefined m_unk0xfc;
65 undefined m_unk0xfd[3];
66 MxStillPresenter* m_alphabet[26];
67 MxStillPresenter* m_name[10][7];
68 struct {
71 } m_unk0x280;
72
73 MxControlPresenter* m_checkmark[10];
74 undefined2 m_unk0x2b8;
75 InfocenterState* m_infocenterState;
76 undefined m_unk0x2c0;
77 undefined m_unk0x2c1;
78 undefined m_unk0x2c2[0x02];
79 LPDIRECTDRAWSURFACE m_checkboxHilite;
80 LPDIRECTDRAWSURFACE m_checkboxSurface;
81 LPDIRECTDRAWSURFACE m_checkboxNormal;
82
86 MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
87
91 MxLong HandleKeyPress(MxU8 p_key);
92
96 MxLong HandleControl(LegoControlManagerNotificationParam& p_param);
97
101 MxLong HandlePathStruct(LegoPathStructNotificationParam& p_param);
102
105 void FUN_100775c0(MxS16 p_playerIndex);
106
109 void WriteInfocenterLetters(MxS16 p_user);
110
112 void FUN_100778c0();
113
116 MxBool CreateSurface();
117};
118
119#endif // REGISTRATIONBOOK_H
[AI] Represents the state of the Infocenter area, storing scripts, dialogue playlists and UI letter p...
Definition: infocenter.h:23
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
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] Presenter for UI controls, supporting toggles, grids, and "map" style controls with multiple int...
[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] Presenter for single still image/bitmap media sources in the game.
Derived world for handling the user registration book/infocenter name entry interface.
MxResult Create(MxDSAction &p_dsAction) override
Handles creation/initialization logic when launched, registering to input/control and setting up stat...
void Enable(MxBool p_enable) override
Enables/disables world; updates input and UI state accordingly.
MxS16 m_letters[7]
[AI] Letter indices ('A'=0...'Z'=25 or -1 for empty) for currently-entered name.
MxS16 m_cursorPos
[AI] Current cursor position within the 7-letter name being entered.
MxBool IsA(const char *p_name) const override
Tests class identity for type checking/casting.
RegistrationBook()
Constructs a RegistrationBook and initializes UI elements and registration state. [AI].
const char * ClassName() const override
Returns the class name string of this world ("RegistrationBook"). [AI].
static void PlayAction(MxU32 p_objectId)
Helper to play script action within the regbook.
~RegistrationBook() override
Destructor, cleans up UI elements, surfaces, and unregisters input/control/notification....
MxLong Notify(MxParam &p_param) override
Called for notification events including actions, keypresses, controls and transitions.
MxResult Tickle() override
Per-frame tick/update handler, manages dialogue timer and checkbox blink logic. [AI].
void ReadyWorld() override
Called to fully initialize the infocenter registration UI and player names. [AI].
MxBool Escape() override
Handles player pressing Escape, cancels animation and returns to main infocenter. [AI].
#define override
Definition: compat.h:21
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
Definition: ddraw.h:74
unsigned short undefined2
Definition: decomp.h:27
unsigned char undefined
Definition: decomp.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
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32