/* ============= OpenMenuFromMain ============= */ void OpenMenuFromMain (void) { switch (m_main_cursor) { case 0: M_Menu_Game_f (); break; case 1: M_Menu_Multiplayer_f(); break; case 2: M_Menu_Options_f (); break; case 3: M_Menu_Video_f (); break; case 4: M_Menu_Quit_f (); break; } }
static void MainMenu_Callback( void *self ) { int index; menubitmap_s *b; b = (menubitmap_s *)self; index = b - m_main.bitmaps; switch( index ) { case 0: M_Menu_Game_f(); break; case 1: M_Menu_Multiplayer_f(); break; case 2: M_Menu_Options_f(); break; case 3: M_Menu_Video_f(); break; case 4: M_Menu_Quit_f(); break; } }
static void VR_MenuKey(int key) { switch ( key ) { case K_ESCAPE: VID_SyncCvars(); // sync cvars before leaving menu. FIXME: there are other ways to leave menu S_LocalSound( "misc/menu1.wav" ); M_Menu_Options_f(); break; case K_UPARROW: S_LocalSound( "misc/menu1.wav" ); vr_options_cursor--; if ( vr_options_cursor < 0 ) { vr_options_cursor = VR_OPTION_MAX - 1; } break; case K_DOWNARROW: S_LocalSound( "misc/menu1.wav" ); vr_options_cursor++; if ( vr_options_cursor >= VR_OPTION_MAX ) { vr_options_cursor = 0; } break; case K_LEFTARROW: S_LocalSound ("misc/menu3.wav"); VR_MenuKeyOption( key, vr_options_cursor ); break; case K_RIGHTARROW: S_LocalSound ("misc/menu3.wav"); VR_MenuKeyOption( key, vr_options_cursor ); break; case K_ENTER: m_entersound = true; VR_MenuKeyOption( key, vr_options_cursor ); break; default: break; } }
/* ================ VID_MenuKey ================ */ static void VID_MenuKey (int key) { switch (key) { case K_ESCAPE: VID_SyncCvars (); //sync cvars before leaving menu. FIXME: there are other ways to leave menu S_LocalSound ("misc/menu1.wav"); M_Menu_Options_f (); break; case K_UPARROW: S_LocalSound ("misc/menu1.wav"); video_options_cursor--; if (video_options_cursor < 0) video_options_cursor = VIDEO_OPTIONS_ITEMS-1; break; case K_DOWNARROW: S_LocalSound ("misc/menu1.wav"); video_options_cursor++; if (video_options_cursor >= VIDEO_OPTIONS_ITEMS) video_options_cursor = 0; break; case K_LEFTARROW: S_LocalSound ("misc/menu3.wav"); switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); // kristian break; default: break; } break; case K_RIGHTARROW: S_LocalSound ("misc/menu3.wav"); switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (-1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (-1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); break; default: break; } break; case K_ENTER: m_entersound = true; switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); break; case VID_OPT_TEST: Cbuf_AddText ("vid_test\n"); break; case VID_OPT_APPLY: Cbuf_AddText ("vid_restart\n"); key_dest = key_game; m_state = m_none; IN_Activate(); break; default: break; } break; default: break; } }
/* ================ VID_MenuKey ================ */ void VID_MenuKey (int key) { if (vid_testingmode) return; switch (key) { case K_ESCAPE: S_LocalSound ("misc/menu1.wav"); M_Menu_Options_f (); break; case K_UPARROW: S_LocalSound ("misc/menu1.wav"); vid_line--; if (vid_line < 0) vid_line = vid_wmodes - 1; break; case K_DOWNARROW: S_LocalSound ("misc/menu1.wav"); vid_line++; if (vid_line >= vid_wmodes) vid_line = 0; break; case K_LEFTARROW: S_LocalSound ("misc/menu1.wav"); vid_line -= vid_column_size; if (vid_line < 0) { vid_line += ((vid_wmodes + (vid_column_size - 1)) / vid_column_size) * vid_column_size; while (vid_line >= vid_wmodes) vid_line -= vid_column_size; } break; case K_RIGHTARROW: S_LocalSound ("misc/menu1.wav"); vid_line += vid_column_size; if (vid_line >= vid_wmodes) { vid_line -= ((vid_wmodes + (vid_column_size - 1)) / vid_column_size) * vid_column_size; while (vid_line < 0) vid_line += vid_column_size; } break; case K_ENTER: S_LocalSound ("misc/menu1.wav"); VID_SetMode (modedescs[vid_line].modenum, vid_current_palette); break; case 'T': case 't': S_LocalSound ("misc/menu1.wav"); if (VID_SetMode (modedescs[vid_line].modenum, vid_current_palette)) { vid_testingmode = 1; vid_testendtime = realtime + 5.0; } break; case 'D': case 'd': S_LocalSound ("misc/menu1.wav"); firstupdate = 0; Cvar_SetValue (_vid_default_mode, vid_modenum); break; default: break; } }
/* ================ VID_MenuKey ================ */ static void VID_MenuKey (int key) { switch (key) { case K_ESCAPE: vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; M_Menu_Options_f (); return; case K_ENTER: switch (vid_cursor) { case VID_RESET: vid_menu_fs = (modestate != MS_WINDOWED); vid_menunum = vid_modenum; vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; case VID_APPLY: if (need_apply) { Cvar_SetValue("vid_mode", vid_menunum); Cvar_SetValue("vid_config_fscr", vid_menu_fs); VID_Restart_f(); } vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; } return; case K_LEFTARROW: switch (vid_cursor) { case VID_FULLSCREEN: vid_menu_fs = !vid_menu_fs; if (fs_toggle_works) VID_ToggleFullscreen(); break; case VID_RESOLUTION: S_LocalSound ("raven/menu1.wav"); vid_menunum--; if (vid_menunum < 0) vid_menunum = 0; break; } return; case K_RIGHTARROW: switch (vid_cursor) { case VID_FULLSCREEN: vid_menu_fs = !vid_menu_fs; if (fs_toggle_works) VID_ToggleFullscreen(); break; case VID_RESOLUTION: S_LocalSound ("raven/menu1.wav"); vid_menunum++; if (vid_menunum >= *nummodes) vid_menunum = *nummodes - 1; break; } return; case K_UPARROW: S_LocalSound ("raven/menu1.wav"); vid_cursor--; if (vid_cursor < 0) { vid_cursor = (need_apply) ? VID_ITEMS-1 : VID_BLANKLINE-1; } else if (vid_cursor == VID_BLANKLINE) { vid_cursor--; } break; case K_DOWNARROW: S_LocalSound ("raven/menu1.wav"); vid_cursor++; if (vid_cursor >= VID_ITEMS) { vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; } if (vid_cursor >= VID_BLANKLINE) { if (need_apply) { if (vid_cursor == VID_BLANKLINE) vid_cursor++; } else { vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; } } break; default: return; } }
/* ============= M_Main_Key ============= */ const char *M_Main_Key (int32_t key) { const char *sound = menu_move_sound; switch (key) { case K_GAMEPAD_B: case K_GAMEPAD_BACK: case K_GAMEPAD_START: case K_ESCAPE: #ifdef ERASER_COMPAT_BUILD // special hack for Eraser build if (cls.state == ca_disconnected) M_Menu_Quit_f (); else UI_PopMenu (); #else // can't exit menu if disconnected, // so restart demo loop if (cls.state == ca_disconnected) Cbuf_AddText ("d1\n"); UI_PopMenu (); #endif break; case K_GAMEPAD_DOWN: case K_GAMEPAD_LSTICK_DOWN: case K_GAMEPAD_RSTICK_DOWN: case K_KP_DOWNARROW: case K_DOWNARROW: if (++m_main_cursor >= MAIN_ITEMS) m_main_cursor = 0; return sound; case K_GAMEPAD_UP: case K_GAMEPAD_LSTICK_UP: case K_GAMEPAD_RSTICK_UP: case K_KP_UPARROW: case K_UPARROW: if (--m_main_cursor < 0) m_main_cursor = MAIN_ITEMS - 1; return sound; case K_GAMEPAD_A: case K_KP_ENTER: case K_ENTER: m_entersound = true; switch (m_main_cursor) { case 0: M_Menu_Game_f (); break; case 1: M_Menu_Multiplayer_f(); break; case 2: M_Menu_Options_f (); break; case 3: M_Menu_Video_f (); break; case 4: M_Menu_Quit_f (); break; } } return NULL; }
void VID_MenuKey( int key ) { M_Menu_Options_f (); }