mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-12 03:01:17 +00:00
* 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>
75 lines
1.7 KiB
C++
75 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
|