summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/ui.c')
-rw-r--r--src/emu/ui.c34
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)