Previous 15994 Revisions Next

r13402 Monday 28th November, 2011 at 10:34:45 UTC by Miodrag Milanović
Fixed issue with get_merge_name when using slot devices (no whatsnew)
[src/emu]driver.c driver.h info.c

src/emu/info.c
r13401r13402
3838***************************************************************************/
3939
4040#include "emu.h"
41#include "emuopts.h"
4142#include "machine/ram.h"
4243#include "sound/samples.h"
4344#include "info.h"
r13401r13402
12751276const char *info_xml_creator::get_merge_name(const hash_collection &romhashes)
12761277{
12771278   const char *merge_name = NULL;
1278
1279   emu_options lookup_options(m_drivlist.options());
1280   lookup_options.remove_device_options();
12791281   // walk the parent chain
12801282   for (int clone_of = m_drivlist.find(m_drivlist.driver().parent); clone_of != -1; clone_of = m_drivlist.find(m_drivlist.driver(clone_of).parent))
12811283
12821284      // look in the parent's ROMs
1283      for (const rom_source *psource = rom_first_source(m_drivlist.config(clone_of)); psource != NULL; psource = rom_next_source(*psource))
1285      for (const rom_source *psource = rom_first_source(m_drivlist.config(clone_of,lookup_options)); psource != NULL; psource = rom_next_source(*psource))
12841286         for (const rom_entry *pregion = rom_first_region(*psource); pregion != NULL; pregion = rom_next_region(pregion))
12851287            for (const rom_entry *prom = rom_first_file(pregion); prom != NULL; prom = rom_next_file(prom))
12861288            {
src/emu/driver.c
r13401r13402
209209//  driver, allocating on demand if needed
210210//-------------------------------------------------
211211
212machine_config &driver_enumerator::config(int index) const
212machine_config &driver_enumerator::config(int index, emu_options &options) const
213213{
214214   assert(index >= 0 && index < s_driver_count);
215215
r13401r13402
225225      }
226226
227227      // allocate the config and add it to the end of the list
228      machine_config *config = m_config[index] = global_alloc(machine_config(*s_drivers_sorted[index], m_options));
228      machine_config *config = m_config[index] = global_alloc(machine_config(*s_drivers_sorted[index], options));
229229      m_config_cache.append(*global_alloc(config_entry(*config, index)));
230230   }
231231   return *m_config[index];
src/emu/driver.h
r13401r13402
170170
171171   // current item
172172   const game_driver &driver() const { return driver_list::driver(m_current); }
173   machine_config &config() const { return config(m_current); }
173   machine_config &config() const { return config(m_current, m_options); }
174174   int clone() { return driver_list::clone(m_current); }
175175   int non_bios_clone() { return driver_list::non_bios_clone(m_current); }
176176   int compatible_with() { return driver_list::compatible_with(m_current); }
r13401r13402
180180   // any item by index
181181   bool included(int index) const { assert(index >= 0 && index < s_driver_count); return m_included[index]; }
182182   bool excluded(int index) const { assert(index >= 0 && index < s_driver_count); return !m_included[index]; }
183   machine_config &config(int index) const;
183   machine_config &config(int index) const { return config(index,m_options); }
184   machine_config &config(int index, emu_options &options) const;
184185   void include(int index) { assert(index >= 0 && index < s_driver_count); if (!m_included[index]) { m_included[index] = true; m_filtered_count++; }  }
185186   void exclude(int index) { assert(index >= 0 && index < s_driver_count); if (m_included[index]) { m_included[index] = false; m_filtered_count--; } }
186187   using driver_list::driver;

Previous 15994 Revisions Next


© 1998-2018 The MESS Team