X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=menu.h;h=73adb73887d1d88cb3320df11b3900e9eb5969ce;hb=8b04cb6b66ce0cad559895cd9f7e743194752d88;hp=8b5a34e18278d095c5a97b720d33a0347a97f766;hpb=e411cc7d14dad08cbbe27f5b3af86700f7eb5184;p=xonotic%2Fdarkplaces.git diff --git a/menu.h b/menu.h index 8b5a34e1..73adb738 100644 --- a/menu.h +++ b/menu.h @@ -8,7 +8,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -18,25 +18,69 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// -// the net drivers should just set the apropriate bits in m_activenet, -// instead of having the menu code look through their internal tables -// -#define MNET_IPX 1 -#define MNET_TCP 2 +#ifndef MENU_H +#define MENU_H + +#define M_PROG_FILENAME "menu.dat" +#define M_NAME "menu" +#define M_MAX_EDICTS (1 << 12) // should be enough for a menu -extern int m_activenet; -extern int m_return_state; -extern int m_state; -extern qboolean m_return_onerror; +enum m_state_e { + m_none, + m_main, + m_demo, + m_singleplayer, + m_transfusion_episode, + m_transfusion_skill, + m_load, + m_save, + m_multiplayer, + m_setup, + m_options, + m_video, + m_keys, + m_help, + m_credits, + m_quit, + m_lanconfig, + m_gameoptions, + m_slist, + m_options_effects, + m_options_graphics, + m_options_colorcontrol, + m_reset +}; + +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_Draw (void); void M_ToggleMenu_f (void); +// +// menu prog menu +// +void MP_Init (void); +void MP_Keydown (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_Keydown) (int key, char ascii); +extern void (*MR_Draw) (void); +extern void (*MR_ToggleMenu_f) (void); +extern void (*MR_Shutdown) (void); +#endif