DEADSOFTWARE

changed license to GPLv3 only; sorry, no trust to FSF anymore
[d2df-sdl.git] / src / engine / e_input.pas
index 1f1ba160be591fe9771b9779a295c7b13d140c76..1bfd7f33407db727a8dd87c4848a392f09c64e74 100644 (file)
@@ -2,8 +2,7 @@
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -37,6 +36,16 @@ const
   // $$$..$$$ -  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;
@@ -182,6 +191,44 @@ const
   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;
@@ -203,17 +250,6 @@ var
 
 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;