diff options
Diffstat (limited to 'src/emu/ui.c')
-rw-r--r-- | src/emu/ui.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/emu/ui.c b/src/emu/ui.c index d20ca508d08..6d024a5d12f 100644 --- a/src/emu/ui.c +++ b/src/emu/ui.c @@ -153,7 +153,7 @@ static INT32 slider_xoffset(running_machine *machine, INT32 newval, char *buffer static INT32 slider_yoffset(running_machine *machine, INT32 newval, char *buffer, int arg); static INT32 slider_flicker(running_machine *machine, INT32 newval, char *buffer, int arg); static INT32 slider_beam(running_machine *machine, INT32 newval, char *buffer, int arg); -static char *slider_get_screen_desc(int arg); +static char *slider_get_screen_desc(const device_config *screen); #ifdef MAME_DEBUG static INT32 slider_crossscale(running_machine *machine, INT32 newval, char *buffer, int arg); static INT32 slider_crossoffset(running_machine *machine, INT32 newval, char *buffer, int arg); @@ -1115,20 +1115,23 @@ int sprintf_game_info(char *buffer) for (screen = video_screen_first(Machine->config); screen != NULL; screen = video_screen_next(screen)) { - int index = device_list_index(Machine->config->devicelist, VIDEO_SCREEN, screen->tag); const screen_config *scrconfig = screen->inline_config; if (scrcount > 1) - bufptr += sprintf(bufptr, "%s: ", slider_get_screen_desc(index)); + bufptr += sprintf(bufptr, "%s: ", slider_get_screen_desc(screen)); if (scrconfig->type == SCREEN_TYPE_VECTOR) bufptr += sprintf(bufptr, "Vector\n"); else + { + const rectangle *visarea = video_screen_get_visible_area(screen); + bufptr += sprintf(bufptr, "%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n", - Machine->screen[index].visarea.max_x - Machine->screen[index].visarea.min_x + 1, - Machine->screen[index].visarea.max_y - Machine->screen[index].visarea.min_y + 1, + visarea->max_x - visarea->min_x + 1, + visarea->max_y - visarea->min_y + 1, (Machine->gamedrv->flags & ORIENTATION_SWAP_XY) ? "V" : "H", ATTOSECONDS_TO_HZ(video_screen_get_frame_period(screen).attoseconds)); + } } } @@ -1748,7 +1751,7 @@ static INT32 slider_refresh(running_machine *machine, INT32 newval, char *buffer const rectangle *visarea = video_screen_get_visible_area(screen); video_screen_configure(screen, width, height, visarea, HZ_TO_ATTOSECONDS(defrefresh + (double)newval * 0.001)); - sprintf(buffer, "%s Refresh Rate %.3ffps", slider_get_screen_desc(arg), ATTOSECONDS_TO_HZ(video_screen_get_frame_period(machine->primary_screen).attoseconds)); + sprintf(buffer, "%s Refresh Rate %.3ffps", slider_get_screen_desc(screen), ATTOSECONDS_TO_HZ(video_screen_get_frame_period(machine->primary_screen).attoseconds)); } refresh = ATTOSECONDS_TO_HZ(video_screen_get_frame_period(machine->primary_screen).attoseconds); return floor((refresh - defrefresh) * 1000.0f + 0.5f); @@ -1767,7 +1770,7 @@ static INT32 slider_brightness(running_machine *machine, INT32 newval, char *buf if (buffer != NULL) { render_container_set_brightness(container, (float)newval * 0.001f); - sprintf(buffer, "%s Brightness %.3f", slider_get_screen_desc(arg), render_container_get_brightness(container)); + sprintf(buffer, "%s Brightness %.3f", slider_get_screen_desc(screen), render_container_get_brightness(container)); } return floor(render_container_get_brightness(container) * 1000.0f + 0.5f); } @@ -1785,7 +1788,7 @@ static INT32 slider_contrast(running_machine *machine, INT32 newval, char *buffe if (buffer != NULL) { render_container_set_contrast(container, (float)newval * 0.001f); - sprintf(buffer, "%s Contrast %.3f", slider_get_screen_desc(arg), render_container_get_contrast(container)); + sprintf(buffer, "%s Contrast %.3f", slider_get_screen_desc(screen), render_container_get_contrast(container)); } return floor(render_container_get_contrast(container) * 1000.0f + 0.5f); } @@ -1802,7 +1805,7 @@ static INT32 slider_gamma(running_machine *machine, INT32 newval, char *buffer, if (buffer != NULL) { render_container_set_gamma(container, (float)newval * 0.001f); - sprintf(buffer, "%s Gamma %.3f", slider_get_screen_desc(arg), render_container_get_gamma(container)); + sprintf(buffer, "%s Gamma %.3f", slider_get_screen_desc(screen), render_container_get_gamma(container)); } return floor(render_container_get_gamma(container) * 1000.0f + 0.5f); } @@ -1820,7 +1823,7 @@ static INT32 slider_xscale(running_machine *machine, INT32 newval, char *buffer, if (buffer != NULL) { render_container_set_xscale(container, (float)newval * 0.001f); - sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(arg), "Horiz Stretch", render_container_get_xscale(container)); + sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(screen), "Horiz Stretch", render_container_get_xscale(container)); } return floor(render_container_get_xscale(container) * 1000.0f + 0.5f); } @@ -1838,7 +1841,7 @@ static INT32 slider_yscale(running_machine *machine, INT32 newval, char *buffer, if (buffer != NULL) { render_container_set_yscale(container, (float)newval * 0.001f); - sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(arg), "Vert Stretch", render_container_get_yscale(container)); + sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(screen), "Vert Stretch", render_container_get_yscale(container)); } return floor(render_container_get_yscale(container) * 1000.0f + 0.5f); } @@ -1856,7 +1859,7 @@ static INT32 slider_xoffset(running_machine *machine, INT32 newval, char *buffer if (buffer != NULL) { render_container_set_xoffset(container, (float)newval * 0.001f); - sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(arg), "Horiz Position", render_container_get_xoffset(container)); + sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(screen), "Horiz Position", render_container_get_xoffset(container)); } return floor(render_container_get_xoffset(container) * 1000.0f + 0.5f); } @@ -1874,7 +1877,7 @@ static INT32 slider_yoffset(running_machine *machine, INT32 newval, char *buffer if (buffer != NULL) { render_container_set_yoffset(container, (float)newval * 0.001f); - sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(arg), "Vert Position", render_container_get_yoffset(container)); + sprintf(buffer, "%s %s %.3f", slider_get_screen_desc(screen), "Vert Position", render_container_get_yoffset(container)); } return floor(render_container_get_yoffset(container) * 1000.0f + 0.5f); } @@ -1917,10 +1920,9 @@ static INT32 slider_beam(running_machine *machine, INT32 newval, char *buffer, i description for a given screen index -------------------------------------------------*/ -static char *slider_get_screen_desc(int arg) +static char *slider_get_screen_desc(const device_config *screen) { - const device_config *screen = device_list_find_by_index(Machine->config->devicelist, VIDEO_SCREEN, arg); - int screen_count = video_screen_count(Machine->config); + int screen_count = video_screen_count(screen->machine->config); static char descbuf[256]; if (screen_count > 1) |