summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emuopts.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emuopts.c')
-rw-r--r--src/emu/emuopts.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/emu/emuopts.c b/src/emu/emuopts.c
index 69cca4f8b87..7753b8e83ac 100644
--- a/src/emu/emuopts.c
+++ b/src/emu/emuopts.c
@@ -349,12 +349,12 @@ void emu_options::parse_standard_inis(astring &error_string)
}
// then parse the grandparent, parent, and system-specific INIs
- const game_driver *parent = driver_get_clone(cursystem);
- const game_driver *gparent = (parent != NULL) ? driver_get_clone(parent) : NULL;
- if (gparent != NULL)
- parse_one_ini(gparent->name, OPTION_PRIORITY_GPARENT_INI, &error_string);
- if (parent != NULL)
- parse_one_ini(parent->name, OPTION_PRIORITY_PARENT_INI, &error_string);
+ int parent = driver_list::clone(*cursystem);
+ int gparent = (parent != -1) ? driver_list::clone(parent) : -1;
+ if (gparent != -1)
+ parse_one_ini(driver_list::driver(gparent).name, OPTION_PRIORITY_GPARENT_INI, &error_string);
+ if (parent != -1)
+ parse_one_ini(driver_list::driver(parent).name, OPTION_PRIORITY_PARENT_INI, &error_string);
parse_one_ini(cursystem->name, OPTION_PRIORITY_DRIVER_INI, &error_string);
}
@@ -367,7 +367,8 @@ void emu_options::parse_standard_inis(astring &error_string)
const game_driver *emu_options::system() const
{
astring tempstr;
- return driver_get_name(*core_filename_extract_base(&tempstr, system_name(), TRUE));
+ int index = driver_list::find(*core_filename_extract_base(&tempstr, system_name(), TRUE));
+ return (index != -1) ? &driver_list::driver(index) : NULL;
}