summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2020-04-03 01:23:01 +0200
committer hap <happppp@users.noreply.github.com>2020-04-03 01:23:13 +0200
commit64c1136440d696e571edcff36b66a30c720e20bd (patch)
treef64b7326428694514ded2293d758e2bc686245a3
parent0e9442b958d3ca29e72b03466c71798c3a6fc508 (diff)
ui: remove clock freqs trailing 0s on machine info screen (nw)
-rw-r--r--src/frontend/mame/ui/devopt.cpp56
-rw-r--r--src/frontend/mame/ui/info.cpp41
2 files changed, 54 insertions, 43 deletions
diff --git a/src/frontend/mame/ui/devopt.cpp b/src/frontend/mame/ui/devopt.cpp
index 8dd9b9c9a9e..7e2cdc0fb2f 100644
--- a/src/frontend/mame/ui/devopt.cpp
+++ b/src/frontend/mame/ui/devopt.cpp
@@ -69,16 +69,16 @@ void menu_device_config::populate(float &customtop, float &custombottom)
count++;
}
+ int n = (clock >= 1000000) ? (clock / 1000000) : (clock / 1000);
+ int d = (clock >= 1000000) ? (clock % 1000000) : (clock % 1000);
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
+
// if more than one, prepend a #x in front of the CPU name and display clock in kHz or MHz
- util::stream_format(
- str,
- (count > 1)
- ? ((clock >= 1000000) ? _(" %1$d\xC3\x97%2$s %3$d.%4$06d\xC2\xA0MHz\n") : _(" %1$d\xC3\x97%2$s %5$d.%6$03d\xC2\xA0kHz\n"))
- : ((clock >= 1000000) ? _(" %2$s %3$d.%4$06d\xC2\xA0MHz\n") : _(" %2$s %5$d.%6$03d\xC2\xA0kHz\n")),
- count,
- name,
- clock / 1000000, clock % 1000000,
- clock / 1000, clock % 1000);
+ util::stream_format(str,
+ (count > 1) ? " %1$d" UTF8_MULTIPLY "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : " %2$s %3$d.%4$d" UTF8_NBSP "%5$s\n",
+ count, name, n, d,
+ (clock >= 1000000) ? _("MHz") : _("kHz"));
}
}
@@ -90,22 +90,23 @@ void menu_device_config::populate(float &customtop, float &custombottom)
for (screen_device &screen : scriter)
{
if (screen.screen_type() == SCREEN_TYPE_VECTOR)
- {
util::stream_format(str, _(" Screen '%1$s': Vector\n"), screen.tag());
- }
else
{
- const rectangle &visarea = screen.visible_area();
+ double f = screen.frame_period().as_hz();
+ int n = int(f), d = int(f * 1000000.0) % 1000000;
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
- util::stream_format(
- str,
+ const rectangle &visarea = screen.visible_area();
+ util::stream_format(str,
(screen.orientation() & ORIENTATION_SWAP_XY)
- ? _(" Screen '%1$s': %2$d \xC3\x97 %3$d (V) %4$f\xC2\xA0Hz\n")
- : _(" Screen '%1$s': %2$d \xC3\x97 %3$d (H) %4$f\xC2\xA0Hz\n"),
+ ? _(" Screen '%1$s': %2$d \xC3\x97 %3$d (V) %4$d.%5$d\xC2\xA0Hz\n")
+ : _(" Screen '%1$s': %2$d \xC3\x97 %3$d (H) %4$d.%5$d\xC2\xA0Hz\n"),
screen.tag(),
visarea.width(),
visarea.height(),
- screen.frame_period().as_hz());
+ n, d);
}
}
}
@@ -129,17 +130,20 @@ void menu_device_config::populate(float &customtop, float &custombottom)
if (soundtags.insert(scan.device().tag()).second)
count++;
}
- // if more than one, prepend a #x in front of the name and display clock in kHz or MHz
+
int const clock = sound.device().clock();
- util::stream_format(
- str,
+ int n = (clock >= 1000000) ? (clock / 1000000) : (clock / 1000);
+ int d = (clock >= 1000000) ? (clock % 1000000) : (clock % 1000);
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
+
+ // if more than one, prepend a #x in front of the name and display clock in kHz or MHz
+ util::stream_format(str,
(count > 1)
- ? ((clock >= 1000000) ? _(" %1$d\xC3\x97%2$s %3$d.%4$06d\xC2\xA0MHz\n") : clock ? _(" %1$d\xC3\x97%2$s %5$d.%6$03d\xC2\xA0kHz\n") : _(" %1$d\xC3\x97%2$s\n"))
- : ((clock >= 1000000) ? _(" %2$s %3$d.%4$06d\xC2\xA0MHz\n") : clock ? _(" %2$s %5$d.%6$03d\xC2\xA0kHz\n") : _(" %2$s\n")),
- count,
- sound.device().name(),
- clock / 1000000, clock % 1000000,
- clock / 1000, clock % 1000);
+ ? ((clock != 0) ? " %1$d" UTF8_MULTIPLY "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : " %1$d" UTF8_MULTIPLY "%2$s\n")
+ : ((clock != 0) ? " %2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : " %2$s\n"),
+ count, sound.device().name(), n, d,
+ (clock >= 1000000) ? _("MHz") : _("kHz"));
}
}
diff --git a/src/frontend/mame/ui/info.cpp b/src/frontend/mame/ui/info.cpp
index b528f13c95c..f8aa7b29090 100644
--- a/src/frontend/mame/ui/info.cpp
+++ b/src/frontend/mame/ui/info.cpp
@@ -325,15 +325,16 @@ std::string machine_info::game_info_string() const
count++;
}
+ int n = (clock >= 1000000) ? (clock / 1000000) : (clock / 1000);
+ int d = (clock >= 1000000) ? (clock % 1000000) : (clock % 1000);
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
+
// if more than one, prepend a #x in front of the CPU name
// display clock in kHz or MHz
util::stream_format(buf,
- (count > 1) ? "%1$d" UTF8_MULTIPLY "%2$s %3$d.%4$0*5$d%6$s\n" : "%2$s %3$d.%4$0*5$d%6$s\n",
- count,
- name,
- (clock >= 1000000) ? (clock / 1000000) : (clock / 1000),
- (clock >= 1000000) ? (clock % 1000000) : (clock % 1000),
- (clock >= 1000000) ? 6 : 3,
+ (count > 1) ? "%1$d" UTF8_MULTIPLY "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n",
+ count, name, n, d,
(clock >= 1000000) ? _("MHz") : _("kHz"));
}
@@ -360,18 +361,19 @@ std::string machine_info::game_info_string() const
count++;
}
- // if more than one, prepend a #x in front of the CPU name
- // display clock in kHz or MHz
int clock = sound.device().clock();
+ int n = (clock >= 1000000) ? (clock / 1000000) : (clock / 1000);
+ int d = (clock >= 1000000) ? (clock % 1000000) : (clock % 1000);
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
+
+ // if more than one, prepend a #x in front of the sound chip name
+ // display clock in kHz or MHz
util::stream_format(buf,
(count > 1)
- ? ((clock != 0) ? "%1$d" UTF8_MULTIPLY "%2$s %3$d.%4$0*5$d%6$s\n" : "%1$d" UTF8_MULTIPLY "%2$s\n")
- : ((clock != 0) ? "%2$s %3$d.%4$0*5$d%6$s\n" : "%2$s\n"),
- count,
- sound.device().name(),
- (clock >= 1000000) ? (clock / 1000000) : (clock / 1000),
- (clock >= 1000000) ? (clock % 1000000) : (clock % 1000),
- (clock >= 1000000) ? 6 : 3,
+ ? ((clock != 0) ? "%1$d" UTF8_MULTIPLY "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : "%1$d" UTF8_MULTIPLY "%2$s\n")
+ : ((clock != 0) ? "%2$s %3$d.%4$d" UTF8_NBSP "%5$s\n" : "%2$s\n"),
+ count, sound.device().name(), n, d,
(clock >= 1000000) ? _("MHz") : _("kHz"));
}
@@ -390,11 +392,16 @@ std::string machine_info::game_info_string() const
detail = _("Vector");
else
{
+ double f = screen.frame_period().as_hz();
+ int n = int(f), d = int(f * 1000000.0) % 1000000;
+ while (d != 0 && (d % 10) == 0)
+ d /= 10;
+
const rectangle &visarea = screen.visible_area();
- detail = string_format("%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz",
+ detail = string_format("%d " UTF8_MULTIPLY " %d (%s) %d.%d" UTF8_NBSP "Hz",
visarea.width(), visarea.height(),
(screen.orientation() & ORIENTATION_SWAP_XY) ? "V" : "H",
- screen.frame_period().as_hz());
+ n, d);
}
util::stream_format(buf,