mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 15:48:09 -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);
|
||||
if (LegoOmni::GetInstance()) {
|
||||
if (LegoOmni::GetInstance()->GetInputManager()) {
|
||||
LegoOmni::GetInstance()->GetInputManager()->m_useJoystick = m_useJoystick;
|
||||
LegoOmni::GetInstance()->GetInputManager()->m_joystickIndex = m_joystickIndex;
|
||||
LegoOmni::GetInstance()->GetInputManager()->SetUseJoystick(m_useJoystick);
|
||||
LegoOmni::GetInstance()->GetInputManager()->SetJoystickIndex(m_joystickIndex);
|
||||
}
|
||||
}
|
||||
if (m_fullScreen) {
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#ifndef ELEVATORBOTTOM_H
|
||||
#define ELEVATORBOTTOM_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d5f20
|
||||
// SIZE: 0xfc (from inlined ctor at 0x1000a8aa)
|
||||
class ElevatorBottom : public LegoWorld {
|
||||
public:
|
||||
ElevatorBottom();
|
||||
|
@ -23,6 +25,9 @@ class ElevatorBottom : public LegoWorld {
|
|||
{
|
||||
return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name);
|
||||
}
|
||||
|
||||
private:
|
||||
undefined4 m_unk0xf8; // 0xf8
|
||||
};
|
||||
|
||||
#endif // ELEVATORBOTTOM_H
|
||||
|
|
|
@ -53,6 +53,8 @@ class LegoInputManager : public MxPresenter {
|
|||
|
||||
inline void SetUnknown88(MxBool p_unk0x88) { m_unk0x88 = p_unk0x88; }
|
||||
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 LegoWorld* GetWorld() { return m_world; }
|
||||
|
@ -61,7 +63,7 @@ class LegoInputManager : public MxPresenter {
|
|||
void ProcessEvents();
|
||||
MxBool ProcessOneEvent(LegoEventNotificationParam& p_param);
|
||||
|
||||
// private:
|
||||
private:
|
||||
MxCriticalSection m_criticalSection;
|
||||
MxList<undefined4>* m_unk0x5c; // list or hash table
|
||||
LegoCameraController* m_camera;
|
||||
|
|
|
@ -1,15 +1,28 @@
|
|||
#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()
|
||||
{
|
||||
// TODO
|
||||
NotificationManager()->Register(this);
|
||||
this->m_unk0xf8 = 0;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10018060
|
||||
// FUNCTION: LEGO1 0x10018060
|
||||
ElevatorBottom::~ElevatorBottom()
|
||||
{
|
||||
// TODO
|
||||
if (InputManager()->GetWorld() == this) {
|
||||
InputManager()->ClearWorld();
|
||||
}
|
||||
ControlManager()->Unregister(this);
|
||||
NotificationManager()->Unregister(this);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10018150
|
||||
|
|
|
@ -114,8 +114,8 @@ MxResult MxTransitionManager::StartTransition(
|
|||
tickleManager->RegisterClient(this, p_speed);
|
||||
|
||||
LegoInputManager* inputManager = InputManager();
|
||||
inputManager->m_unk0x88 = TRUE;
|
||||
inputManager->m_unk0x336 = FALSE;
|
||||
inputManager->SetUnknown88(TRUE);
|
||||
inputManager->SetUnknown336(FALSE);
|
||||
|
||||
LegoVideoManager* videoManager = VideoManager();
|
||||
videoManager->SetRender3D(FALSE);
|
||||
|
|
Loading…
Reference in a new issue