mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 09:38:14 -05:00
Isle & Radio constructors (#330)
This commit is contained in:
parent
deaed23e41
commit
53caf30ab0
4 changed files with 75 additions and 4 deletions
|
@ -1,7 +1,27 @@
|
|||
#include "isle.h"
|
||||
|
||||
// STUB: LEGO1 0x10030820
|
||||
#include "legoomni.h"
|
||||
#include "mxnotificationmanager.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(Isle, 0x140);
|
||||
|
||||
// FUNCTION: LEGO1 0x10030820
|
||||
Isle::Isle()
|
||||
{
|
||||
// TODO
|
||||
m_unk0xfc = 0;
|
||||
m_unk0x100 = 0;
|
||||
m_unk0x104 = 0;
|
||||
m_unk0x108 = 0;
|
||||
m_unk0x10c = 0;
|
||||
m_unk0x110 = 0;
|
||||
m_unk0x114 = 0;
|
||||
m_unk0x118 = 0;
|
||||
m_unk0x11c = 0;
|
||||
m_unk0x120 = 0;
|
||||
m_unk0x124 = 0;
|
||||
m_unk0x128 = 0;
|
||||
m_unk0xf8 = 0;
|
||||
m_unk0x13c = 0;
|
||||
|
||||
NotificationManager()->Register(this);
|
||||
}
|
||||
|
|
18
LEGO1/isle.h
18
LEGO1/isle.h
|
@ -2,6 +2,7 @@
|
|||
#define ISLE_H
|
||||
|
||||
#include "legoworld.h"
|
||||
#include "radio.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6fb8
|
||||
// SIZE 0x140
|
||||
|
@ -25,8 +26,21 @@ class Isle : public LegoWorld {
|
|||
inline void SetUnknown13c(MxU32 p_unk0x13c) { m_unk0x13c = p_unk0x13c; }
|
||||
|
||||
protected:
|
||||
undefined m_unk0xf8[0x44]; // 0xf8
|
||||
MxU32 m_unk0x13c; // 0x13c
|
||||
undefined4 m_unk0xf8; // 0xf8
|
||||
undefined4 m_unk0xfc; // 0xfc
|
||||
undefined4 m_unk0x100; // 0x100
|
||||
undefined4 m_unk0x104; // 0x104
|
||||
undefined4 m_unk0x108; // 0x108
|
||||
undefined4 m_unk0x10c; // 0x10c
|
||||
undefined4 m_unk0x110; // 0x110
|
||||
undefined4 m_unk0x114; // 0x114
|
||||
undefined4 m_unk0x118; // 0x118
|
||||
undefined4 m_unk0x11c; // 0x11c
|
||||
undefined4 m_unk0x120; // 0x120
|
||||
undefined4 m_unk0x124; // 0x124
|
||||
undefined4 m_unk0x128; // 0x128
|
||||
Radio m_radio; // 0x12c
|
||||
MxU32 m_unk0x13c; // 0x13c
|
||||
};
|
||||
|
||||
#endif // ISLE_H
|
||||
|
|
|
@ -1,7 +1,36 @@
|
|||
#include "radio.h"
|
||||
|
||||
#include "legocontrolmanager.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legoomni.h"
|
||||
#include "mxnotificationmanager.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(Radio, 0x10);
|
||||
|
||||
// FUNCTION: LEGO1 0x1002c850
|
||||
Radio::Radio()
|
||||
{
|
||||
NotificationManager()->Register(this);
|
||||
ControlManager()->Register(this);
|
||||
|
||||
m_unk0xc = TRUE;
|
||||
CreateRadioState();
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1002c990
|
||||
Radio::~Radio()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1002cde0
|
||||
void Radio::CreateRadioState()
|
||||
{
|
||||
LegoGameState* gameState = GameState();
|
||||
RadioState* state = (RadioState*) gameState->GetState("RadioState");
|
||||
if (state == NULL) {
|
||||
state = (RadioState*) gameState->CreateState("RadioState");
|
||||
}
|
||||
|
||||
m_state = state;
|
||||
}
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
#define RADIO_H
|
||||
|
||||
#include "mxcore.h"
|
||||
#include "radiostate.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6d10
|
||||
class Radio : public MxCore {
|
||||
public:
|
||||
Radio();
|
||||
virtual ~Radio() override;
|
||||
|
||||
// FUNCTION: LEGO1 0x1002c8e0
|
||||
|
@ -20,6 +22,12 @@ class Radio : public MxCore {
|
|||
{
|
||||
return !strcmp(p_name, Radio::ClassName()) || MxCore::IsA(p_name);
|
||||
}
|
||||
|
||||
private:
|
||||
RadioState* m_state; // 0x08
|
||||
MxBool m_unk0xc; // 0x0c
|
||||
|
||||
void CreateRadioState();
|
||||
};
|
||||
|
||||
#endif // RADIO_H
|
||||
|
|
Loading…
Reference in a new issue