added (optional) main menu button to switch between ECS and AGA chipset
[rocksndiamonds.git] / src / screens.c
index 521f68ced37b21c231d379f915e63ed287c0a013..17513d2c834a326dca593d8901b601484ec8b8ac 100644 (file)
 #define SCREEN_CTRL_ID_NEXT_PLAYER     6
 #define SCREEN_CTRL_ID_INSERT_SOLUTION 7
 #define SCREEN_CTRL_ID_PLAY_SOLUTION   8
-#define SCREEN_CTRL_ID_TOUCH_PREV_PAGE 9
-#define SCREEN_CTRL_ID_TOUCH_NEXT_PAGE 10
-#define SCREEN_CTRL_ID_TOUCH_PREV_PAGE2        11
-#define SCREEN_CTRL_ID_TOUCH_NEXT_PAGE2        12
-#define SCREEN_CTRL_ID_SCROLL_UP       13
-#define SCREEN_CTRL_ID_SCROLL_DOWN     14
-#define SCREEN_CTRL_ID_SCROLL_VERTICAL 15
-#define SCREEN_CTRL_ID_NETWORK_SERVER  16
-
-#define NUM_SCREEN_GADGETS             17
-
-#define NUM_SCREEN_MENUBUTTONS         13
+#define SCREEN_CTRL_ID_SWITCH_ECS_AGA  9
+#define SCREEN_CTRL_ID_TOUCH_PREV_PAGE 10
+#define SCREEN_CTRL_ID_TOUCH_NEXT_PAGE 11
+#define SCREEN_CTRL_ID_TOUCH_PREV_PAGE2        12
+#define SCREEN_CTRL_ID_TOUCH_NEXT_PAGE2        13
+#define SCREEN_CTRL_ID_SCROLL_UP       14
+#define SCREEN_CTRL_ID_SCROLL_DOWN     15
+#define SCREEN_CTRL_ID_SCROLL_VERTICAL 16
+#define SCREEN_CTRL_ID_NETWORK_SERVER  17
+
+#define NUM_SCREEN_GADGETS             18
+
+#define NUM_SCREEN_MENUBUTTONS         14
 #define NUM_SCREEN_SCROLLBUTTONS       2
 #define NUM_SCREEN_SCROLLBARS          1
 #define NUM_SCREEN_TEXTINPUT           1
@@ -8460,6 +8461,14 @@ static struct
     GD_EVENT_RELEASED,
     FALSE, "play solution tape"
   },
+  {
+    IMG_MENU_BUTTON_SWITCH_ECS_AGA, IMG_MENU_BUTTON_SWITCH_ECS_AGA_ACTIVE,
+    &menu.main.button.switch_ecs_aga, &setup.prefer_aga_graphics,
+    SCREEN_CTRL_ID_SWITCH_ECS_AGA,
+    SCREEN_MASK_MAIN,
+    GD_EVENT_RELEASED | GD_EVENT_OFF_BORDERS,
+    FALSE, "switch ECS/AGA chipset"
+  },
   {
     IMG_MENU_BUTTON_TOUCH_BACK, IMG_MENU_BUTTON_TOUCH_BACK,
     &menu.setup.button.touch_back, NULL,
@@ -8958,6 +8967,11 @@ static void HandleScreenGadgets(struct GadgetInfo *gi)
       PlaySolutionTape();
       break;
 
+    case SCREEN_CTRL_ID_SWITCH_ECS_AGA:
+      setup.prefer_aga_graphics = !setup.prefer_aga_graphics;
+      DrawMainMenu();
+      break;
+
     case SCREEN_CTRL_ID_TOUCH_PREV_PAGE:
     case SCREEN_CTRL_ID_TOUCH_NEXT_PAGE:
     case SCREEN_CTRL_ID_TOUCH_PREV_PAGE2: