added special mode to continue from hall of fame when pressing "space" key
authorHolger Schemel <info@artsoft.org>
Wed, 11 May 2022 12:04:59 +0000 (14:04 +0200)
committerHolger Schemel <info@artsoft.org>
Wed, 11 May 2022 12:05:35 +0000 (14:05 +0200)
src/events.c
src/libgame/system.h
src/screens.c

index d5f9963bd00a7a658b0a2029afa852d1c03a38e0..7a6ff377fd91440277c9db4986ad1e591c3dd430 100644 (file)
@@ -2335,6 +2335,14 @@ void HandleKey(Key key, int key_status)
   if (HandleGadgetsKeyInput(key))
     return;            // do not handle already processed keys again
 
+  // special case: on "space" key, either continue playing or go to main menu
+  if (game_status == GAME_MODE_SCORES && key == KSYM_space)
+  {
+    HandleHallOfFame(0, 0, 0, 0, MB_MENU_CONTINUE);
+
+    return;
+  }
+
   switch (game_status)
   {
     case GAME_MODE_PSEUDO_TYPENAME:
index 30ef7d7986b735c5b8289d82ecbe4771c898307d..60a2d7cc40b369ab302cd645f6e282ba903db3b0 100644 (file)
 #define MB_MENU_MARK                   TRUE
 #define MB_MENU_INITIALIZE             (-1)
 #define MB_MENU_LEAVE                  (-2)
+#define MB_MENU_CONTINUE               (-3)
 #define MB_LEFTBUTTON                  1
 #define MB_MIDDLEBUTTON                        2
 #define MB_RIGHTBUTTON                 3
index 58a9afae8ab2a8e3b0235f253b5690a2cf169263..326fa677c0973404caa4abd28f6dfb97b7746e92 100644 (file)
@@ -4912,14 +4912,14 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button,
       return;
     }
   }
-  else if (dx == -1 && ti->node_parent)
+  else if ((dx == -1 || button == MB_MENU_CONTINUE) && ti->node_parent)
   {
-    FadeSetLeaveMenu();
+    if (game_status != GAME_MODE_SCORES)
+      FadeSetLeaveMenu();
 
     PlaySound(SND_MENU_ITEM_SELECTING);
 
     *ti_ptr = ti->node_parent;
-
     DrawChooseTree(ti_ptr);
 
     return;