mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-25 17:34:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef REGISTRATIONBOOK_H
 | |
| #define REGISTRATIONBOOK_H
 | |
| 
 | |
| #include "legoworld.h"
 | |
| 
 | |
| class InfocenterState;
 | |
| class MxControlPresenter;
 | |
| class MxEndActionNotificationParam;
 | |
| class MxStillPresenter;
 | |
| class LegoControlManagerNotificationParam;
 | |
| class LegoPathStructNotificationParam;
 | |
| 
 | |
| // VTABLE: LEGO1 0x100d9928
 | |
| // SIZE 0x2d0
 | |
| class RegistrationBook : public LegoWorld {
 | |
| public:
 | |
| 	RegistrationBook();
 | |
| 	~RegistrationBook() override; // vtable+0x00
 | |
| 
 | |
| 	MxLong Notify(MxParam& p_param) override; // vtable+0x04
 | |
| 	MxResult Tickle() override;               // vtable+0x08
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10076e10
 | |
| 	const char* ClassName() const override // vtable+0x0c
 | |
| 	{
 | |
| 		// STRING: LEGO1 0x100f04c8
 | |
| 		return "RegistrationBook";
 | |
| 	}
 | |
| 
 | |
| 	// FUNCTION: LEGO1 0x10076e20
 | |
| 	MxBool IsA(const char* p_name) const override // vtable+0x10
 | |
| 	{
 | |
| 		return !strcmp(p_name, RegistrationBook::ClassName()) || LegoWorld::IsA(p_name);
 | |
| 	}
 | |
| 
 | |
| 	MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
 | |
| 	void ReadyWorld() override;                       // vtable+0x50
 | |
| 	MxBool Escape() override;                         // vtable+0x64
 | |
| 	void Enable(MxBool p_enable) override;            // vtable+0x68
 | |
| 
 | |
| 	inline void PlayAction(MxU32 p_objectId);
 | |
| 
 | |
| 	// SYNTHETIC: LEGO1 0x10076f30
 | |
| 	// RegistrationBook::`scalar deleting destructor'
 | |
| 
 | |
| private:
 | |
| 	MxS32 m_registerDialogueTimer;    // 0xf8
 | |
| 	undefined m_unk0xfc;              // 0xfc
 | |
| 	undefined m_unk0xfd[3];           // 0xfd
 | |
| 	MxStillPresenter* m_alphabet[26]; // 0x100
 | |
| 	MxStillPresenter* m_name[10][7];  // 0x168
 | |
| 	struct {
 | |
| 		MxS16 m_letters[7];                // 0x00
 | |
| 		MxS16 m_cursorPos;                 // 0x0e
 | |
| 	} m_unk0x280;                          // 0x280
 | |
| 	MxControlPresenter* m_checkmark[10];   // 0x290
 | |
| 	undefined2 m_unk0x2b8;                 // 0x2b8
 | |
| 	InfocenterState* m_infocenterState;    // 0x2bc
 | |
| 	undefined m_unk0x2c0;                  // 0x2c0
 | |
| 	undefined m_unk0x2c1;                  // 0x2c1
 | |
| 	undefined m_unk0x2c2[0x02];            // 0x2c2
 | |
| 	LPDIRECTDRAWSURFACE m_checkboxHilite;  // 0x2c4
 | |
| 	LPDIRECTDRAWSURFACE m_checkboxSurface; // 0x2c8
 | |
| 	LPDIRECTDRAWSURFACE m_checkboxNormal;  // 0x2cc
 | |
| 
 | |
| 	MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
 | |
| 	MxLong HandleKeyPress(MxU8 p_key);
 | |
| 	MxLong HandleControl(LegoControlManagerNotificationParam& p_param);
 | |
| 	MxLong HandlePathStruct(LegoPathStructNotificationParam& p_param);
 | |
| 	void FUN_100775c0(MxS16 p_playerIndex);
 | |
| 	void WriteInfocenterLetters(MxS16);
 | |
| 	void FUN_100778c0();
 | |
| 	MxBool CreateSurface();
 | |
| };
 | |
| 
 | |
| #endif // REGISTRATIONBOOK_H
 | 
