#define SETUP_MODE_SHORTCUTS_2 9
#define SETUP_MODE_SHORTCUTS_3 10
#define SETUP_MODE_SHORTCUTS_4 11
+#define SETUP_MODE_SHORTCUTS_5 12
/* sub-screens on the setup screen (generic) */
-#define SETUP_MODE_CHOOSE_ARTWORK 12
-#define SETUP_MODE_CHOOSE_OTHER 13
+#define SETUP_MODE_CHOOSE_ARTWORK 13
+#define SETUP_MODE_CHOOSE_OTHER 14
/* sub-screens on the setup screen (specific) */
-#define SETUP_MODE_CHOOSE_GAME_SPEED 14
-#define SETUP_MODE_CHOOSE_SCREEN_MODE 15
-#define SETUP_MODE_CHOOSE_SCROLL_DELAY 16
-#define SETUP_MODE_CHOOSE_GRAPHICS 17
-#define SETUP_MODE_CHOOSE_SOUNDS 18
-#define SETUP_MODE_CHOOSE_MUSIC 19
+#define SETUP_MODE_CHOOSE_GAME_SPEED 15
+#define SETUP_MODE_CHOOSE_SCREEN_MODE 16
+#define SETUP_MODE_CHOOSE_SCROLL_DELAY 17
+#define SETUP_MODE_CHOOSE_GRAPHICS 18
+#define SETUP_MODE_CHOOSE_SOUNDS 19
+#define SETUP_MODE_CHOOSE_MUSIC 20
-#define MAX_SETUP_MODES 20
+#define MAX_SETUP_MODES 21
/* for input setup functions */
#define SETUPINPUT_SCREEN_POS_START 0
INFO_MODE_MAIN)
#define DRAW_MODE_SETUP(i) ((i) >= SETUP_MODE_MAIN && \
- (i) <= SETUP_MODE_SHORTCUTS_4 ? (i) : \
+ (i) <= SETUP_MODE_SHORTCUTS_5 ? (i) : \
(i) >= SETUP_MODE_CHOOSE_GRAPHICS && \
(i) <= SETUP_MODE_CHOOSE_MUSIC ? \
SETUP_MODE_CHOOSE_ARTWORK : \
ClearRectangleOnBackground(drawto, 0, 0, WIN_XSIZE, WIN_YSIZE);
DrawTextFile(ALIGNED_TEXT_XPOS(tmi), ALIGNED_TEXT_YPOS(tmi),
- filename, tmi->font, tmi->chars, -1, tmi->lines, -1,
+ filename, tmi->font, tmi->chars, -1, tmi->lines, 0, -1,
tmi->autowrap, tmi->centered, tmi->parse_comments);
game_status = last_game_status; /* restore current game status */
DrawMainMenuExt(REDRAW_ALL, FALSE);
}
-#if 0
+#if defined(CREATE_SPECIAL_EDITION_RND_JUE)
static void gotoTopLevelDir()
{
/* move upwards to top level directory */
SaveLevelSetup_LastSeries();
SaveLevelSetup_SeriesInfo();
-#if 0
+#if defined(CREATE_SPECIAL_EDITION_RND_JUE)
gotoTopLevelDir();
#endif
FadeSetEnterScreen();
-#if 1
+#if 0
/* needed if different viewport properties defined for editor */
ChangeViewportPropertiesIfNeeded();
#endif
sy += getFontHeight(font_nr) / 2;
DrawTextBuffer(sx, sy + ypos * ystep, text, font_nr,
- max_chars_per_line, -1, max_lines_per_text, -1,
+ max_chars_per_line, -1, max_lines_per_text, 0, -1,
TRUE, FALSE, FALSE);
}
if (filename != NULL)
DrawTextFile(mSX + ALIGNED_TEXT_XPOS(tmi), mSY + ALIGNED_TEXT_YPOS(tmi),
- filename, tmi->font, tmi->chars, -1, tmi->lines, -1,
+ filename, tmi->font, tmi->chars, -1, tmi->lines, 0, -1,
tmi->autowrap, tmi->centered, tmi->parse_comments);
else
DrawTextCentered(mSY + ALIGNED_TEXT_YPOS(tmi), FONT_TEXT_2,
DrawSetupScreen();
}
+static void execSetupShortcuts5()
+{
+ setup_mode = SETUP_MODE_SHORTCUTS_5;
+
+ DrawSetupScreen();
+}
+
static void execExitSetup()
{
game_status = GAME_MODE_MAIN;
{ TYPE_ENTER_MENU, execSetupShortcuts2, "Player Focus" },
{ TYPE_ENTER_MENU, execSetupShortcuts3, "Tape Buttons" },
{ TYPE_ENTER_MENU, execSetupShortcuts4, "Sound & Music" },
+ { TYPE_ENTER_MENU, execSetupShortcuts5, "TAS Snap Keys" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
{ 0, NULL, NULL }
};
+static struct TokenInfo setup_info_shortcuts_5[] =
+{
+ { TYPE_KEYTEXT, NULL, "Snap Left:", },
+ { TYPE_KEY, &setup.shortcut.snap_left, "" },
+ { TYPE_KEYTEXT, NULL, "Snap Right:", },
+ { TYPE_KEY, &setup.shortcut.snap_right, "" },
+ { TYPE_KEYTEXT, NULL, "Snap Up:", },
+ { TYPE_KEY, &setup.shortcut.snap_up, "" },
+ { TYPE_KEYTEXT, NULL, "Snap Down:", },
+ { TYPE_KEY, &setup.shortcut.snap_down, "" },
+ { TYPE_EMPTY, NULL, "" },
+ { TYPE_LEAVE_MENU, execSetupShortcuts, "Back" },
+
+ { 0, NULL, NULL }
+};
+
static Key getSetupKey()
{
Key key = KSYM_UNDEFINED;
setup_info = setup_info_shortcuts_4;
title_string = "Setup Shortcuts";
}
+ else if (setup_mode == SETUP_MODE_SHORTCUTS_5)
+ {
+ setup_info = setup_info_shortcuts_5;
+ title_string = "Setup Shortcuts";
+ }
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, title_string);