World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Keyboard.h
См. документацию.
1 #pragma once
2 
3 /* 284 */
9  INPUT_Yell = 0x4,
10  INPUT_Jump = 0x5,
11  INPUT_Combat = 0x6,
13  INPUT_Attack = 0x8,
15  INPUT_Cast = 0xA,
16  INPUT_Pass = 0xB,
18  INPUT_Quest = 0xD,
20  INPUT_Rest = 0xF,
21  INPUT_TimeCal = 0x10,
23  INPUT_Mapbook = 0x12,
25  INPUT_LookUp = 0x14,
28  INPUT_ZoomIn = 0x17,
29  INPUT_ZoomOut = 0x18,
30  INPUT_FlyUp = 0x19,
31  INPUT_FlyDown = 0x1A,
32  INPUT_Land = 0x1B,
35 };
36 
37 enum class KeyToggleType : int32_t {
38  TOGGLE_Continuously = 0x0,
39  TOGGLE_OneTimePress = 0x1,
40 };
41 
42 class GUIWindow;
43 
44 #pragma pack(push, 1)
47 
48  void SetKeyMapping(int uAction, int vKey, KeyToggleType type);
49  unsigned int GetActionVKey(enum InputAction eAction);
50  const char *GetVKeyDisplayName(unsigned char a1);
51  const uint8_t TranslateKeyNameToKeyCode(const char *Str);
52  void ReadMappings();
53  void StoreMappings();
54  bool ProcessTextInput(unsigned int a2);
55  void SetWindowInputStatus(int a2);
56  void EnterText(int a2, int max_string_len, GUIWindow *pWindow);
57  void ResetKeys();
58  void SetDefaultMapping();
59 
60  unsigned int uLastKeyPressed;
61  int field_4;
62  int field_8;
63  unsigned int pVirtualKeyCodesMapping[30];
66  char pPressedKeysBuffer[257];
68  char field_202;
69  char field_203;
70  int field_204;
72 };
73 #pragma pack(pop)
74 
75 #pragma pack(push, 1)
76 class Keyboard {
77  public:
78  inline Keyboard() : bUsingAsynKeyboard(false) {}
79  bool WasKeyPressed(int vKey);
80  static bool IsKeyBeingHeld(int vKey);
81  void ProcessInputActions();
82  bool IsShiftHeld();
83  void EnterCriticalSection();
84 
85  void (***vdestructor_ptr)(Keyboard *, bool);
86  unsigned int bUsingAsynKeyboard;
87 };
88 #pragma pack(pop)
89 
90 void OnPressSpace();
91 
KeyboardActionMapping::TranslateKeyNameToKeyCode
const uint8_t TranslateKeyNameToKeyCode(const char *Str)
Definition: Keyboard.cpp:278
KeyboardActionMapping::EnterText
void EnterText(int a2, int max_string_len, GUIWindow *pWindow)
Definition: Keyboard.cpp:181
INPUT_StrafeLeft
@ INPUT_StrafeLeft
Definition: Keyboard.h:33
Keyboard::EnterCriticalSection
void EnterCriticalSection()
INPUT_CharCycle
@ INPUT_CharCycle
Definition: Keyboard.h:17
GUIWindow
Definition: GUIWindow.h:433
INPUT_Autonotes
@ INPUT_Autonotes
Definition: Keyboard.h:22
INPUT_LookDown
@ INPUT_LookDown
Definition: Keyboard.h:26
INPUT_CenterView
@ INPUT_CenterView
Definition: Keyboard.h:27
INPUT_ZoomOut
@ INPUT_ZoomOut
Definition: Keyboard.h:29
INPUT_QuickRef
@ INPUT_QuickRef
Definition: Keyboard.h:19
KeyToggleType::TOGGLE_Continuously
@ TOGGLE_Continuously
INPUT_Cast
@ INPUT_Cast
Definition: Keyboard.h:15
INPUT_MoveBackwards
@ INPUT_MoveBackwards
Definition: Keyboard.h:6
INPUT_TurnLeft
@ INPUT_TurnLeft
Definition: Keyboard.h:7
INPUT_MoveForward
@ INPUT_MoveForward
Definition: Keyboard.h:5
Keyboard::IsShiftHeld
bool IsShiftHeld()
Definition: Keyboard.cpp:317
INPUT_Combat
@ INPUT_Combat
Definition: Keyboard.h:11
INPUT_ZoomIn
@ INPUT_ZoomIn
Definition: Keyboard.h:28
INPUT_FlyUp
@ INPUT_FlyUp
Definition: Keyboard.h:30
INPUT_Quest
@ INPUT_Quest
Definition: Keyboard.h:18
INPUT_Rest
@ INPUT_Rest
Definition: Keyboard.h:20
Keyboard::ProcessInputActions
void ProcessInputActions()
Definition: Keyboard.cpp:332
OnPressSpace
void OnPressSpace()
KeyToggleType::TOGGLE_OneTimePress
@ TOGGLE_OneTimePress
Keyboard::WasKeyPressed
bool WasKeyPressed(int vKey)
Definition: Keyboard.cpp:327
KeyboardActionMapping::SetKeyMapping
void SetKeyMapping(int uAction, int vKey, KeyToggleType type)
Definition: Keyboard.cpp:138
KeyboardActionMapping::KeyboardActionMapping
KeyboardActionMapping()
Definition: Keyboard.cpp:150
INPUT_AlwaysRun
@ INPUT_AlwaysRun
Definition: Keyboard.h:24
INPUT_Jump
@ INPUT_Jump
Definition: Keyboard.h:10
INPUT_TurnRight
@ INPUT_TurnRight
Definition: Keyboard.h:8
INPUT_TimeCal
@ INPUT_TimeCal
Definition: Keyboard.h:21
KeyboardActionMapping::pPressedKeysBuffer
char pPressedKeysBuffer[257]
Definition: Keyboard.h:66
int32_t
signed __int32 int32_t
Definition: SDL_config.h:38
KeyboardActionMapping::field_4
int field_4
Definition: Keyboard.h:61
INPUT_Yell
@ INPUT_Yell
Definition: Keyboard.h:9
KeyboardActionMapping::ReadMappings
void ReadMappings()
Definition: Keyboard.cpp:247
type
EGLenum type
Definition: SDL_egl.h:850
KeyToggleType
KeyToggleType
Definition: Keyboard.h:37
INPUT_StrafeRight
@ INPUT_StrafeRight
Definition: Keyboard.h:34
KeyboardActionMapping
Definition: Keyboard.h:45
KeyboardActionMapping::ResetKeys
void ResetKeys()
Definition: Keyboard.cpp:176
KeyboardActionMapping::pVirtualKeyCodesMapping
unsigned int pVirtualKeyCodesMapping[30]
Definition: Keyboard.h:63
KeyboardActionMapping::GetActionVKey
unsigned int GetActionVKey(enum InputAction eAction)
Definition: Keyboard.cpp:145
KeyboardActionMapping::SetWindowInputStatus
void SetWindowInputStatus(int a2)
Definition: Keyboard.cpp:195
KeyboardActionMapping::field_204
int field_204
Definition: Keyboard.h:70
KeyboardActionMapping::StoreMappings
void StoreMappings()
Definition: Keyboard.cpp:267
INPUT_FlyDown
@ INPUT_FlyDown
Definition: Keyboard.h:31
Keyboard::Keyboard
Keyboard()
Definition: Keyboard.h:78
Keyboard::vdestructor_ptr
void(*** vdestructor_ptr)(Keyboard *, bool)
Definition: Keyboard.h:85
INPUT_CastReady
@ INPUT_CastReady
Definition: Keyboard.h:12
INPUT_Pass
@ INPUT_Pass
Definition: Keyboard.h:16
INPUT_Land
@ INPUT_Land
Definition: Keyboard.h:32
INPUT_Mapbook
@ INPUT_Mapbook
Definition: Keyboard.h:23
Keyboard::bUsingAsynKeyboard
unsigned int bUsingAsynKeyboard
Definition: Keyboard.h:86
void
typedef void(SDLCALL *SDL_AudioFilter)(struct SDL_AudioCVT *cvt
uint8_t
unsigned __int8 uint8_t
Definition: SDL_config.h:35
KeyboardActionMapping::GetVKeyDisplayName
const char * GetVKeyDisplayName(unsigned char a1)
Definition: Keyboard.cpp:295
KeyboardActionMapping::uLastKeyPressed
unsigned int uLastKeyPressed
Definition: Keyboard.h:60
KeyboardActionMapping::field_203
char field_203
Definition: Keyboard.h:69
KeyboardActionMapping::SetDefaultMapping
void SetDefaultMapping()
Definition: Keyboard.cpp:167
KeyboardActionMapping::pWindow
GUIWindow * pWindow
Definition: Keyboard.h:71
InputAction
InputAction
Definition: Keyboard.h:4
INPUT_EventTrigger
@ INPUT_EventTrigger
Definition: Keyboard.h:14
INPUT_LookUp
@ INPUT_LookUp
Definition: Keyboard.h:25
Keyboard::IsKeyBeingHeld
static bool IsKeyBeingHeld(int vKey)
Definition: Keyboard.cpp:322
KeyboardActionMapping::uNumKeysPressed
uint8_t uNumKeysPressed
Definition: Keyboard.h:67
KeyboardActionMapping::max_input_string_len
int max_input_string_len
Definition: Keyboard.h:65
INPUT_Attack
@ INPUT_Attack
Definition: Keyboard.h:13
KeyboardActionMapping::pToggleTypes
KeyToggleType pToggleTypes[30]
Definition: Keyboard.h:64
KeyboardActionMapping::field_202
char field_202
Definition: Keyboard.h:68
pKeyActionMap
struct KeyboardActionMapping * pKeyActionMap
Definition: Keyboard.cpp:35
KeyboardActionMapping::field_8
int field_8
Definition: Keyboard.h:62
KeyboardActionMapping::ProcessTextInput
bool ProcessTextInput(unsigned int a2)
Definition: Keyboard.cpp:201
Keyboard
Definition: Keyboard.h:76