diff --git a/src/engine/e_input.pas b/src/engine/e_input.pas
index 1f1ba160be591fe9771b9779a295c7b13d140c76..b055bf91e11d9916ebde53629cb18bddddb0ed31 100644 (file)
--- a/src/engine/e_input.pas
+++ b/src/engine/e_input.pas
// $$$..$$$ - 4*4 Joystick hats (L U R D)
// $$$..$$$ - 48 Virtual buttons/keys
+ KBRD_END = e_MaxKbdKeys;
+ JOYK_BEG = KBRD_END;
+ JOYK_END = JOYK_BEG + e_MaxJoyBtns*e_MaxJoys;
+ JOYA_BEG = JOYK_END;
+ JOYA_END = JOYA_BEG + e_MaxJoyAxes*2*e_MaxJoys;
+ JOYH_BEG = JOYA_END;
+ JOYH_END = JOYH_BEG + e_MaxJoyHats*4*e_MaxJoys;
+ VIRT_BEG = JOYH_END;
+ VIRT_END = VIRT_BEG + e_MaxVirtKeys;
+
// these are apparently used in g_gui and g_game and elsewhere
IK_INVALID = 0;
IK_ESCAPE = SDL_SCANCODE_ESCAPE;
HAT_RIGHT = 2;
HAT_DOWN = 3;
+ JOY0_ATTACK = JOYK_BEG + 0*e_MaxJoyBtns + 0;
+ JOY1_ATTACK = JOYK_BEG + 1*e_MaxJoyBtns + 0;
+ JOY2_ATTACK = JOYK_BEG + 2*e_MaxJoyBtns + 0;
+ JOY3_ATTACK = JOYK_BEG + 3*e_MaxJoyBtns + 0;
+ JOY0_NEXT = JOYK_BEG + 0*e_MaxJoyBtns + 1;
+ JOY1_NEXT = JOYK_BEG + 1*e_MaxJoyBtns + 1;
+ JOY2_NEXT = JOYK_BEG + 2*e_MaxJoyBtns + 1;
+ JOY3_NEXT = JOYK_BEG + 3*e_MaxJoyBtns + 1;
+ JOY0_JUMP = JOYK_BEG + 0*e_MaxJoyBtns + 2;
+ JOY1_JUMP = JOYK_BEG + 1*e_MaxJoyBtns + 2;
+ JOY2_JUMP = JOYK_BEG + 2*e_MaxJoyBtns + 2;
+ JOY3_JUMP = JOYK_BEG + 3*e_MaxJoyBtns + 2;
+ JOY0_ACTIVATE = JOYK_BEG + 0*e_MaxJoyBtns + 3;
+ JOY1_ACTIVATE = JOYK_BEG + 1*e_MaxJoyBtns + 3;
+ JOY2_ACTIVATE = JOYK_BEG + 2*e_MaxJoyBtns + 3;
+ JOY3_ACTIVATE = JOYK_BEG + 3*e_MaxJoyBtns + 3;
+ JOY0_PREV = JOYK_BEG + 0*e_MaxJoyBtns + 4;
+ JOY1_PREV = JOYK_BEG + 1*e_MaxJoyBtns + 4;
+ JOY2_PREV = JOYK_BEG + 2*e_MaxJoyBtns + 4;
+ JOY3_PREV = JOYK_BEG + 3*e_MaxJoyBtns + 4;
+
+ JOY0_LEFT = JOYH_BEG + 0*e_MaxJoyHats*4 + 0*4 + HAT_LEFT;
+ JOY1_LEFT = JOYH_BEG + 1*e_MaxJoyHats*4 + 0*4 + HAT_LEFT;
+ JOY2_LEFT = JOYH_BEG + 2*e_MaxJoyHats*4 + 0*4 + HAT_LEFT;
+ JOY3_LEFT = JOYH_BEG + 3*e_MaxJoyHats*4 + 0*4 + HAT_LEFT;
+ JOY0_RIGHT = JOYH_BEG + 0*e_MaxJoyHats*4 + 0*4 + HAT_RIGHT;
+ JOY1_RIGHT = JOYH_BEG + 1*e_MaxJoyHats*4 + 0*4 + HAT_RIGHT;
+ JOY2_RIGHT = JOYH_BEG + 2*e_MaxJoyHats*4 + 0*4 + HAT_RIGHT;
+ JOY3_RIGHT = JOYH_BEG + 3*e_MaxJoyHats*4 + 0*4 + HAT_RIGHT;
+ JOY0_UP = JOYH_BEG + 0*e_MaxJoyHats*4 + 0*4 + HAT_UP;
+ JOY1_UP = JOYH_BEG + 1*e_MaxJoyHats*4 + 0*4 + HAT_UP;
+ JOY2_UP = JOYH_BEG + 2*e_MaxJoyHats*4 + 0*4 + HAT_UP;
+ JOY3_UP = JOYH_BEG + 3*e_MaxJoyHats*4 + 0*4 + HAT_UP;
+ JOY0_DOWN = JOYH_BEG + 0*e_MaxJoyHats*4 + 0*4 + HAT_DOWN;
+ JOY1_DOWN = JOYH_BEG + 1*e_MaxJoyHats*4 + 0*4 + HAT_DOWN;
+ JOY2_DOWN = JOYH_BEG + 2*e_MaxJoyHats*4 + 0*4 + HAT_DOWN;
+ JOY3_DOWN = JOYH_BEG + 3*e_MaxJoyHats*4 + 0*4 + HAT_DOWN;
+
function e_InitInput: Boolean;
procedure e_ReleaseInput;
procedure e_UnpressAllKeys;
implementation
-const
- KBRD_END = e_MaxKbdKeys;
- JOYK_BEG = KBRD_END;
- JOYK_END = JOYK_BEG + e_MaxJoyBtns*e_MaxJoys;
- JOYA_BEG = JOYK_END;
- JOYA_END = JOYA_BEG + e_MaxJoyAxes*2*e_MaxJoys;
- JOYH_BEG = JOYA_END;
- JOYH_END = JOYH_BEG + e_MaxJoyHats*4*e_MaxJoys;
- VIRT_BEG = JOYH_END;
- VIRT_END = VIRT_BEG + e_MaxVirtKeys;
-
var
InputBuffer: array [0..e_MaxInputKeys - 1] of Boolean;