summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/render.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2011-04-27 05:11:18 +0000
committer Aaron Giles <aaron@aarongiles.com>2011-04-27 05:11:18 +0000
commit919913f118760c0ca41ab63512bd5c106f6fd840 (patch)
treecd6c115c8e9c5280ac4bd16eabfe69c7341151c2 /src/emu/render.c
parent84f2c31f7d6f6c667427b1d60c83e6dc9f420d60 (diff)
Collapsed device_config and device_t into one class. Updated all
existing modern devices and the legacy wrappers to work in this environment. This in general greatly simplifies writing a modern device. [Aaron Giles] General notes: * some more cleanup probably needs to happen behind this change, but I needed to get it in before the next device modernization or import from MESS :) * new template function device_creator which automatically defines the static function that creates the device; use this instead of creating a static_alloc_device_config function * added device_stop() method which is called at around the time the previous device_t's destructor was called; if you auto_free anything, do it here because the machine is gone when the destructor is called * changed the static_set_* calls to pass a device_t & instead of a device_config * * for many devices, the static config structure member names over- lapped the device's names for devcb_* functions; in these cases the members in the interface were renamed to have a _cb suffix * changed the driver_enumerator to only cache 100 machine_configs because caching them all took a ton of memory; fortunately this implementation detail is completely hidden behind the driver_enumerator interface * got rid of the macros for creating derived classes; doing it manually is now clean enough that it isn't worth hiding the details in a macro
Diffstat (limited to 'src/emu/render.c')
-rw-r--r--src/emu/render.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/render.c b/src/emu/render.c
index dd3291466c9..d6e8c2d875f 100644
--- a/src/emu/render.c
+++ b/src/emu/render.c
@@ -1199,7 +1199,7 @@ int render_target::configured_view(const char *viewname, int targetindex, int nu
}
// if we don't have a match, default to the nth view
- int scrcount = m_manager.machine().m_devicelist.count(SCREEN);
+ int scrcount = m_manager.machine().devicelist().count(SCREEN);
if (view == NULL && scrcount > 0)
{
// if we have enough targets to be one per screen, assign in order
@@ -1334,7 +1334,7 @@ void render_target::compute_minimum_size(INT32 &minwidth, INT32 &minheight)
int screens_considered = 0;
// early exit in case we are called between device teardown and render teardown
- if (m_manager.machine().m_devicelist.count() == 0)
+ if (m_manager.machine().devicelist().count() == 0)
{
minwidth = 640;
minheight = 480;
@@ -1651,7 +1651,7 @@ void render_target::load_layout_files(const char *layoutfile, bool singlefile)
load_layout_file(driver_list::driver(cloneof).name, "default");
// now do the built-in layouts for single-screen games
- if (m_manager.machine().m_devicelist.count(SCREEN) == 1)
+ if (m_manager.machine().devicelist().count(SCREEN) == 1)
{
if (system.flags & ORIENTATION_SWAP_XY)
load_layout_file(NULL, layout_vertical);