implement a few legonavcontroller functions (#718)

* implement a few legonavcontroller functions

* Match LegoNavController::ProcessJoystickInput

* Style

* Match LegoNavController::ProcessKeyboardInput

* Style

* Fix

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2024-03-24 10:30:12 -04:00
committed by GitHub
parent 3f03940fcb
commit b66e28ac5e
6 changed files with 207 additions and 17 deletions

View File

@@ -68,6 +68,17 @@ public:
// SIZE 0x338
class LegoInputManager : public MxPresenter {
public:
enum Keys {
c_left = 0x01,
c_right = 0x02,
c_up = 0x04,
c_down = 0x08,
c_bit5 = 0x10,
c_leftOrRight = c_left | c_right,
c_upOrDown = c_up | c_down
};
LegoInputManager();
~LegoInputManager() override;
@@ -113,6 +124,8 @@ public:
void ProcessEvents();
MxBool ProcessOneEvent(LegoEventNotificationParam& p_param);
MxBool FUN_1005cdf0(LegoEventNotificationParam& p_param);
void FUN_1005c0f0();
MxResult FUN_1005c160(MxU32& p_keyFlags);
// SYNTHETIC: LEGO1 0x1005b8d0
// LegoInputManager::`scalar deleting destructor'
@@ -134,10 +147,8 @@ private:
MxBool m_unk0x88; // 0x88
IDirectInput* m_directInput; // 0x8c
IDirectInputDevice* m_directInputDevice; // 0x90
undefined m_unk0x94; // 0x94
undefined4 m_unk0x98; // 0x98
undefined m_unk0x9c[0xf8]; // 0x9c
undefined m_unk0x194; // 0x194
MxBool m_unk0x94; // 0x94
MxU8 m_unk0x95[256]; // 0x95
MxBool m_unk0x195; // 0x195
MxS32 m_joyid; // 0x198
MxS32 m_joystickIndex; // 0x19c