X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fengine%2Fe_input.pas;h=ea34841f13ae707ab926449caaab38640cd8b63f;hp=1f1ba160be591fe9771b9779a295c7b13d140c76;hb=84fa2f88d5d832ed9cc932fd2860d74467e242e1;hpb=8cd33b294accd2d91e74720607bc8d7402ac2d6c diff --git a/src/engine/e_input.pas b/src/engine/e_input.pas index 1f1ba16..ea34841 100644 --- a/src/engine/e_input.pas +++ b/src/engine/e_input.pas @@ -37,6 +37,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 +192,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 = JOYA_BEG + 0*e_MaxJoyAxes*2 + 0*2 + AX_MINUS; + JOY1_LEFT = JOYA_BEG + 1*e_MaxJoyAxes*2 + 0*2 + AX_MINUS; + JOY2_LEFT = JOYA_BEG + 2*e_MaxJoyAxes*2 + 0*2 + AX_MINUS; + JOY3_LEFT = JOYA_BEG + 3*e_MaxJoyAxes*2 + 0*2 + AX_MINUS; + JOY0_RIGHT = JOYA_BEG + 0*e_MaxJoyAxes*2 + 0*2 + AX_PLUS; + JOY1_RIGHT = JOYA_BEG + 1*e_MaxJoyAxes*2 + 0*2 + AX_PLUS; + JOY2_RIGHT = JOYA_BEG + 2*e_MaxJoyAxes*2 + 0*2 + AX_PLUS; + JOY3_RIGHT = JOYA_BEG + 3*e_MaxJoyAxes*2 + 0*2 + AX_PLUS; + JOY0_UP = JOYA_BEG + 0*e_MaxJoyAxes*2 + 1*2 + AX_MINUS; + JOY1_UP = JOYA_BEG + 1*e_MaxJoyAxes*2 + 1*2 + AX_MINUS; + JOY2_UP = JOYA_BEG + 2*e_MaxJoyAxes*2 + 1*2 + AX_MINUS; + JOY3_UP = JOYA_BEG + 3*e_MaxJoyAxes*2 + 1*2 + AX_MINUS; + JOY0_DOWN = JOYA_BEG + 0*e_MaxJoyAxes*2 + 1*2 + AX_PLUS; + JOY1_DOWN = JOYA_BEG + 1*e_MaxJoyAxes*2 + 1*2 + AX_PLUS; + JOY2_DOWN = JOYA_BEG + 2*e_MaxJoyAxes*2 + 1*2 + AX_PLUS; + JOY3_DOWN = JOYA_BEG + 3*e_MaxJoyAxes*2 + 1*2 + AX_PLUS; + function e_InitInput: Boolean; procedure e_ReleaseInput; procedure e_UnpressAllKeys; @@ -203,17 +251,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;