mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 23:57:54 -05:00
ElevatorBottom ctor/dtor (#436)
* ElevatorBottom ctor * ElevatorBottom destructor * Use setters --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
dd72bcc666
commit
763fcf8980
5 changed files with 29 additions and 9 deletions
|
@ -614,8 +614,8 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||||
LegoAnimationManager::configureLegoAnimationManager(m_islandQuality);
|
LegoAnimationManager::configureLegoAnimationManager(m_islandQuality);
|
||||||
if (LegoOmni::GetInstance()) {
|
if (LegoOmni::GetInstance()) {
|
||||||
if (LegoOmni::GetInstance()->GetInputManager()) {
|
if (LegoOmni::GetInstance()->GetInputManager()) {
|
||||||
LegoOmni::GetInstance()->GetInputManager()->m_useJoystick = m_useJoystick;
|
LegoOmni::GetInstance()->GetInputManager()->SetUseJoystick(m_useJoystick);
|
||||||
LegoOmni::GetInstance()->GetInputManager()->m_joystickIndex = m_joystickIndex;
|
LegoOmni::GetInstance()->GetInputManager()->SetJoystickIndex(m_joystickIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_fullScreen) {
|
if (m_fullScreen) {
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#ifndef ELEVATORBOTTOM_H
|
#ifndef ELEVATORBOTTOM_H
|
||||||
#define ELEVATORBOTTOM_H
|
#define ELEVATORBOTTOM_H
|
||||||
|
|
||||||
|
#include "decomp.h"
|
||||||
#include "legoworld.h"
|
#include "legoworld.h"
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d5f20
|
// VTABLE: LEGO1 0x100d5f20
|
||||||
|
// SIZE: 0xfc (from inlined ctor at 0x1000a8aa)
|
||||||
class ElevatorBottom : public LegoWorld {
|
class ElevatorBottom : public LegoWorld {
|
||||||
public:
|
public:
|
||||||
ElevatorBottom();
|
ElevatorBottom();
|
||||||
|
@ -23,6 +25,9 @@ class ElevatorBottom : public LegoWorld {
|
||||||
{
|
{
|
||||||
return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name);
|
return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
undefined4 m_unk0xf8; // 0xf8
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ELEVATORBOTTOM_H
|
#endif // ELEVATORBOTTOM_H
|
||||||
|
|
|
@ -53,6 +53,8 @@ class LegoInputManager : public MxPresenter {
|
||||||
|
|
||||||
inline void SetUnknown88(MxBool p_unk0x88) { m_unk0x88 = p_unk0x88; }
|
inline void SetUnknown88(MxBool p_unk0x88) { m_unk0x88 = p_unk0x88; }
|
||||||
inline void SetUnknown336(MxBool p_unk0x336) { m_unk0x336 = p_unk0x336; }
|
inline void SetUnknown336(MxBool p_unk0x336) { m_unk0x336 = p_unk0x336; }
|
||||||
|
inline void SetUseJoystick(MxBool p_useJoystick) { m_useJoystick = p_useJoystick; }
|
||||||
|
inline void SetJoystickIndex(MxS32 p_joystickIndex) { m_joystickIndex = p_joystickIndex; }
|
||||||
|
|
||||||
inline LegoControlManager* GetControlManager() { return m_controlManager; }
|
inline LegoControlManager* GetControlManager() { return m_controlManager; }
|
||||||
inline LegoWorld* GetWorld() { return m_world; }
|
inline LegoWorld* GetWorld() { return m_world; }
|
||||||
|
@ -61,7 +63,7 @@ class LegoInputManager : public MxPresenter {
|
||||||
void ProcessEvents();
|
void ProcessEvents();
|
||||||
MxBool ProcessOneEvent(LegoEventNotificationParam& p_param);
|
MxBool ProcessOneEvent(LegoEventNotificationParam& p_param);
|
||||||
|
|
||||||
// private:
|
private:
|
||||||
MxCriticalSection m_criticalSection;
|
MxCriticalSection m_criticalSection;
|
||||||
MxList<undefined4>* m_unk0x5c; // list or hash table
|
MxList<undefined4>* m_unk0x5c; // list or hash table
|
||||||
LegoCameraController* m_camera;
|
LegoCameraController* m_camera;
|
||||||
|
|
|
@ -1,15 +1,28 @@
|
||||||
#include "elevatorbottom.h"
|
#include "elevatorbottom.h"
|
||||||
|
|
||||||
// STUB: LEGO1 0x10017e90
|
DECOMP_SIZE_ASSERT(ElevatorBottom, 0xfc)
|
||||||
|
|
||||||
|
#include "legocontrolmanager.h"
|
||||||
|
#include "legoinputmanager.h"
|
||||||
|
#include "legoomni.h"
|
||||||
|
#include "mxnotificationmanager.h"
|
||||||
|
#include "mxomni.h"
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x10017e90
|
||||||
ElevatorBottom::ElevatorBottom()
|
ElevatorBottom::ElevatorBottom()
|
||||||
{
|
{
|
||||||
// TODO
|
NotificationManager()->Register(this);
|
||||||
|
this->m_unk0xf8 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10018060
|
// FUNCTION: LEGO1 0x10018060
|
||||||
ElevatorBottom::~ElevatorBottom()
|
ElevatorBottom::~ElevatorBottom()
|
||||||
{
|
{
|
||||||
// TODO
|
if (InputManager()->GetWorld() == this) {
|
||||||
|
InputManager()->ClearWorld();
|
||||||
|
}
|
||||||
|
ControlManager()->Unregister(this);
|
||||||
|
NotificationManager()->Unregister(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10018150
|
// STUB: LEGO1 0x10018150
|
||||||
|
|
|
@ -114,8 +114,8 @@ MxResult MxTransitionManager::StartTransition(
|
||||||
tickleManager->RegisterClient(this, p_speed);
|
tickleManager->RegisterClient(this, p_speed);
|
||||||
|
|
||||||
LegoInputManager* inputManager = InputManager();
|
LegoInputManager* inputManager = InputManager();
|
||||||
inputManager->m_unk0x88 = TRUE;
|
inputManager->SetUnknown88(TRUE);
|
||||||
inputManager->m_unk0x336 = FALSE;
|
inputManager->SetUnknown336(FALSE);
|
||||||
|
|
||||||
LegoVideoManager* videoManager = VideoManager();
|
LegoVideoManager* videoManager = VideoManager();
|
||||||
videoManager->SetRender3D(FALSE);
|
videoManager->SetRender3D(FALSE);
|
||||||
|
|
Loading…
Reference in a new issue