X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=menu.h;h=38a034f6629b1d419dbc6b996bca5c025e184e31;hp=6cb0425635c77efd591b7604afe01bde95a82a2b;hb=e3d73d3b315e86fc321b6ef02bb7dc14742d156a;hpb=4afd7acaef531b4f9e4494eab8797bae141e3ce1 diff --git a/menu.h b/menu.h index 6cb04256..38a034f6 100644 --- a/menu.h +++ b/menu.h @@ -21,15 +21,16 @@ 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 (1 << 11) // should be enough for a menu +#include "qtypes.h" +struct serverlist_entry_s; enum m_state_e { m_none, m_main, m_demo, m_singleplayer, + m_transfusion_episode, + m_transfusion_skill, m_load, m_save, m_multiplayer, @@ -38,43 +39,66 @@ 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 int m_serverlist; extern enum m_state_e m_state; -extern char m_return_reason[32]; +extern char m_return_reason[128]; +void M_Update_Return_Reason(const char *s); /* // 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); +void M_ToggleMenu (int mode); // // menu prog menu // void MP_Init (void); -void MP_Keydown (int key); +void MP_KeyEvent (int key); void MP_Draw (void); -void MP_ToggleMenu_f (void); +void MP_ToggleMenu (int mode); void MP_Shutdown (void);*/ +qbool MP_ConsoleCommand(const char *text); + // // menu router // + +void MR_Init_Commands (void); void MR_Init (void); void MR_Restart (void); -void (*MR_Keydown) (int key, char ascii); -void (*MR_Draw) (void); -void (*MR_ToggleMenu_f) (void); -void (*MR_Shutdown) (void); +extern void (*MR_KeyEvent) (int key, int ascii, qbool downevent); +extern void (*MR_Draw) (void); +extern void (*MR_ToggleMenu) (int mode); +extern void (*MR_Shutdown) (void); +extern void (*MR_NewMap) (void); +extern int (*MR_GetServerListEntryCategory) (const struct serverlist_entry_s *entry); + +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; +extern int video_resolutions_count; +extern video_resolution_t video_resolutions_hardcoded[]; +extern int video_resolutions_hardcoded_count; #endif