1 /* 2 Copyright (C) 1996-1997 Id Software, Inc. 3 4 This program is free software; you can redistribute it and/or 5 modify it under the terms of the GNU General Public License 6 as published by the Free Software Foundation; either version 2 7 of the License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13 See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19 */ 20 21 #ifndef MENU_H 22 #define MENU_H 23 24 enum m_state_e { 25 m_none, 26 m_main, 27 m_demo, 28 m_singleplayer, 29 m_transfusion_episode, 30 m_transfusion_skill, 31 m_load, 32 m_save, 33 m_multiplayer, 34 m_setup, 35 m_options, 36 m_video, 37 m_keys, 38 m_help, 39 m_credits, 40 m_quit, 41 m_lanconfig, 42 m_gameoptions, 43 m_slist, 44 m_options_effects, 45 m_options_graphics, 46 m_options_colorcontrol, 47 m_reset, 48 m_modlist 49 }; 50 51 extern enum m_state_e m_state; 52 extern char m_return_reason[128]; 53 void M_Update_Return_Reason(const char *s); 54 55 /* 56 // hard-coded menus 57 // 58 void M_Init (void); 59 void M_KeyEvent (int key); 60 void M_Draw (void); 61 void M_ToggleMenu (int mode); 62 63 // 64 // menu prog menu 65 // 66 void MP_Init (void); 67 void MP_KeyEvent (int key); 68 void MP_Draw (void); 69 void MP_ToggleMenu (int mode); 70 void MP_Shutdown (void);*/ 71 72 // 73 // menu router 74 // 75 76 void MR_Init_Commands (void); 77 void MR_Init (void); 78 void MR_Restart (void); 79 extern void (*MR_KeyEvent) (int key, int ascii, qboolean downevent); 80 extern void (*MR_Draw) (void); 81 extern void (*MR_ToggleMenu) (int mode); 82 extern void (*MR_Shutdown) (void); 83 extern void (*MR_NewMap) (void); 84 extern int (*MR_GetServerListEntryCategory) (const serverlist_entry_t *entry); 85 86 typedef struct video_resolution_s 87 { 88 const char *type; 89 int width, height; 90 int conwidth, conheight; 91 double pixelheight; ///< pixel aspect 92 } 93 video_resolution_t; 94 extern video_resolution_t *video_resolutions; 95 extern int video_resolutions_count; 96 extern video_resolution_t video_resolutions_hardcoded[]; 97 extern int video_resolutions_hardcoded_count; 98 #endif 99 100