rnd-20020420-1-src
authorHolger Schemel <info@artsoft.org>
Fri, 19 Apr 2002 22:05:22 +0000 (00:05 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:36:59 +0000 (10:36 +0200)
src/editor.c
src/events.c
src/files.c
src/libgame/joystick.h
src/libgame/system.h
src/screens.c
src/timestamp.h

index 920f0861ccf408ed2d16f36831b4b937c861f700..8e2258fc00cb4cf3810c191c9b76c3881172c2bf 100644 (file)
@@ -4048,7 +4048,7 @@ void HandleLevelEditorKeyInput(Key key)
       ClickOnGadget(level_editor_gadget[id], button);
     else if (letter == '.')
       ClickOnGadget(level_editor_gadget[GADGET_ID_SINGLE_ITEMS], button);
-    else if (key == KSYM_space || key == KSYM_Return)
+    else if (key == KSYM_Return || key == setup.shortcut.toggle_pause)
       ClickOnGadget(level_editor_gadget[GADGET_ID_TEST], button);
     else
       for (i=0; i<ED_NUM_CTRL_BUTTONS; i++)
index 468da146ad5f9e4bcba47106b2cbc24b6765c4c5..66e5ec642fd6fa4c88453257e7a22fd5fbe4f430 100644 (file)
@@ -444,7 +444,7 @@ void HandleKey(Key key, int key_status)
 
       if (tape.single_step && clear_button_2[pnr])
       {
-       stored_player[pnr].action &= ~MV_BUTTON_2;
+       stored_player[pnr].action &= ~KEY_BUTTON_2;
        clear_button_2[pnr] = FALSE;
       }
 
@@ -456,31 +456,31 @@ void HandleKey(Key key, int key_status)
       if (tape.single_step && tape.recording && tape.pausing)
       {
        if (key_status == KEY_PRESSED &&
-           (key_action & (MV_MOTION | MV_BUTTON_1)))
+           (key_action & (KEY_MOTION | KEY_BUTTON_1)))
        {
          TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);
 
-         if (key_action & MV_MOTION)
+         if (key_action & KEY_MOTION)
          {
-           if (stored_player[pnr].action & MV_BUTTON_2)
+           if (stored_player[pnr].action & KEY_BUTTON_2)
              bomb_placed[pnr] = TRUE;
          }
        }
        else if (key_status == KEY_RELEASED &&
-                (key_action & MV_BUTTON_2))
+                (key_action & KEY_BUTTON_2))
        {
          if (!bomb_placed[pnr])
          {
            TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);
 
-           stored_player[pnr].action |= MV_BUTTON_2;
+           stored_player[pnr].action |= KEY_BUTTON_2;
            clear_button_2[pnr] = TRUE;
          }
 
          bomb_placed[pnr] = FALSE;
        }
       }
-      else if (tape.recording && tape.pausing)
+      else if (tape.recording && tape.pausing && (key_action & KEY_ACTION))
        TapeTogglePause(TAPE_TOGGLE_MANUAL);
     }
   }
@@ -509,7 +509,7 @@ void HandleKey(Key key, int key_status)
   if (key_status == KEY_RELEASED)
     return;
 
