summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/diimage.cpp
diff options
context:
space:
mode:
author npwoods <npwoods@alumni.cmu.edu>2017-06-24 22:48:56 -0400
committer Vas Crabb <cuavas@users.noreply.github.com>2017-06-25 12:48:56 +1000
commitb193e05cd7c8456a2648d43854645da84f56ddbd (patch)
tree406d4dca91e403acdcea26379bcf65e567ca4834 /src/emu/diimage.cpp
parent1b28df0b39225c3017e7bc843c14b58f548162ac (diff)
Overhaul to how MAME handles options, take two (#2341)
Diffstat (limited to 'src/emu/diimage.cpp')
-rw-r--r--src/emu/diimage.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp
index 2ef638d461a..fc321185219 100644
--- a/src/emu/diimage.cpp
+++ b/src/emu/diimage.cpp
@@ -1217,7 +1217,7 @@ void device_image_interface::reset_and_load(const std::string &path)
device().machine().schedule_hard_reset();
// and record the new load
- device().machine().options().image_options()[instance_name()] = path;
+ device().machine().options().image_option(instance_name()).specify(path);
}
@@ -1301,9 +1301,10 @@ void device_image_interface::update_names()
if (brief_name == nullptr)
brief_name = device_brieftypename(image_type());
+ m_canonical_instance_name = string_format("%s%d", inst_name, index + 1);
if (count > 1)
{
- m_instance_name = string_format("%s%d", inst_name, index + 1);
+ m_instance_name = m_canonical_instance_name;
m_brief_instance_name = string_format("%s%d", brief_name, index + 1);
}
else
@@ -1454,11 +1455,11 @@ std::string device_image_interface::software_get_default_slot(const char *defaul
{
std::string result;
- auto iter = device().mconfig().options().image_options().find(instance_name());
- if (iter != device().mconfig().options().image_options().end() && !iter->second.empty())
+ const std::string &image_name(device().mconfig().options().image_option(instance_name()).value());
+ if (!image_name.empty())
{
result.assign(default_card_slot);
- const software_part *swpart = find_software_item(iter->second, true);
+ const software_part *swpart = find_software_item(image_name, true);
if (swpart != nullptr)
{
const char *slot = swpart->feature("slot");