X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=menu.h;h=858333412f08d2e43102adb19724548105a2506c;hb=be511c50c3e4e5fa25e56fb957690072d51314c5;hp=e45af43d3a7b2e31a4aec04df76f49c4b23a1e4d;hpb=812ff6ba44c87de88a410e493b8093033867b12c;p=xonotic%2Fdarkplaces.git diff --git a/menu.h b/menu.h index e45af43d..85833341 100644 --- a/menu.h +++ b/menu.h @@ -21,11 +21,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef MENU_H #define MENU_H +#define M_PROG_FILENAME "menu.dat" +#define M_NAME "menu" +#define M_MAX_EDICTS 32768 // hopefully won't have to increase this again anytime soon... + enum m_state_e { m_none, m_main, m_demo, m_singleplayer, + m_transfusion_episode, + m_transfusion_skill, m_load, m_save, m_multiplayer, @@ -34,24 +40,58 @@ enum m_state_e { m_video, m_keys, m_help, + m_credits, m_quit, m_lanconfig, m_gameoptions, m_slist, m_options_effects, - m_options_colorcontrol + m_options_graphics, + m_options_colorcontrol, + m_reset, + m_modlist }; extern enum m_state_e m_state; extern char m_return_reason[32]; +void M_Update_Return_Reason(char *s); -// -// menus +/* +// hard-coded menus // void M_Init (void); -void M_Keydown (int key); +void M_KeyEvent (int key); void M_Draw (void); void M_ToggleMenu_f (void); +// +// menu prog menu +// +void MP_Init (void); +void MP_KeyEvent (int key); +void MP_Draw (void); +void MP_ToggleMenu_f (void); +void MP_Shutdown (void);*/ + +// +// menu router +// +void MR_Init_Commands (void); +void MR_Init (void); +void MR_Restart (void); +extern void (*MR_KeyEvent) (int key, char ascii, qboolean downevent); +extern void (*MR_Draw) (void); +extern void (*MR_ToggleMenu_f) (void); +extern void (*MR_Shutdown) (void); + +typedef struct video_resolution_s +{ + const char *type; + int width, height; + int conwidth, conheight; + double pixelheight; // pixel aspect +} +video_resolution_t; +extern video_resolution_t video_resolutions[]; #endif