#define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_3 5
#define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_4 6
#define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_ALL 7
+#define SETUP_TOKEN_SHORTCUT_TAPE_EJECT 8
+#define SETUP_TOKEN_SHORTCUT_TAPE_STOP 9
+#define SETUP_TOKEN_SHORTCUT_TAPE_PAUSE 10
+#define SETUP_TOKEN_SHORTCUT_TAPE_RECORD 11
+#define SETUP_TOKEN_SHORTCUT_TAPE_PLAY 12
-#define NUM_SHORTCUT_SETUP_TOKENS 8
+#define NUM_SHORTCUT_SETUP_TOKENS 13
/* player setup */
#define SETUP_TOKEN_PLAYER_USE_JOYSTICK 0
{ TYPE_KEY_X11, &ssi.focus_player[2], "shortcut.focus_player_3" },
{ TYPE_KEY_X11, &ssi.focus_player[3], "shortcut.focus_player_4" },
{ TYPE_KEY_X11, &ssi.focus_player_all,"shortcut.focus_player_all" },
+ { TYPE_KEY_X11, &ssi.tape_eject, "shortcut.tape_eject" },
+ { TYPE_KEY_X11, &ssi.tape_stop, "shortcut.tape_stop" },
+ { TYPE_KEY_X11, &ssi.tape_pause, "shortcut.tape_pause" },
+ { TYPE_KEY_X11, &ssi.tape_record, "shortcut.tape_record" },
+ { TYPE_KEY_X11, &ssi.tape_play, "shortcut.tape_play" },
};
static struct TokenInfo player_setup_tokens[] =
si->shortcut.focus_player[3] = DEFAULT_KEY_FOCUS_PLAYER_4;
si->shortcut.focus_player_all = DEFAULT_KEY_FOCUS_PLAYER_ALL;
+ si->shortcut.tape_eject = DEFAULT_KEY_TAPE_EJECT;
+ si->shortcut.tape_stop = DEFAULT_KEY_TAPE_STOP;
+ si->shortcut.tape_pause = DEFAULT_KEY_TAPE_PAUSE;
+ si->shortcut.tape_record = DEFAULT_KEY_TAPE_RECORD;
+ si->shortcut.tape_play = DEFAULT_KEY_TAPE_PLAY;
+
for (i = 0; i < MAX_PLAYERS; i++)
{
si->input[i].use_joystick = FALSE;
#define SETUP_MODE_SOUND 4
#define SETUP_MODE_ARTWORK 5
#define SETUP_MODE_INPUT 6
-#define SETUP_MODE_SHORTCUTS_1 7
-#define SETUP_MODE_SHORTCUTS_2 8
+#define SETUP_MODE_SHORTCUTS 7
+#define SETUP_MODE_SHORTCUTS_1 8
+#define SETUP_MODE_SHORTCUTS_2 9
+#define SETUP_MODE_SHORTCUTS_3 10
/* sub-screens on the setup screen (generic) */
-#define SETUP_MODE_CHOOSE_ARTWORK 9
-#define SETUP_MODE_CHOOSE_OTHER 10
+#define SETUP_MODE_CHOOSE_ARTWORK 11
+#define SETUP_MODE_CHOOSE_OTHER 12
/* sub-screens on the setup screen (specific) */
-#define SETUP_MODE_CHOOSE_GAME_SPEED 11
-#define SETUP_MODE_CHOOSE_SCREEN_MODE 12
-#define SETUP_MODE_CHOOSE_SCROLL_DELAY 13
-#define SETUP_MODE_CHOOSE_GRAPHICS 14
-#define SETUP_MODE_CHOOSE_SOUNDS 15
-#define SETUP_MODE_CHOOSE_MUSIC 16
+#define SETUP_MODE_CHOOSE_GAME_SPEED 13
+#define SETUP_MODE_CHOOSE_SCREEN_MODE 14
+#define SETUP_MODE_CHOOSE_SCROLL_DELAY 15
+#define SETUP_MODE_CHOOSE_GRAPHICS 16
+#define SETUP_MODE_CHOOSE_SOUNDS 17
+#define SETUP_MODE_CHOOSE_MUSIC 18
-#define MAX_SETUP_MODES 17
+#define MAX_SETUP_MODES 19
/* 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_2 ? (i) : \
+ (i) <= SETUP_MODE_SHORTCUTS_3 ? (i) : \
(i) >= SETUP_MODE_CHOOSE_GRAPHICS && \
(i) <= SETUP_MODE_CHOOSE_MUSIC ? \
SETUP_MODE_CHOOSE_ARTWORK : \
DrawSetupScreen();
}
+static void execSetupShortcuts()
+{
+ setup_mode = SETUP_MODE_SHORTCUTS;
+
+ DrawSetupScreen();
+}
+
static void execSetupShortcuts1()
{
setup_mode = SETUP_MODE_SHORTCUTS_1;
DrawSetupScreen();
}
+static void execSetupShortcuts3()
+{
+ setup_mode = SETUP_MODE_SHORTCUTS_3;
+
+ DrawSetupScreen();
+}
+
static void execExitSetup()
{
game_status = GAME_MODE_MAIN;
{ TYPE_ENTER_MENU, execSetupSound, "Sound & Music" },
{ TYPE_ENTER_MENU, execSetupArtwork, "Custom Artwork" },
{ TYPE_ENTER_MENU, execSetupInput, "Input Devices" },
- { TYPE_ENTER_MENU, execSetupShortcuts1, "Key Shortcuts 1" },
- { TYPE_ENTER_MENU, execSetupShortcuts2, "Key Shortcuts 2" },
+ { TYPE_ENTER_MENU, execSetupShortcuts, "Key Shortcuts" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_LEAVE_MENU, execExitSetup, "Exit" },
{ TYPE_LEAVE_MENU, execSaveAndExitSetup, "Save and Exit" },
{ 0, NULL, NULL }
};
+static struct TokenInfo setup_info_shortcuts[] =
+{
+ { TYPE_ENTER_MENU, execSetupShortcuts1, "Various Keys" },
+ { TYPE_ENTER_MENU, execSetupShortcuts2, "Player Focus" },
+ { TYPE_ENTER_MENU, execSetupShortcuts3, "Tape Buttons" },
+ { TYPE_EMPTY, NULL, "" },
+ { TYPE_LEAVE_MENU, execSetupMain, "Back" },
+
+ { 0, NULL, NULL }
+};
+
static struct TokenInfo setup_info_shortcuts_1[] =
{
{ TYPE_KEYTEXT, NULL, "Quick Save Game to Tape:", },
{ TYPE_YES_NO, &setup.ask_on_escape, "Ask on 'Esc' Key:" },
{ TYPE_YES_NO, &setup.ask_on_escape_editor, "Ask on 'Esc' Key (Editor):" },
{ TYPE_EMPTY, NULL, "" },
- { TYPE_LEAVE_MENU, execSetupMain, "Back" },
+ { TYPE_LEAVE_MENU, execSetupShortcuts, "Back" },
{ 0, NULL, NULL }
};
{ TYPE_KEYTEXT, NULL, "Set Focus to All Players:", },
{ TYPE_KEY, &setup.shortcut.focus_player_all, "" },
{ TYPE_EMPTY, NULL, "" },
- { TYPE_LEAVE_MENU, execSetupMain, "Back" },
+ { TYPE_LEAVE_MENU, execSetupShortcuts, "Back" },
+
+ { 0, NULL, NULL }
+};
+
+static struct TokenInfo setup_info_shortcuts_3[] =
+{
+ { TYPE_KEYTEXT, NULL, "Tape Eject:", },
+ { TYPE_KEY, &setup.shortcut.tape_eject, "" },
+ { TYPE_KEYTEXT, NULL, "Tape Stop:", },
+ { TYPE_KEY, &setup.shortcut.tape_stop, "" },
+ { TYPE_KEYTEXT, NULL, "Tape Pause:", },
+ { TYPE_KEY, &setup.shortcut.tape_pause, "" },
+ { TYPE_KEYTEXT, NULL, "Tape Record:", },
+ { TYPE_KEY, &setup.shortcut.tape_record, "" },
+ { TYPE_KEYTEXT, NULL, "Tape Play:", },
+ { TYPE_KEY, &setup.shortcut.tape_play, "" },
+ { TYPE_EMPTY, NULL, "" },
+ { TYPE_LEAVE_MENU, execSetupShortcuts, "Back" },
{ 0, NULL, NULL }
};
setup_info = setup_info_artwork;
title_string = "Custom Artwork";
}
+ else if (setup_mode == SETUP_MODE_SHORTCUTS)
+ {
+ setup_info = setup_info_shortcuts;
+ title_string = "Setup Shortcuts";
+ }
else if (setup_mode == SETUP_MODE_SHORTCUTS_1)
{
setup_info = setup_info_shortcuts_1;
setup_info = setup_info_shortcuts_2;
title_string = "Setup Shortcuts";
}
+ else if (setup_mode == SETUP_MODE_SHORTCUTS_3)
+ {
+ setup_info = setup_info_shortcuts_3;
+ title_string = "Setup Shortcuts";
+ }
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, title_string);