diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/emuopts.cpp | 2 | ||||
-rw-r--r-- | src/emu/ui/inifile.cpp | 6 | ||||
-rw-r--r-- | src/emu/ui/inifile.h | 2 | ||||
-rw-r--r-- | src/emu/ui/miscmenu.cpp | 4 | ||||
-rw-r--r-- | src/emu/ui/optsmenu.cpp | 12 | ||||
-rw-r--r-- | src/emu/ui/utils.h | 2 |
6 files changed, 24 insertions, 4 deletions
diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp index d23a03ac479..451b4a68e2b 100644 --- a/src/emu/emuopts.cpp +++ b/src/emu/emuopts.cpp @@ -580,7 +580,7 @@ void emu_options::set_system_name(const char *name) if (*software_name() != 0) { std::string sw_load(software_name()); - std::string sw_list, sw_name, sw_part, sw_instance, option_errors, error_string; + std::string sw_list, sw_name, sw_part, sw_instance, error_string; int left = sw_load.find_first_of(':'); int middle = sw_load.find_first_of(':', left + 1); int right = sw_load.find_last_of(':'); diff --git a/src/emu/ui/inifile.cpp b/src/emu/ui/inifile.cpp index 3324d56363e..1946baaed59 100644 --- a/src/emu/ui/inifile.cpp +++ b/src/emu/ui/inifile.cpp @@ -60,6 +60,9 @@ void inifile_manager::directory_scan() } } } + + // sort + std::stable_sort(ini_index.begin(), ini_index.end()); } //------------------------------------------------- @@ -85,6 +88,9 @@ void inifile_manager::init_category(std::string &filename) } } + // sort + std::stable_sort(index.begin(), index.end()); + if (!index.empty()) ini_index.emplace_back(filename, index); } diff --git a/src/emu/ui/inifile.h b/src/emu/ui/inifile.h index c16617b25f1..f9e5c096539 100644 --- a/src/emu/ui/inifile.h +++ b/src/emu/ui/inifile.h @@ -30,7 +30,7 @@ public: std::string get_file(int file = -1) { return ((file == -1) ? ini_index[c_file].first : ini_index[file].first); } std::string get_category(int cat = -1) { return ((cat == -1) ? ini_index[c_file].second[c_cat].first : ini_index[c_file].second[cat].first); } size_t total() { return ini_index.size(); } - size_t cat_total() { return ini_index[c_file].second.size(); } + size_t cat_total(int cat = -1) { return ((cat == -1) ? ini_index[c_file].second.size() : ini_index[cat].second.size()); } UINT16 &cur_file() { return c_file; } UINT16 &cur_cat() { return c_cat; } diff --git a/src/emu/ui/miscmenu.cpp b/src/emu/ui/miscmenu.cpp index 75ffd0a7645..8d4ea6f4f48 100644 --- a/src/emu/ui/miscmenu.cpp +++ b/src/emu/ui/miscmenu.cpp @@ -773,12 +773,14 @@ void ui_menu_machine_configure::handle() void ui_menu_machine_configure::populate() { // add options items + item_append(_("Bios"), nullptr, MENU_FLAG_DISABLE | MENU_FLAG_UI_HEADING, nullptr); if (!m_bios.empty()) { - item_append(_("Bios"), nullptr, MENU_FLAG_DISABLE | MENU_FLAG_UI_HEADING, nullptr); UINT32 arrows = get_arrow_flags(0, m_bios.size() - 1, m_curbios); item_append(_("Driver"), m_bios[m_curbios].first.c_str(), arrows, (void *)(FPTR)BIOS); } + else + item_append(_("This machine has no bios."), nullptr, MENU_FLAG_DISABLE, nullptr); item_append(ui_menu_item_type::SEPARATOR); item_append(_(advanced_submenu_options[0].description), nullptr, 0, (void *)(FPTR)ADVANCED); diff --git a/src/emu/ui/optsmenu.cpp b/src/emu/ui/optsmenu.cpp index ffe9d2fddd3..ce84df18f67 100644 --- a/src/emu/ui/optsmenu.cpp +++ b/src/emu/ui/optsmenu.cpp @@ -161,15 +161,24 @@ void ui_menu_game_options::handle() break; case MISC_MENU: if (m_event->iptkey == IPT_UI_SELECT) + { ui_menu::stack_push(global_alloc_clear<ui_submenu>(machine(), container, misc_submenu_options)); + ui_globals::reset = true; + } break; case SOUND_MENU: if (m_event->iptkey == IPT_UI_SELECT) + { ui_menu::stack_push(global_alloc_clear<ui_menu_sound_options>(machine(), container)); + ui_globals::reset = true; + } break; case DISPLAY_MENU: if (m_event->iptkey == IPT_UI_SELECT) + { ui_menu::stack_push(global_alloc_clear<ui_submenu>(machine(), container, video_submenu_options)); + ui_globals::reset = true; + } break; case CUSTOM_MENU: if (m_event->iptkey == IPT_UI_SELECT) @@ -189,7 +198,10 @@ void ui_menu_game_options::handle() break; case ADVANCED_MENU: if (m_event->iptkey == IPT_UI_SELECT) + { ui_menu::stack_push(global_alloc_clear<ui_submenu>(machine(), container, advanced_submenu_options)); + ui_globals::reset = true; + } break; case SAVE_CONFIG: if (m_event->iptkey == IPT_UI_SELECT) diff --git a/src/emu/ui/utils.h b/src/emu/ui/utils.h index 519f74e667b..0e2ff2354b3 100644 --- a/src/emu/ui/utils.h +++ b/src/emu/ui/utils.h @@ -159,7 +159,7 @@ struct ui_software_info std::string publisher; UINT8 supported = 0; std::string part; - const game_driver *driver; + const game_driver *driver = nullptr; std::string listname; std::string interface; std::string instance; |