static int NehGameType;
enum m_state_e m_state;
-char m_return_reason[32];
+char m_return_reason[128];
void M_Menu_Main_f (void);
void M_Menu_SinglePlayer_f (void);
#define NUMKEYS 5
-void M_FindKeysForCommand (const char *command, int *keys)
-{
- int count;
- int j;
- char *b;
-
- for (j = 0;j < NUMKEYS;j++)
- keys[j] = -1;
-
- count = 0;
-
- for (j = 0; j < (int)sizeof (keybindings[0]) / (int)sizeof (keybindings[0][0]); j++)
- {
- b = keybindings[0][j];
- if (!b)
- continue;
- if (!strcmp (b, command) )
- {
- keys[count++] = j;
- if (count == NUMKEYS)
- break;
- }
- }
-}
-
static void M_UnbindCommand (char *command)
{
int j;
else
M_Print(16, y, bindnames[i][1]);
- M_FindKeysForCommand (bindnames[i][0], keys);
+ Key_FindKeysForCommand (bindnames[i][0], keys, NUMKEYS, 0);
// LordHavoc: redesigned to print more than 2 keys, inspired by Tomaz's MiniRacer
if (keys[0] == -1)
break;
case K_ENTER: // go into bind mode
- M_FindKeysForCommand (bindnames[keys_cursor][0], keys);
+ Key_FindKeysForCommand (bindnames[keys_cursor][0], keys, NUMKEYS, 0);
S_LocalSound ("sound/misc/menu2.wav");
if (keys[NUMKEYS - 1] != -1)
M_UnbindCommand (bindnames[keys_cursor][0]);
}
+void M_NewMap(void)
+{
+}
+
void M_Shutdown(void)
{
// reset key_dest
PRVM_End;
}
+void MP_NewMap(void)
+{
+ PRVM_Begin;
+ PRVM_SetProg(PRVM_MENUPROG);
+ if (prog->funcoffsets.m_newmap)
+ PRVM_ExecuteProgram(prog->funcoffsets.m_newmap,"m_newmap() required");
+ PRVM_End;
+}
+
void MP_Shutdown (void)
{
PRVM_Begin;
void (*MR_Draw) (void);
void (*MR_ToggleMenu) (int mode);
void (*MR_Shutdown) (void);
+void (*MR_NewMap) (void);
void MR_SetRouting(qboolean forceold)
{
MR_Draw = M_Draw;
MR_ToggleMenu = M_ToggleMenu;
MR_Shutdown = M_Shutdown;
+ MR_NewMap = M_NewMap;
// init
if(!m_init)
MR_Draw = MP_Draw;
MR_ToggleMenu = MP_ToggleMenu;
MR_Shutdown = MP_Shutdown;
+ MR_NewMap = MP_NewMap;
if(!mp_init)
{