isle/LEGO1/legoinputmanager.h
ecumber 055b83c1ab Squashed commit of the following:
commit 1fe03a4a787693616c56f59622bcaae8fd53b30b
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 21:04:15 2023 -0700

    data types

commit 7c8432f88236c42c17998d51e820b5e219f3c326
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:39:13 2023 -0700

    Destroy

commit f60eb3923b24bc87bb31ba783676c6a50d48e9b8
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 12:15:33 2023 -0700

    compile fix

commit e2f78d557f223c2552a046470578d154c29e473b
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 13:37:33 2023 -0700

    Timer functions

commit 447e234e6324a5b0958e9e94c5cda53703abada2
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:40:10 2023 -0700

    fix

commit 4670fd790b16a15b5797d50bc3cd1f6e2c9e890d
Author: ecumber <ecumber05@gmail.com>
Date:   Thu Jul 6 02:39:04 2023 -0700

    improvements

commit 7f70bce1eefe550fe6bef193e7ee54948af354b6
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:42:47 2023 -0700

    Update legoinputmanager.cpp

commit 0d3433a75d2b20a3fff1da8147ce502b279b1e9c
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 03:38:32 2023 -0700

    Add ReleaseDX

commit 72d27fd402efb37da1ce8c41a3350df66c99db1d
Author: ecumber <ecumber05@gmail.com>
Date:   Tue Jul 4 02:27:12 2023 -0700

    Update CMakeLists.txt

commit 09626a62f9d2c56a523ca582be95a4dfb29ee188
Author: ecumber <ecumber05@gmail.com>
Date:   Mon Jul 3 13:48:46 2023 -0700

    Move to new branch
2023-07-08 02:03:36 -07:00

75 lines
3.0 KiB
C++

#ifndef LEGOINPUTMANAGER_H
#define LEGOINPUTMANAGER_H
#include "decomp.h"
#include "mxpresenter.h"
#include "legocontrolmanager.h"
#include <dinput.h>
enum NotificationId
{
NONE = 0,
KEYDOWN = 7,
MOUSEUP = 8,
MOUSEDOWN = 9,
MOUSEMOVE = 10,
TIMER = 15
};
// VTABLE 0x100d8760
// SIZE 0x338
class LegoInputManager : public MxPresenter
{
public:
LegoInputManager();
virtual ~LegoInputManager() override;
__declspec(dllexport) void QueueEvent(NotificationId id, unsigned char p2, MxLong p3, MxLong p4, unsigned char p5);
__declspec(dllexport) void Register(MxCore *);
__declspec(dllexport) void UnRegister(MxCore *);
void Destroy();
MxS32 GetJoystickState(unsigned int* something_x, unsigned int* something_y, DWORD* buttons_state, unsigned int* pov_position);
void CreateAndAcquireKeyboard(HWND hwnd);
MxS32 GetJoystickId();
void ReleaseDX();
void SetTimer();
void KillTimer();
//virtual MxLong Tickle() override; // vtable+0x8
MxCriticalSection m_criticalsection; // 0x40
MxS32 m_unknown5C; // 0x5C
MxS32* m_unknown60; // 0x60
MxS32* m_unknown64; // 0x64
void* m_unknown_classptr68; // 0x68
MxS32 m_unknown6C; // 0x6C
MxS32 m_unknown70; // 0x70
MxS32 m_unknown74; // 0x74
UINT m_timer; // 0x78
UINT m_timeout; // 0x7C
MxU8 m_unknown80; // 0x80
MxBool m_bool81; // 0x81
MxU8 m_unknown82; // 0x82
MxU8 m_unknown83; // 0x83
LegoControlManager* m_controlManager; // 0x84
MxBool m_bool88; // 0x88
MxU8 m_unknown89[3]; // 0x89
IDirectInputA* m_directinputInterface; // 0x8C
IDirectInputDeviceA* m_directinputDeviceInterface; // 0x90
MxU8 m_unused94; // 0x94
MxU8 m_unknown95[3]; // 0x95
void* m_unknown98; // 0x98
MxU8 m_unknown9C[0xF8]; // 0x9C
MxBool m_unknown195; // 0x195
MxU8 m_unknown196[2]; // 0x196
UINT m_joyid; // 0x198
UINT m_unknown19C; // 0x19C
JOYCAPSA m_joyCapsA; // 0x1a0
MxU8 m_joystickIndex; // 0x334
MxBool m_useJoystick; // 0x335
MxU8 m_unknown336; // 0x336
MxU8 m_unknown337; // 0x337
MxU8 m_unknown338; // 0x338
};
#endif // LEGOINPUTMANAGER_H