summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/ui/menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/ui/menu.cpp')
-rw-r--r--src/emu/ui/menu.cpp65
1 files changed, 46 insertions, 19 deletions
diff --git a/src/emu/ui/menu.cpp b/src/emu/ui/menu.cpp
index 4682a4fc203..cee5d132eb1 100644
--- a/src/emu/ui/menu.cpp
+++ b/src/emu/ui/menu.cpp
@@ -35,27 +35,28 @@
struct ui_arts_info
{
- const char *title, *path, *addpath;
+ const char *title, *path;
};
static const ui_arts_info arts_info[] =
{
- { __("Snapshots"), OPTION_SNAPSHOT_DIRECTORY, "snap" },
- { __("Cabinets"), OPTION_CABINETS_PATH, "cabinets;cabdevs" },
- { __("Control Panels"), OPTION_CPANELS_PATH, "cpanel" },
- { __("PCBs"), OPTION_PCBS_PATH, "pcb" },
- { __("Flyers"), OPTION_FLYERS_PATH, "flyers" },
- { __("Titles"), OPTION_TITLES_PATH, "titles" },
- { __("Ends"), OPTION_ENDS_PATH, "ends" },
- { __("Artwork Preview"), OPTION_ARTPREV_PATH, "artwork preview" },
- { __("Bosses"), OPTION_BOSSES_PATH, "bosses" },
- { __("Logos"), OPTION_LOGOS_PATH, "logo" },
- { __("Versus"), OPTION_VERSUS_PATH, "versus" },
- { __("Game Over"), OPTION_GAMEOVER_PATH, "gameover" },
- { __("HowTo"), OPTION_HOWTO_PATH, "howto" },
- { __("Scores"), OPTION_SCORES_PATH, "scores" },
- { __("Select"), OPTION_SELECT_PATH, "select" },
- { __("Marquees"), OPTION_MARQUEES_PATH, "marquees" },
+ { __("Snapshots"), OPTION_SNAPSHOT_DIRECTORY },
+ { __("Cabinets"), OPTION_CABINETS_PATH },
+ { __("Control Panels"), OPTION_CPANELS_PATH },
+ { __("PCBs"), OPTION_PCBS_PATH },
+ { __("Flyers"), OPTION_FLYERS_PATH },
+ { __("Titles"), OPTION_TITLES_PATH },
+ { __("Ends"), OPTION_ENDS_PATH },
+ { __("Artwork Preview"), OPTION_ARTPREV_PATH },
+ { __("Bosses"), OPTION_BOSSES_PATH },
+ { __("Logos"), OPTION_LOGOS_PATH },
+ { __("Versus"), OPTION_VERSUS_PATH },
+ { __("Game Over"), OPTION_GAMEOVER_PATH },
+ { __("HowTo"), OPTION_HOWTO_PATH },
+ { __("Scores"), OPTION_SCORES_PATH },
+ { __("Select"), OPTION_SELECT_PATH },
+ { __("Marquees"), OPTION_MARQUEES_PATH },
+ { __("Covers"), OPTION_COVER_PATH },
{ nullptr }
};
@@ -1653,9 +1654,35 @@ void ui_menu::get_title_search(std::string &snaptext, std::string &searchstr)
std::string tmp(searchstr);
path_iterator path(tmp.c_str());
- std::string curpath;
+ std::string curpath, addpath;
- path_iterator path_iter(arts_info[ui_globals::curimage_view].addpath);
+ if (ui_globals::curimage_view != SNAPSHOT_VIEW)
+ {
+ ui_options moptions;
+ for (ui_options::entry *f_entry = moptions.first(); f_entry != nullptr; f_entry = f_entry->next())
+ {
+ const char *name = f_entry->name();
+ if (name && strlen(name) && !strcmp(arts_info[ui_globals::curimage_view].path, f_entry->name()))
+ {
+ addpath = f_entry->default_value();
+ break;
+ }
+ }
+ }
+ else
+ {
+ emu_options moptions;
+ for (emu_options::entry *f_entry = moptions.first(); f_entry != nullptr; f_entry = f_entry->next())
+ {
+ const char *name = f_entry->name();
+ if (name && strlen(name) && !strcmp(arts_info[ui_globals::curimage_view].path, f_entry->name()))
+ {
+ addpath = f_entry->default_value();
+ break;
+ }
+ }
+ }
+ path_iterator path_iter(addpath.c_str());
std::string c_path;
// iterate over path and add path for zipped formats