diff --git a/include/cstrike/Definitions/Input.h b/include/cstrike/Definitions/Input.h new file mode 100644 index 0000000..08781cd --- /dev/null +++ b/include/cstrike/Definitions/Input.h @@ -0,0 +1,126 @@ +#pragma once + +enum ButtonCode_t { + BUTTON_CODE_INVALID = -1, + BUTTON_CODE_NONE = 0, + KEY_FIRST = 0, + KEY_NONE = KEY_FIRST, + KEY_0, + KEY_1, + KEY_2, + KEY_3, + KEY_4, + KEY_5, + KEY_6, + KEY_7, + KEY_8, + KEY_9, + KEY_A, + KEY_B, + KEY_C, + KEY_D, + KEY_E, + KEY_F, + KEY_G, + KEY_H, + KEY_I, + KEY_J, + KEY_K, + KEY_L, + KEY_M, + KEY_N, + KEY_O, + KEY_P, + KEY_Q, + KEY_R, + KEY_S, + KEY_T, + KEY_U, + KEY_V, + KEY_W, + KEY_X, + KEY_Y, + KEY_Z, + KEY_PAD_0, + KEY_PAD_1, + KEY_PAD_2, + KEY_PAD_3, + KEY_PAD_4, + KEY_PAD_5, + KEY_PAD_6, + KEY_PAD_7, + KEY_PAD_8, + KEY_PAD_9, + KEY_PAD_DIVIDE, + KEY_PAD_MULTIPLY, + KEY_PAD_MINUS, + KEY_PAD_PLUS, + KEY_PAD_ENTER, + KEY_PAD_DECIMAL, + KEY_LBRACKET, + KEY_RBRACKET, + KEY_SEMICOLON, + KEY_APOSTROPHE, + KEY_BACKQUOTE, + KEY_COMMA, + KEY_PERIOD, + KEY_SLASH, + KEY_BACKSLASH, + KEY_MINUS, + KEY_EQUAL, + KEY_ENTER, + KEY_SPACE, + KEY_BACKSPACE, + KEY_TAB, + KEY_CAPSLOCK, + KEY_NUMLOCK, + KEY_ESCAPE, + KEY_SCROLLLOCK, + KEY_INSERT, + KEY_DELETE, + KEY_HOME, + KEY_END, + KEY_PAGEUP, + KEY_PAGEDOWN, + KEY_BREAK, + KEY_LSHIFT, + KEY_RSHIFT, + KEY_LALT, + KEY_RALT, + KEY_LCONTROL, + KEY_RCONTROL, + KEY_LWIN, + KEY_RWIN, + KEY_APP, + KEY_UP, + KEY_LEFT, + KEY_DOWN, + KEY_RIGHT, + KEY_F1, + KEY_F2, + KEY_F3, + KEY_F4, + KEY_F5, + KEY_F6, + KEY_F7, + KEY_F8, + KEY_F9, + KEY_F10, + KEY_F11, + KEY_F12, + KEY_CAPSLOCKTOGGLE, + KEY_NUMLOCKTOGGLE, + KEY_SCROLLLOCKTOGGLE, + KEY_LAST = KEY_SCROLLLOCKTOGGLE, + KEY_COUNT = KEY_LAST - KEY_FIRST + 1, + MOUSE_FIRST = KEY_LAST + 1, + MOUSE_LEFT = MOUSE_FIRST, + MOUSE_RIGHT, + MOUSE_MIDDLE, + MOUSE_4, + MOUSE_5, + MOUSE_WHEEL_UP, + MOUSE_WHEEL_DOWN, + MOUSE_LAST = MOUSE_WHEEL_DOWN, + MOUSE_COUNT = MOUSE_LAST - MOUSE_FIRST + 1 +}; \ No newline at end of file diff --git a/include/cstrike/Interfaces/IInputInternal.h b/include/cstrike/Interfaces/IInputInternal.h new file mode 100644 index 0000000..4fd0390 --- /dev/null +++ b/include/cstrike/Interfaces/IInputInternal.h @@ -0,0 +1,21 @@ +#pragma once + +typedef ButtonCode_t KeyCode; +typedef ButtonCode_t MouseCode; + +enum MouseCodeState_t { + BUTTON_RELEASED = 0, + BUTTON_PRESSED, + BUTTON_DOUBLECLICKED +}; + +class IInputInternal { + public: + void SetKeyCodeState(KeyCode code, bool pressed) { + GetVirtualFunction(this, 83)(this, code, pressed); + } + + void SetMouseCodeState(MouseCode code, MouseCodeState_t state) { + GetVirtualFunction(this, 84)(this, code, state); + } +}; \ No newline at end of file diff --git a/include/cstrike/Interfaces/IInputSystem.h b/include/cstrike/Interfaces/IInputSystem.h new file mode 100644 index 0000000..6ff824c --- /dev/null +++ b/include/cstrike/Interfaces/IInputSystem.h @@ -0,0 +1,10 @@ +#pragma once + +enum ButtonCode_t; + +class IInputSystem { + public: + bool IsButtonDown(ButtonCode_t button) { + return GetVirtualFunction(this, 11)(this, button); + } +}; \ No newline at end of file