mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
implement RegistrationBook::ReadyWorld(), impl/match MxDisplaySurface::CopySurface() (#678)
* implement RegistrationBook::ReadyWorld() * don't fix the size of letterBuffer * Fix crash in MxStillPresenter::Clone * Implement MxDisplaySurface::CopySurface 100% match * improve accuracy * invert HasRegistered check * fix legogamestate structure, documentation tweaks * this might be cleaner actually * Update mxdisplaysurface.cpp * Update legogamestate.h * don't hardcode action ids in VTable0x64 * Match ~98% --------- Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com> Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
#ifndef REGISTRATIONBOOK_H
|
||||
#define REGISTRATIONBOOK_H
|
||||
|
||||
#include "jukebox.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxcontrolpresenter.h"
|
||||
#include "mxstillpresenter.h"
|
||||
|
||||
class InfocenterState;
|
||||
class MxEndActionNotificationParam;
|
||||
@@ -35,29 +38,31 @@ public:
|
||||
MxBool VTable0x64() 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:
|
||||
undefined4 m_unk0xf8; // 0xf8
|
||||
undefined m_unk0xfc; // 0xfc
|
||||
undefined m_unk0xfd[3]; // 0xfd
|
||||
undefined m_unk0x100[0x68]; // 0x100
|
||||
undefined m_unk0x168[0x118]; // 0x168
|
||||
undefined4 m_unk0xf8; // 0xf8
|
||||
undefined m_unk0xfc; // 0xfc
|
||||
undefined m_unk0xfd[3]; // 0xfd
|
||||
MxStillPresenter* m_alphabet[26]; // 0x100
|
||||
MxStillPresenter* m_name[10][7]; // 0x168
|
||||
struct {
|
||||
undefined4 m_unk0x00[3]; // 0x00
|
||||
undefined2 m_unk0x0c; // 0x0c
|
||||
undefined2 m_unk0x0e; // 0x0e
|
||||
} m_unk0x280; // 0x280
|
||||
undefined m_unk0x290[0x28]; // 0x290
|
||||
undefined2 m_unk0x2b8; // 0x2b8
|
||||
InfocenterState* m_infocenterState; // 0x2bc
|
||||
undefined m_unk0x2c0; // 0x2c0
|
||||
undefined m_unk0x2c1; // 0x2c1
|
||||
undefined m_unk0x2c2[0x02]; // 0x2c2
|
||||
undefined4 m_unk0x2c4; // 0x2c4
|
||||
undefined4 m_unk0x2c8; // 0x2c8
|
||||
undefined4 m_unk0x2cc; // 0x2cc
|
||||
undefined4 m_unk0x00[3]; // 0x00
|
||||
undefined2 m_unk0x0c; // 0x0c
|
||||
undefined2 m_unk0x0e; // 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
|
||||
undefined4 m_unk0x2c4; // 0x2c4
|
||||
undefined4 m_unk0x2c8; // 0x2c8
|
||||
undefined4 m_unk0x2cc; // 0x2cc
|
||||
|
||||
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
|
||||
MxLong HandleKeyPress(MxS8 p_key);
|
||||
|
Reference in New Issue
Block a user