0
|
1 #pragma once
|
|
2
|
|
3
|
|
4 /* 284 */
|
|
5 enum InputAction : __int32
|
|
6 {
|
|
7 INPUT_MoveForward = 0x0,
|
|
8 INPUT_MoveBackwards = 0x1,
|
|
9 INPUT_TurnLeft = 0x2,
|
|
10 INPUT_TurnRight = 0x3,
|
|
11 INPUT_Yell = 0x4,
|
|
12 INPUT_Jump = 0x5,
|
|
13 INPUT_Combat = 0x6,
|
|
14 INPUT_CastReady = 0x7,
|
|
15 INPUT_Attack = 0x8,
|
|
16 INPUT_EventTrigger = 0x9,
|
|
17 INPUT_Cast = 0xA,
|
|
18 INPUT_Pass = 0xB,
|
|
19 INPUT_CharCycle = 0xC,
|
|
20 INPUT_Quest = 0xD,
|
|
21 INPUT_QuickRef = 0xE,
|
|
22 INPUT_Rest = 0xF,
|
|
23 INPUT_TimeCal = 0x10,
|
|
24 INPUT_Autonotes = 0x11,
|
|
25 INPUT_Mapbook = 0x12,
|
|
26 INPUT_AlwaysRun = 0x13,
|
|
27 INPUT_LookUp = 0x14,
|
|
28 INPUT_LookDown = 0x15,
|
|
29 INPUT_CenterView = 0x16,
|
|
30 INPUT_ZoomIn = 0x17,
|
|
31 INPUT_ZoomOut = 0x18,
|
|
32 INPUT_FlyUp = 0x19,
|
|
33 INPUT_FlyDown = 0x1A,
|
|
34 INPUT_Land = 0x1B,
|
|
35 INPUT_StrafeLeft = 0x1C,
|
|
36 INPUT_StrafeRight = 0x1D,
|
|
37 };
|
|
38
|
|
39
|
|
40
|
|
41 enum KeyToggleType : __int32
|
|
42 {
|
|
43 TOGGLE_Continuously = 0x0,
|
|
44 TOGGLE_OneTimePress = 0x1,
|
|
45 };
|
|
46
|
|
47 #pragma pack(push, 1)
|
|
48 struct KeyboardActionMapping
|
|
49 {
|
|
50 KeyboardActionMapping();
|
|
51
|
|
52 void SetKeyMapping(int uAction, int vKey, KeyToggleType type);
|
|
53 unsigned int GetActionVKey(enum InputAction eAction);
|
|
54 const char *GetVKeyDisplayName(signed int a1);
|
|
55 const unsigned __int8 GetActionDefaultVKey(const char *Str);
|
|
56 void ReadMappings();
|
|
57 void StoreMappings();
|
|
58 bool _459F10(unsigned int a2);
|
|
59 void _459ED1(int a2);
|
|
60 void _459E5A(int a2, int a3, struct GUIWindow *pWindow);
|
|
61 void ResetKeys();
|
|
62 void SetDefaultMapping();
|
|
63
|
|
64 unsigned int uLastKeyPressed;
|
|
65 int field_4;
|
|
66 int field_8;
|
|
67 unsigned int pVirtualKeyCodesMapping[30];
|
|
68 KeyToggleType pToggleTypes[30];
|
|
69 int field_FC;
|
|
70 unsigned __int8 pPressedKeysBuffer[257];
|
|
71 unsigned __int8 uNumKeysPressed;
|
|
72 char field_202;
|
|
73 char field_203;
|
|
74 int field_204;
|
|
75 struct GUIWindow *pWindow;
|
|
76 };
|
|
77 #pragma pack(pop)
|
|
78
|
|
79 #pragma pack(push, 1)
|
|
80 struct Keyboard
|
|
81 {
|
|
82 Keyboard();
|
|
83 bool WasKeyPressed(int vKey);
|
|
84 bool IsKeyBeingHeld(int vKey);
|
|
85 bool IsShiftHeld();
|
|
86 void EnterCriticalSection();
|
|
87
|
|
88 void (__thiscall ***vdestructor_ptr)(Keyboard *, bool);
|
|
89 unsigned int bUsingAsynKeyboard;
|
|
90 };
|
|
91 #pragma pack(pop)
|
|
92
|
|
93
|
|
94 #pragma pack(push, 1)
|
|
95 struct AsyncKeyboard
|
|
96 {
|
|
97 AsyncKeyboard();
|
|
98 ~AsyncKeyboard();
|
|
99
|
|
100 bool Initialize();
|
|
101 char map_key(int key);
|
|
102 char _45B4EC(unsigned __int8 a2);
|
|
103 void Thread();
|
|
104 char _45B3A4();
|
|
105 void Suspend();
|
|
106 void Resume();
|
|
107 char CreateDirectInputKeyboard();
|
|
108 char _45B229();
|
|
109 void _45B1B1();
|
|
110 void Release();
|
|
111
|
|
112 static int __stdcall ThreadStarter(AsyncKeyboard *pInstance);
|
|
113 static void EnterCriticalSection();
|
|
114 static void LeaveCriticalSection();
|
|
115 };
|
|
116 #pragma pack(pop)
|
|
117
|
|
118
|
|
119 extern struct KeyboardActionMapping *pKeyActionMap;
|
|
120 extern struct AsyncKeyboard *pAsyncKeyboard; |