Make main multiplayer menu inherit from newmenu
This commit is contained in:
parent
131e5a257e
commit
6cca4ab2ce
|
@ -145,13 +145,13 @@ enum class netgame_menu_item_index
|
||||||
join_multiplayer_game,
|
join_multiplayer_game,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct netgame_menu
|
struct netgame_menu_items
|
||||||
{
|
{
|
||||||
enumerated_array<newmenu_item, 3, netgame_menu_item_index> m;
|
enumerated_array<newmenu_item, 3, netgame_menu_item_index> m;
|
||||||
netgame_menu();
|
netgame_menu_items();
|
||||||
};
|
};
|
||||||
|
|
||||||
netgame_menu::netgame_menu()
|
netgame_menu_items::netgame_menu_items()
|
||||||
{
|
{
|
||||||
nm_set_item_menu(m[netgame_menu_item_index::start_new_multiplayer_game], "HOST GAME");
|
nm_set_item_menu(m[netgame_menu_item_index::start_new_multiplayer_game], "HOST GAME");
|
||||||
#if DXX_USE_TRACKER
|
#if DXX_USE_TRACKER
|
||||||
|
@ -294,6 +294,17 @@ int select_demo();
|
||||||
static void do_multi_player_menu();
|
static void do_multi_player_menu();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if DXX_USE_UDP
|
||||||
|
struct netgame_menu : netgame_menu_items, newmenu
|
||||||
|
{
|
||||||
|
netgame_menu(grs_canvas &src) :
|
||||||
|
newmenu(menu_title{nullptr}, menu_subtitle{TXT_MULTIPLAYER}, menu_filename{nullptr}, tiny_mode_flag::normal, tab_processing_flag::ignore, adjusted_citem::create(m, 0), src)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
virtual int subfunction_handler(const d_event &event) override;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2416,7 +2427,7 @@ void gameplay_config()
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DXX_USE_UDP
|
#if DXX_USE_UDP
|
||||||
static int multi_player_menu_handler(newmenu *, const d_event &event, netgame_menu *nm)
|
int netgame_menu::subfunction_handler(const d_event &event)
|
||||||
{
|
{
|
||||||
switch (event.type)
|
switch (event.type)
|
||||||
{
|
{
|
||||||
|
@ -2426,22 +2437,16 @@ static int multi_player_menu_handler(newmenu *, const d_event &event, netgame_me
|
||||||
// stay in multiplayer menu, even after having played a game
|
// stay in multiplayer menu, even after having played a game
|
||||||
return dispatch_menu_option(static_cast<netgame_menu_item_index>(citem));
|
return dispatch_menu_option(static_cast<netgame_menu_item_index>(citem));
|
||||||
}
|
}
|
||||||
|
|
||||||
case EVENT_WINDOW_CLOSE:
|
|
||||||
std::default_delete<netgame_menu>()(nm);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_multi_player_menu()
|
void do_multi_player_menu()
|
||||||
{
|
{
|
||||||
netgame_menu *nm = new netgame_menu;
|
auto menu = window_create<netgame_menu>(grd_curscreen->sc_canvas);
|
||||||
newmenu_do3(menu_title{nullptr}, menu_subtitle{TXT_MULTIPLAYER}, nm->m, multi_player_menu_handler, nm, 0, menu_filename{nullptr});
|
(void)menu;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue