static void EnterReplayMenu(ODItem *item, int dir) { Dialog *dlg = opt.dlg; ReplaySlotInfo slot; bool have_replays = false; dlg->Clear(); sound(SND_MENU_MOVE); for(int i=0;i<MAX_REPLAYS;i++) { Replay::GetSlotInfo(i, &slot); if (slot.status != RS_UNUSED) { const char *mapname = map_get_stage_name(slot.hdr.stageno); dlg->AddItem(mapname, EnterReplaySubmenu, _upd_replay, i); have_replays = true; } } if (!have_replays) dlg->AddDismissalItem("[no replays yet]"); dlg->AddSeparator(); dlg->AddDismissalItem(); }
static void EnterMainMenu() { Dialog *dlg = opt.dlg; dlg->Clear(); dlg->AddItem("Resolution: ", _res_change, _res_get); dlg->AddItem("Controls", EnterControlsMenu); #ifndef __SDLSHIM__ dlg->AddItem("Replay", EnterReplayMenu); #endif dlg->AddSeparator(); dlg->AddItem("Enable Debug Keys", _debug_change, _debug_get); dlg->AddItem("Save Slots: ", _save_change, _save_get); dlg->AddSeparator(); dlg->AddItem("Music: ", _music_change, _music_get); dlg->AddItem("Sound: ", _sound_change, _sound_get); dlg->AddSeparator(); dlg->AddDismissalItem(); dlg->SetSelection(opt.mm_cursel); dlg->onclear = LeavingMainMenu; opt.InMainMenu = true; }
static void EnterMainMenu() { Dialog *dlg = opt.dlg; dlg->Clear(); #if !defined(IPHONE) dlg->AddItem("Resolution: ", _res_change, _res_get); dlg->AddItem("Controls", EnterControlsMenu); #endif #ifdef CONFIG_USE_TAPS dlg->AddItem("Tap controls", EnterTapControlsMenu); #endif #ifdef CONFIG_USE_VJOY dlg->AddItem("Virtual keys", EnterVjoyControlsMenu); #endif dlg->AddItem("Replay", EnterReplayMenu); dlg->AddSeparator(); dlg->AddItem("Enable Debug Keys", _debug_change, _debug_get); dlg->AddItem("Save Slots: ", _save_change, _save_get); dlg->AddSeparator(); dlg->AddItem("Music: ", _music_change, _music_get); dlg->AddItem("Sound: ", _sound_change, _sound_get); dlg->AddSeparator(); dlg->AddDismissalItem(); dlg->SetSelection(opt.mm_cursel); dlg->onclear = LeavingMainMenu; opt.InMainMenu = true; }
static void _setup_vjoy_controls_menu() { Dialog *dlg = opt.dlg; dlg->Clear(); sound(SND_MENU_MOVE); dlg->AddItem("View preset", _edit_view_preset, _get_view_preset); dlg->AddSeparator(); dlg->AddItem("Edit buttons", _enter_edit_buttons); dlg->AddSeparator(); dlg->AddItem("Keys show mode", _edit_show_mode, _get_show_mode); dlg->AddSeparator(); dlg->AddItem("Apply", _apply_preset); dlg->AddDismissalItem("Cancel"); }
static void EnterTapControlsMenu(ODItem *item, int dir) { Dialog *dlg = opt.dlg; dlg->Clear(); sound(SND_MENU_MOVE); dlg->AddItem("Tap controls", _edit_tap_control, _get_tap_control, Settings::Tap::EAll); dlg->AddSeparator(); dlg->AddItem("Movies", _edit_tap_control, _get_tap_control, Settings::Tap::EMovies); dlg->AddItem("Title", _edit_tap_control, _get_tap_control, Settings::Tap::ETitle); dlg->AddItem("Save/load", _edit_tap_control, _get_tap_control, Settings::Tap::ESaveLoad); dlg->AddItem("Dialogs", _edit_tap_control, _get_tap_control, Settings::Tap::EIngameDialog); dlg->AddItem("Inventory", _edit_tap_control, _get_tap_control, Settings::Tap::EInventory); dlg->AddItem("Pause", _edit_tap_control, _get_tap_control, Settings::Tap::EPause); dlg->AddItem("Options", _edit_tap_control, _get_tap_control, Settings::Tap::EOptions); dlg->AddItem("MapSystem", _edit_tap_control, _get_tap_control, Settings::Tap::EMapSystem); dlg->AddSeparator(); dlg->AddDismissalItem(); }
static void EnterControlsMenu(ODItem *item, int dir) { Dialog *dlg = opt.dlg; dlg->Clear(); sound(SND_MENU_MOVE); dlg->AddItem("Left", _edit_control, _upd_control, LEFTKEY); dlg->AddItem("Right", _edit_control, _upd_control, RIGHTKEY); dlg->AddItem("Up", _edit_control, _upd_control, UPKEY); dlg->AddItem("Down", _edit_control, _upd_control, DOWNKEY); dlg->AddSeparator(); dlg->AddItem("Jump", _edit_control, _upd_control, JUMPKEY); dlg->AddItem("Fire", _edit_control, _upd_control, FIREKEY); dlg->AddItem("Wpn Prev", _edit_control, _upd_control, PREVWPNKEY); dlg->AddItem("Wpn Next", _edit_control, _upd_control, NEXTWPNKEY); dlg->AddItem("Inventory", _edit_control, _upd_control, INVENTORYKEY); dlg->AddItem("Map", _edit_control, _upd_control, MAPSYSTEMKEY); dlg->AddSeparator(); dlg->AddDismissalItem(); }