From 03512841b19315532a95cadc1d6351e24a70136c Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 27 Dec 2020 22:03:09 +0000 Subject: [PATCH] Make do_difficulty_menu menu inherit from newmenu --- similar/main/menu.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/similar/main/menu.cpp b/similar/main/menu.cpp index 10b0818a0..5f8dd5bbb 100644 --- a/similar/main/menu.cpp +++ b/similar/main/menu.cpp @@ -949,16 +949,23 @@ int select_demo() static int do_difficulty_menu() { - std::array m{{ - nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_0)), - nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_1)), - nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_2)), - nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_3)), - nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_4)), - }}; - + using items_type = std::array; + struct difficulty_prompt_menu : items_type, passive_newmenu + { + difficulty_prompt_menu(const unsigned Difficulty_level) : + items_type{{ + nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_0)), + nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_1)), + nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_2)), + nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_3)), + nm_item_menu(MENU_DIFFICULTY_TEXT(Difficulty_4)), + }}, + passive_newmenu(menu_title{nullptr}, menu_subtitle{TXT_DIFFICULTY_LEVEL}, menu_filename{nullptr}, tiny_mode_flag::normal, tab_processing_flag::ignore, adjusted_citem::create(*static_cast(this), Difficulty_level), *grd_curcanv) + { + } + }; auto &Difficulty_level = GameUniqueState.Difficulty_level; - const unsigned s = newmenu_do2(menu_title{nullptr}, menu_subtitle{TXT_DIFFICULTY_LEVEL}, m, unused_newmenu_subfunction, unused_newmenu_userdata, Difficulty_level); + const unsigned s = run_blocking_newmenu(Difficulty_level); if (s <= Difficulty_4) {