X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FInput.c;h=3abfb289adaf5fba354f9e7264195e027763003c;hb=ce0bba1a070e5e64939491eb68087f68ef8fe870;hp=5271795c48a8ee35bccad43f318b9504b3bb9643;hpb=0b8567c8bcbe637936fa01d253de81254fa4fb3e;p=rocksndiamonds.git diff --git a/src/game_sp/Input.c b/src/game_sp/Input.c index 5271795c..3abfb289 100644 --- a/src/game_sp/Input.c +++ b/src/game_sp/Input.c @@ -4,25 +4,9 @@ #include "Input.h" -// static char *VB_Name = "modInput"; -// --- Option Explicit - -boolean KeyState[255 + 1]; DemoBufferObject DemoBuffer; - -// -// Public KeyFlagSpace As Boolean -// Public KeyFlagUp As Boolean -// Public KeyFlagLeft As Boolean -// Public KeyFlagDown As Boolean -// Public KeyFlagRight As Boolean -// Public KeyFlagEnter As Boolean -// Public KeyFlagESC As Boolean -// Public KeyFlagR As Boolean -// Public KeyFlagRShift As Boolean - -int KeyScanCode7; +boolean KeyState[255 + 1]; int map_key_RND_to_SP(int key) { @@ -55,155 +39,7 @@ int map_key_SP_to_RND(int key) key == keySpace ? KEY_BUTTON : MV_NONE); } -void subCheckJoystick() -{ -} - -int subCheckRightMouseButton() +void subProcessKeyboardInput(byte action) { - int subCheckRightMouseButton; - - // return button state - - return subCheckRightMouseButton; -} - -int subProcessKeyboardInput(byte action) -{ - int subProcessKeyboardInput; - - static int LastKey = 0; - -#if 1 - DemoKeyCode = map_key_RND_to_SP(action); - -#if 0 - printf("::: DemoKeyCode == %d\n", DemoKeyCode); -#endif - - return subProcessKeyboardInput; - -#else - - // On Error GoTo NoKeyboardAccessEH - // Call DKeyboard.Acquire - // On Error GoTo 0 - // Call DKeyboard.GetDeviceStateKeyboard(KeyState) - // With KeyState - if (DemoFlag != 0) - { - subGetNextDemoKey(); - -#if 0 - printf("::: DemoKeyCode == %d\n", DemoKeyCode); -#endif - - if (ExitToMenuFlag != 0) - return subProcessKeyboardInput; - } - else - { - if (KeyState[vbKeySpace]) - { - if (KeyState[vbKeyUp]) - { - DemoKeyCode = keySpaceUp; - } - else if (KeyState[vbKeyLeft]) - { - DemoKeyCode = keySpaceLeft; - } - else if (KeyState[vbKeyDown]) - { - DemoKeyCode = keySpaceDown; - } - else if (KeyState[vbKeyRight]) - { - DemoKeyCode = keySpaceRight; - } - else - { - DemoKeyCode = keySpace; - } - - } - else - { - if (KeyState[vbKeyUp]) - { - DemoKeyCode = keyUp; - } - else if (KeyState[vbKeyLeft]) - { - DemoKeyCode = keyLeft; - } - else if (KeyState[vbKeyDown]) - { - DemoKeyCode = keyDown; - } - else if (KeyState[vbKeyRight]) - { - DemoKeyCode = keyRight; - } - else - { - DemoKeyCode = keyNone; - } - } - } - -#endif - - // demo recording - if (RecordDemoFlag == 1) - DemoBuffer.AddDemoKey(DemoKeyCode); - - if (DemoKeyCode != LastKey && ! NoDisplayFlag) - { -#if 0 - MainForm.ShowKey(DemoKeyCode); -#endif - LastKey = DemoKeyCode; - } - - if (KeyState[vbKeyEscape]) - { - if (BlockingSpeed) - { - // Call MainForm.menSpeed_Click(4) - } - else - { -#if 1 - printf("::: Input.c: subProcessKeyboardInput(): kill murphy\n"); -#endif - - KillMurphyFlag = 1; - // ExplodeFieldSP MurphyPosIndex - // LeadOutCounter = &H20 - } - } - - if (KeyState[vbKeyR]) - { - subFetchAndInitLevelB(); - } - - if (KeyState[vbKeyShift]) - subDisplayRedDiskCount(); - -#if 0 - if (KeyState[vbKeyReturn]) - MainForm.PanelVisible = (ShowPanel == 0); -#endif - - // End With - // Call DKeyboard.Unacquire - return subProcessKeyboardInput; - - // NoKeyboardAccessEH: - Debug.Print("! Keyboard access"); - - return subProcessKeyboardInput; }