mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 23:48:12 -05:00
a6f3acf5b7
* 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 * Squashed commit of the following: commit d9148242a322ec54750c89357a0db2154310907d Author: ecumber <ecumber05@gmail.com> Date: Sun Jul 16 23:56:54 2023 -0700 Update legoinputmanager.cpp commit 983d08650eb3df0b9103761b4023a6d3395686b2 Author: ecumber <ecumber05@gmail.com> Date: Thu Jul 6 21:04:15 2023 -0700 data types commit 4e8aac36ece6f3d7cfff39432ebc4e731876fb75 Author: ecumber <ecumber05@gmail.com> Date: Thu Jul 6 12:39:13 2023 -0700 Destroy commit 907801567a8c93ebd242b25b4aa2b00d38eaedc8 Author: ecumber <ecumber05@gmail.com> Date: Thu Jul 6 12:15:33 2023 -0700 compile fix commit 91a5f75e938d796f153cc872e46acef2c342818c Author: ecumber <ecumber05@gmail.com> Date: Tue Jul 4 13:37:33 2023 -0700 Timer functions commit e77f08f5358b6cc4ee41583f70281c40b95bea29 Author: ecumber <ecumber05@gmail.com> Date: Thu Jul 6 02:40:10 2023 -0700 fix commit 30d204b7734a56b4140a3bf53c9825126a1f80c7 Author: ecumber <ecumber05@gmail.com> Date: Thu Jul 6 02:39:04 2023 -0700 improvements commit dd4ff493355796c41a6fb328fda1892c0f1fec0a Author: ecumber <ecumber05@gmail.com> Date: Tue Jul 4 03:42:47 2023 -0700 Update legoinputmanager.cpp commit 852658cdbc0e6f792a6a79dfc77df3539ea4a15a Author: ecumber <ecumber05@gmail.com> Date: Tue Jul 4 03:38:32 2023 -0700 Add ReleaseDX commit 430d4e100811bc00dc983a9fe78aa1482fb92f7f Author: ecumber <ecumber05@gmail.com> Date: Tue Jul 4 02:27:12 2023 -0700 Update CMakeLists.txt commit 6fb94f007613e920b1d64775b7b76cb721482884 Author: ecumber <ecumber05@gmail.com> Date: Mon Jul 3 13:48:46 2023 -0700 Move to new branch * Fixes * Remove obsolete stuff * Fixes --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
74 lines
1.7 KiB
C++
74 lines
1.7 KiB
C++
#ifndef LEGOINPUTMANAGER_H
|
|
#define LEGOINPUTMANAGER_H
|
|
|
|
#include "decomp.h"
|
|
#include "mxpresenter.h"
|
|
#include "mxlist.h"
|
|
|
|
#include <dinput.h>
|
|
|
|
enum NotificationId
|
|
{
|
|
NONE = 0,
|
|
KEYDOWN = 7,
|
|
MOUSEUP = 8,
|
|
MOUSEDOWN = 9,
|
|
MOUSEMOVE = 10,
|
|
TIMER = 15
|
|
};
|
|
|
|
class LegoControlManager;
|
|
|
|
// 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 *);
|
|
|
|
virtual MxResult Tickle() override; // vtable+0x8
|
|
|
|
void Destroy();
|
|
void CreateAndAcquireKeyboard(HWND hwnd);
|
|
void ReleaseDX();
|
|
MxResult GetJoystickId();
|
|
MxResult GetJoystickState(MxU32 *joystick_x, MxU32 *joystick_y, DWORD *buttons_state, MxU32 *pov_position);
|
|
void SetTimer();
|
|
void KillTimer();
|
|
|
|
//private:
|
|
MxCriticalSection m_criticalSection;
|
|
MxList<undefined4> *m_unk0x5c; // list or hash table
|
|
undefined4 m_unk0x60;
|
|
undefined4 m_unk0x64;
|
|
MxList<undefined4> *m_unk0x68; // list or hash table
|
|
undefined4 m_unk0x6c;
|
|
undefined4 m_unk0x70;
|
|
undefined4 m_unk0x74;
|
|
UINT m_timer;
|
|
UINT m_timeout;
|
|
undefined m_unk0x80;
|
|
undefined m_unk0x81;
|
|
LegoControlManager* m_controlManager;
|
|
MxBool m_unk0x88;
|
|
IDirectInput *m_directInput;
|
|
IDirectInputDevice *m_directInputDevice;
|
|
undefined m_unk0x94;
|
|
undefined4 m_unk0x98;
|
|
undefined m_unk0x9c[0xF8];
|
|
undefined m_unk0x194;
|
|
MxBool m_unk0x195;
|
|
MxS32 m_joyid;
|
|
MxS32 m_joystickIndex;
|
|
JOYCAPS m_joyCaps;
|
|
MxBool m_useJoystick;
|
|
MxBool m_unk0x335;
|
|
MxBool m_unk0x336;
|
|
};
|
|
|
|
#endif // LEGOINPUTMANAGER_H
|