mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-20 23:01:16 +00:00
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
75 lines
3.0 KiB
C++
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
|