diff options
author | 2008-03-11 16:16:30 +0000 | |
---|---|---|
committer | 2008-03-11 16:16:30 +0000 | |
commit | 86b798b37a6cbdb875df3dae4a2d0c3256951d32 (patch) | |
tree | 6635a7a0c49eda53647faf835f7897377fb4e995 /src/emu/render.c | |
parent | 706d9f408f97c9b428b7e263b643505dbeaf1623 (diff) |
- More machine->screen removal
- Hooked up swapped videoram in Karnov properly -- same idea as Burger Time
Diffstat (limited to 'src/emu/render.c')
-rw-r--r-- | src/emu/render.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/emu/render.c b/src/emu/render.c index a72358df5f3..0018b2fc073 100644 --- a/src/emu/render.c +++ b/src/emu/render.c @@ -898,20 +898,31 @@ void render_set_rescale_notify(running_machine *machine, int (*notifier)(running /*------------------------------------------------- - render_get_live_screens_mask - return a - bitmask indicating the live screens + render_is_live_screen - return if the screen + is 'live' -------------------------------------------------*/ -UINT32 render_get_live_screens_mask(void) +int render_is_live_screen(const device_config *screen) { render_target *target; + int screen_index; UINT32 bitmask = 0; + assert(screen != NULL); + assert(screen->machine != NULL); + assert(screen->machine->config != NULL); + assert(screen->machine->config->devicelist != NULL); + assert(screen->tag != NULL); + + screen_index = device_list_index(screen->machine->config->devicelist, VIDEO_SCREEN, screen->tag); + + assert(screen_index != -1); + /* iterate over all live targets and or together their screen masks */ for (target = targetlist; target != NULL; target = target->next) bitmask |= target->curview->screens; - return bitmask; + return (bitmask & (1 << screen_index)) ? TRUE : FALSE; } |