diff --git a/common/main/newmenu.h b/common/main/newmenu.h index d109d9aca..4effb5854 100644 --- a/common/main/newmenu.h +++ b/common/main/newmenu.h @@ -358,20 +358,6 @@ enum class mission_filter_mode } namespace dsx { -newmenu *newmenu_do4(menu_title title, menu_subtitle subtitle, partial_range_t items, newmenu_subfunction subfunction, void *userdata, int citem, menu_filename filename, tiny_mode_flag TinyMode = tiny_mode_flag::normal, tab_processing_flag TabsFlag = tab_processing_flag::ignore); - -// Same as above, but returns menu instead of citem -template -static newmenu *newmenu_do3(const menu_title title, const menu_subtitle subtitle, partial_range_t items, const newmenu_subfunction_t subfunction, T *const userdata, const int citem, const menu_filename filename) -{ - return newmenu_do4(title, subtitle, std::move(items), reinterpret_cast(subfunction), static_cast(userdata), citem, filename); -} - -template -static newmenu *newmenu_do3(const menu_title title, const menu_subtitle subtitle, partial_range_t items, const newmenu_subfunction_t subfunction, const T *const userdata, const int citem, const menu_filename filename) -{ - return newmenu_do4(title, subtitle, std::move(items), reinterpret_cast(subfunction), static_cast(const_cast(userdata)), citem, filename); -} //Handles creating and selecting from the mission list. //Returns 1 if a mission was loaded. diff --git a/similar/main/newmenu.cpp b/similar/main/newmenu.cpp index 36f65d2e2..3bc39c26c 100644 --- a/similar/main/newmenu.cpp +++ b/similar/main/newmenu.cpp @@ -195,6 +195,8 @@ namespace dsx { namespace { +newmenu *newmenu_do4(menu_title title, menu_subtitle subtitle, partial_range_t items, newmenu_subfunction subfunction, void *userdata, int citem, menu_filename filename, tiny_mode_flag TinyMode = tiny_mode_flag::normal, tab_processing_flag TabsFlag = tab_processing_flag::ignore); + #if defined(DXX_BUILD_DESCENT_I) static const char *UP_ARROW_MARKER(const grs_font &, const grs_font &) { @@ -543,7 +545,7 @@ int newmenu_do2(const menu_title title, const menu_subtitle subtitle, const part bool exists = true; int rval = -1; - menu = newmenu_do3(title, subtitle, items, subfunction, userdata, citem, filename); + menu = newmenu_do4(title, subtitle, items, subfunction, userdata, citem, filename); if (!menu) return -1; @@ -1623,6 +1625,8 @@ window_event_result newmenu::event_handler(const d_event &event) namespace dsx { +namespace { + newmenu *newmenu_do4(const menu_title title, const menu_subtitle subtitle, const partial_range_t items, const newmenu_subfunction subfunction, void *const userdata, const int citem, const menu_filename filename, const tiny_mode_flag TinyMode, const tab_processing_flag TabsFlag) { if (items.size() < 1) @@ -1636,6 +1640,8 @@ newmenu *newmenu_do4(const menu_title title, const menu_subtitle subtitle, const // Create the basic window return menu; } + +} } int (vnm_messagebox_aN)(const menu_title title, const nm_messagebox_tie &tie, const char *format, ...)