mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 10:41:15 +00:00
implement/match InfoCenter::~InfoCenter()
This commit is contained in:
parent
f1300d9de5
commit
30661c2284
@ -3,6 +3,7 @@
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legostate.h"
|
||||
#include "mxstillpresenter.h";
|
||||
|
||||
// VTABLE: LEGO1 0x100d93a8
|
||||
// SIZE 0x94
|
||||
@ -24,7 +25,7 @@ class InfocenterState : public LegoState {
|
||||
return !strcmp(p_name, InfocenterState::ClassName()) || LegoState::IsA(p_name);
|
||||
}
|
||||
|
||||
inline MxU32 GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; }
|
||||
inline MxStillPresenter* GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; }
|
||||
inline MxU32 GetUnknown0x74() { return m_unk0x74; }
|
||||
|
||||
inline void SetUnknown0x74(MxU32 p_unk0x74) { m_unk0x74 = p_unk0x74; }
|
||||
@ -63,7 +64,7 @@ class InfocenterState : public LegoState {
|
||||
|
||||
undefined m_pad[0x6c];
|
||||
MxU32 m_unk0x74; // 0x74
|
||||
MxU32 m_buffer[7]; // 0x78
|
||||
MxStillPresenter* m_buffer[7]; // 0x78
|
||||
};
|
||||
|
||||
#endif // INFOCENTERSTATE_H
|
||||
|
||||
@ -112,7 +112,7 @@ MxResult LegoGameState::Save(MxULong p_slot)
|
||||
MxResult result;
|
||||
InfocenterState* infocenterState = (InfocenterState*) GameState()->GetState("InfocenterState");
|
||||
|
||||
if (!infocenterState || infocenterState->GetInfocenterBufferElement(0) == 0)
|
||||
if (!infocenterState || infocenterState->GetInfocenterBufferElement(0) == NULL)
|
||||
result = SUCCESS;
|
||||
else {
|
||||
result = FAILURE;
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
#include "mxnotificationmanager.h"
|
||||
#include "mxstillpresenter.h"
|
||||
#include "mxtransitionmanager.h"
|
||||
#include "mxticklemanager.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(Infocenter, 0x1d8)
|
||||
DECOMP_SIZE_ASSERT(InfocenterUnkDataEntry, 0x18)
|
||||
@ -46,10 +47,29 @@ Infocenter::Infocenter()
|
||||
m_unk0x1d6 = 0;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1006ec90
|
||||
// FUNCTION: LEGO1 0x1006ec90
|
||||
Infocenter::~Infocenter()
|
||||
{
|
||||
// TODO
|
||||
BackgroundAudioManager()->Stop();
|
||||
|
||||
MxS16 i = 0;
|
||||
do {
|
||||
if (m_infocenterState->GetInfocenterBufferElement(i) != NULL) {
|
||||
m_infocenterState->GetInfocenterBufferElement(i)->Enable(FALSE);
|
||||
}
|
||||
i++;
|
||||
} while (i < 7);
|
||||
|
||||
ControlManager()->Unregister(this);
|
||||
|
||||
InputManager()->UnRegister(this);
|
||||
if (InputManager()->GetWorld() == this) {
|
||||
InputManager()->ClearWorld();
|
||||
}
|
||||
|
||||
NotificationManager()->Unregister(this);
|
||||
|
||||
TickleManager()->UnregisterClient(this);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1006ed90
|
||||
|
||||
Loading…
Reference in New Issue
Block a user