/* Emacs style mode select   -*- C++ -*- */
/*-----------------------------------------------------------------------------*/

/* $Id:$*/

/* Copyright (C) 1993-1996 by id Software, Inc.*/

/* This source is available for distribution and/or modification*/
/* only under the terms of the DOOM Source Code License as*/
/* published by id Software. All rights reserved.*/

/* The source is distributed in the hope that it will be useful,*/
/* but WITHOUT ANY WARRANTY; without even the implied warranty of*/
/* FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License*/
/* for more details.*/

/* DESCRIPTION:*/
/*   Menu widget stuff, episode selection and such.*/

/*-----------------------------------------------------------------------------*/


#ifndef __M_MENU__
#define __M_MENU__



#include "d_event.h"


/* MENUS*/

/* Called by main loop,*/
/* saves config file and calls I_Quit when user exits.*/
/* Even when the menu is not displayed,*/
/* this can resize the view and change game parameters.*/
/* Does all the real work of the menu interaction.*/
boolean M_Responder (const event_t *ev);


/* Called by main loop,*/
/* only used for menu (skull cursor) animation.*/
void M_Ticker (void);

/* Called by main loop,*/
/* draws the menus directly into the screen buffer.*/
void M_Drawer (void);

/* Called by D_DoomMain,*/
/* loads the config file.*/
void M_Init (void);

/* Called by intro code to force menu up upon a keypress,*/
/* does nothing if menu is already up.*/
void M_StartControlPanel (void);


extern boolean	inhelpscreens;
extern int	showMessages;
extern int	mouseSensitivity;
extern int	detailLevel;
extern int	screenblocks;
extern boolean	screenshotPending;

#ifndef STATIC_RESOLUTION
void M_initForResolution(void);
#endif

void M_InitMenuData(void);


#endif
/*-----------------------------------------------------------------------------*/

/* $Log:$*/

/*-----------------------------------------------------------------------------*/
