static TreeInfo *screen_modes = NULL;
static TreeInfo *screen_mode_current = NULL;
-#define DRAW_OFFSET_MODE(x) (x >= GAME_MODE_MAIN && \
- x <= GAME_MODE_SETUP ? x : \
- x == GAME_MODE_PSEUDO_TYPENAME ? \
+#define DRAW_MODE(s) ((s) >= GAME_MODE_MAIN && \
+ (s) <= GAME_MODE_SETUP ? (s) : \
+ (s) == GAME_MODE_PSEUDO_TYPENAME ? \
GAME_MODE_MAIN : GAME_MODE_DEFAULT)
-#define mSX (SX + menu.draw_xoffset[DRAW_OFFSET_MODE(game_status)])
-#define mSY (SY + menu.draw_yoffset[DRAW_OFFSET_MODE(game_status)])
+#define DRAW_MODE_INFO(i) ((i) >= INFO_MODE_ELEMENTS && \
+ (i) <= INFO_MODE_LEVELSET ? (i) : \
+ INFO_MODE_MAIN)
+
+#define DRAW_XOFFSET_INFO(i) (DRAW_MODE_INFO(i) == INFO_MODE_MAIN ? \
+ menu.draw_xoffset[GAME_MODE_INFO] : \
+ menu.draw_xoffset_info[DRAW_MODE_INFO(i)])
+#define DRAW_YOFFSET_INFO(i) (DRAW_MODE_INFO(i) == INFO_MODE_MAIN ? \
+ menu.draw_yoffset[GAME_MODE_INFO] : \
+ menu.draw_yoffset_info[DRAW_MODE_INFO(i)])
+
+#define DRAW_XOFFSET(s) ((s) == GAME_MODE_INFO ? \
+ DRAW_XOFFSET_INFO(info_mode) : \
+ menu.draw_xoffset[DRAW_MODE(s)])
+#define DRAW_YOFFSET(s) ((s) == GAME_MODE_INFO ? \
+ DRAW_YOFFSET_INFO(info_mode) : \
+ menu.draw_yoffset[DRAW_MODE(s)])
+
+#define mSX (SX + DRAW_XOFFSET(game_status))
+#define mSY (SY + DRAW_YOFFSET(game_status))
#define NUM_MENU_ENTRIES_ON_SCREEN (menu.list_size[game_status] > 2 ? \
menu.list_size[game_status] : \
{
MAIN_CONTROL_LEVELSET_INFO,
NULL, -1,
- &menu.main.text.levelset_info, NULL, -1,
+ &menu.main.text.level_info_1, NULL, -1,
NULL, NULL, -1,
},
{
MAIN_CONTROL_LEVEL_INFO,
NULL, -1,
- &menu.main.text.level_info, NULL, -1,
+ &menu.main.text.level_info_2, NULL, -1,
NULL, NULL, -1,
},
PlayMenuMusic();
}
+void RedrawSetupScreenAfterFullscreenToggle()
+{
+ if (setup_mode == SETUP_MODE_GRAPHICS)
+ DrawSetupScreen();
+}
+
void HandleSetupScreen(int mx, int my, int dx, int dy, int button)
{
if (setup_mode == SETUP_MODE_INPUT)
GDI_SCROLLBAR_ITEMS_MAX, items_max,
GDI_SCROLLBAR_ITEMS_VISIBLE, items_visible,
GDI_SCROLLBAR_ITEM_POSITION, item_position,
+#if 1
+ GDI_WHEEL_AREA_X, SX,
+ GDI_WHEEL_AREA_Y, SY,
+ GDI_WHEEL_AREA_WIDTH, SXSIZE,
+ GDI_WHEEL_AREA_HEIGHT, SYSIZE,
+#else
GDI_WHEEL_AREA_X, 0,
GDI_WHEEL_AREA_Y, 0,
GDI_WHEEL_AREA_WIDTH, WIN_XSIZE,
GDI_WHEEL_AREA_HEIGHT, WIN_YSIZE,
+#endif
GDI_STATE, GD_BUTTON_UNPRESSED,
GDI_DESIGN_UNPRESSED, gd_bitmap_unpressed, gd_x1, gd_y1,
GDI_DESIGN_PRESSED, gd_bitmap_pressed, gd_x2, gd_y2,