-  if ((key == KSYM_Return || key == KSYM_space) &&
+  if ((key == KSYM_Return || key == setup.shortcut.toggle_pause) &&
       game_status == PLAYING && AllPlayersGone)
   {
     CloseDoor(DOOR_CLOSE_1);
@@ -531,13 +531,15 @@ void HandleKey(Key key, int key_status)
     return;
   }
 
-  /* special shortcuts for quick game tape saving and loading */
+  /* special key shortcuts */
   if (game_status == MAINMENU || game_status == PLAYING)
   {
     if (key == setup.shortcut.save_game)
       TapeQuickSave();
     else if (key == setup.shortcut.load_game)
       TapeQuickLoad();
+    else if (key == setup.shortcut.toggle_pause)
+      TapeTogglePause(TAPE_TOGGLE_MANUAL);
   }
 
 
@@ -564,7 +566,6 @@ void HandleKey(Key key, int key_status)
       switch(key)
       {
        case KSYM_Return:
-       case KSYM_space:
          if (game_status == MAINMENU)
            HandleMainMenu(0,0, 0,0, MB_MENU_CHOICE);
           else if (game_status == CHOOSELEVEL)
@@ -609,7 +610,6 @@ void HandleKey(Key key, int key_status)
       switch(key)
       {
        case KSYM_Return:
-       case KSYM_space:
          game_status = MAINMENU;
          DrawMainMenu();
          BackToFront();
index b0a6dd7fd2787dce0715b60871a66ea03e2bc053..466360035445e37be06ba0efade537367b426d6a 100644 (file)
@@ -1190,8 +1190,9 @@ void SaveScore(int level_nr)
 /* shortcut setup */
 #define SETUP_TOKEN_SAVE_GAME          0
 #define SETUP_TOKEN_LOAD_GAME          1
+#define SETUP_TOKEN_TOGGLE_PAUSE       2
 
-#define NUM_SHORTCUT_SETUP_TOKENS      2
+#define NUM_SHORTCUT_SETUP_TOKENS      3
 
 /* player setup */
 #define SETUP_TOKEN_USE_JOYSTICK       0
@@ -1245,7 +1246,8 @@ static struct TokenInfo shortcut_setup_tokens[] =
 {
   /* shortcut setup */
   { TYPE_KEY_X11, &ssi.save_game,              "shortcut.save_game"    },
-  { TYPE_KEY_X11, &ssi.load_game,              "shortcut.load_game"    }
+  { TYPE_KEY_X11, &ssi.load_game,              "shortcut.load_game"    },
+  { TYPE_KEY_X11, &ssi.toggle_pause,           "shortcut.toggle_pause" }
 };
 
 static struct TokenInfo player_setup_tokens[] =
@@ -1299,6 +1301,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
 
   si->shortcut.save_game = DEFAULT_KEY_SAVE_GAME;
   si->shortcut.load_game = DEFAULT_KEY_LOAD_GAME;
+  si->shortcut.toggle_pause = DEFAULT_KEY_TOGGLE_PAUSE;
 
   for (i=0; i<MAX_PLAYERS; i++)
   {
index 37f02a90179bba4e179e35c0e06b6918dd7feaa3..d571a1303fb296aafed0c35ab0eda3e949814cec 100644 (file)
 #define JOY_RIGHT              MV_RIGHT
 #define JOY_UP                 MV_UP
 #define JOY_DOWN               MV_DOWN
-#define JOY_BUTTON_1           MV_BUTTON_1
-#define JOY_BUTTON_2           MV_BUTTON_2
-#define JOY_MOTION             MV_MOTION
-#define JOY_BUTTON             MV_BUTTON
+#define JOY_BUTTON_1           KEY_BUTTON_1
+#define JOY_BUTTON_2           KEY_BUTTON_2
+#define JOY_MOTION             KEY_MOTION
+#define JOY_BUTTON             KEY_BUTTON
+#define JOY_ACTION             KEY_ACTION
 
 #define JOY_BUTTON_NOT_PRESSED 0
 #define JOY_BUTTON_PRESSED     1
index 71582633110a9483e0b0dc76659682f308253400..f3569763da539a17284b19110d516426b7896033 100644 (file)
@@ -51,6 +51,7 @@
 /* default shortcut keys */
 #define DEFAULT_KEY_SAVE_GAME  KSYM_F1
 #define DEFAULT_KEY_LOAD_GAME  KSYM_F2
+#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
 
 /* values for move directions and special "button" keys */
 #define MV_NO_MOVING           0
 #define MV_RIGHT               (1 << 1)
 #define MV_UP                  (1 << 2)
 #define MV_DOWN                        (1 << 3)
-#define MV_BUTTON_1            (1 << 4)
-#define MV_BUTTON_2            (1 << 5)
-#define MV_MOTION              (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
-#define MV_BUTTON              (MV_BUTTON_1 | MV_BUTTON_2)
+#define KEY_BUTTON_1           (1 << 4)
+#define KEY_BUTTON_2           (1 << 5)
+#define KEY_MOTION             (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
+#define KEY_BUTTON             (KEY_BUTTON_1 | KEY_BUTTON_2)
+#define KEY_ACTION             (KEY_MOTION | KEY_BUTTON)
 
 /* values for button status */
 #define MB_NOT_PRESSED         FALSE
@@ -299,6 +301,7 @@ struct SetupShortcutInfo
 {
   Key save_game;
   Key load_game;
+  Key toggle_pause;
 };
 
 struct SetupInfo
index 76ed7a1e4a054a7adc05df41465b8d4337281bfd..1465041cdb126c0006064c2406bade73626c193c 100644 (file)
@@ -1487,6 +1487,8 @@ static struct TokenInfo setup_info_shortcut[] =
   { TYPE_KEY,          &setup.shortcut.save_game,      ""              },
   { TYPE_KEYTEXT,      NULL,                   "Quick Load Game:",     },
   { TYPE_KEY,          &setup.shortcut.load_game,      ""              },
+  { TYPE_KEYTEXT,      NULL,                   "Toggle Pause:",        },
+  { TYPE_KEY,          &setup.shortcut.toggle_pause,   ""              },
   { TYPE_EMPTY,                NULL,                   ""                      },
   { TYPE_LEAVE_MENU,   execSetupMain,          "Exit"                  },
   { 0,                 NULL,                   NULL                    }
index fac9922492445ee60082dcdeb6d6599ed1e35cd3..f7fadf56d659d9e9f219cc1363679500ea9cb8e6 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-04-18 02:20]"
+#define COMPILE_DATE_STRING "[2002-04-19 23:17]"