FullscreenUI: Tweak separator style

pull/3799/head
Stenzek 1 week ago
parent 8c6ff3bfc7
commit b5f0fb9c36
No known key found for this signature in database

@ -2541,7 +2541,7 @@ void FullscreenUI::DrawAchievement(const rc_client_achievement_t* cheevo, const
// unofficial can't be unlocked so don't show the percentage // unofficial can't be unlocked so don't show the percentage
if (!is_unofficial) if (!is_unofficial)
{ {
text.append(" | "); text.append(" \u2022 ");
text.append_format(TRANSLATE_FS("Achievements", "{:.1f}% of players have this achievement"), rarity_to_display); text.append_format(TRANSLATE_FS("Achievements", "{:.1f}% of players have this achievement"), rarity_to_display);
} }

@ -475,9 +475,14 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size)
if (!compact_mode) if (!compact_mode)
{ {
if (entry->serial.empty()) if (entry->serial.empty())
summary.format("{} | {} MB", Path::GetFileName(entry->path), to_mb(entry->file_size)); {
summary.format("{} \u2022 {} MB", Path::GetFileName(entry->path), to_mb(entry->file_size));
}
else else
summary.format("{} | {} | {} MB", entry->serial, Path::GetFileName(entry->path), to_mb(entry->file_size)); {
summary.format("{} \u2022 {} \u2022 {} MB", entry->serial, Path::GetFileName(entry->path),
to_mb(entry->file_size));
}
} }
const MenuButtonBounds mbb(entry->GetDisplayTitle(show_localized_titles), {}, summary, row_left_margin); const MenuButtonBounds mbb(entry->GetDisplayTitle(show_localized_titles), {}, summary, row_left_margin);
@ -1103,7 +1108,7 @@ void FullscreenUI::HandleSelectDiscForDiscSet(const GameDatabase::DiscSetEntry*
for (u32 i = 0; i < static_cast<u32>(entries.size()); i++) for (u32 i = 0; i < static_cast<u32>(entries.size()); i++)
{ {
const GameList::Entry* const entry = entries[i]; const GameList::Entry* const entry = entries[i];
std::string title = fmt::format(ICON_FA_COMPACT_DISC " {} {} | {}##{}", FSUI_VSTR("Disc"), std::string title = fmt::format(ICON_FA_COMPACT_DISC " {} {} \u2022 {}##{}", FSUI_VSTR("Disc"),
entry->disc_set_index + 1, Path::GetFileName(entry->path), i); entry->disc_set_index + 1, Path::GetFileName(entry->path), i);
options.emplace_back(std::move(title), false); options.emplace_back(std::move(title), false);
paths.push_back(entry->path); paths.push_back(entry->path);

@ -2481,6 +2481,8 @@ void FullscreenUI::DrawSummarySettingsTrackList()
void FullscreenUI::PopulateImageTrackList() void FullscreenUI::PopulateImageTrackList()
{ {
#define DOT_SEP " \u2022 "
s_settings_locals.image_track_list.clear(); s_settings_locals.image_track_list.clear();
s_settings_locals.image_track_summary.clear(); s_settings_locals.image_track_summary.clear();
@ -2498,14 +2500,16 @@ void FullscreenUI::PopulateImageTrackList()
for (u32 track = 1; track <= num_tracks; track++) for (u32 track = 1; track <= num_tracks; track++)
{ {
const CDImage::TrackMode mode = image->GetTrackMode(static_cast<u8>(track)); const CDImage::TrackMode mode = image->GetTrackMode(static_cast<u8>(track));
s_settings_locals.image_track_list.push_back( SmallString summary;
{fmt::format(FSUI_FSTR("{} | Start: {} | Length: {}"), CDImage::GetTrackModeDisplayName(mode), summary.assign(CDImage::GetTrackModeDisplayName(mode));
image->GetTrackStartMSFPosition(static_cast<u8>(track)).ToString(), summary.append(DOT_SEP);
image->GetTrackMSFLength(static_cast<u8>(track)).ToString()), summary.append_format(FSUI_FSTR("Start: {}"), image->GetTrackStartMSFPosition(static_cast<u8>(track)).ToString());
{}, summary.append(DOT_SEP);
{}, summary.append_format(FSUI_FSTR("Length: {}"), image->GetTrackMSFLength(static_cast<u8>(track)).ToString());
mode == CDImage::TrackMode::Audio}); s_settings_locals.image_track_list.push_back({std::string(summary), {}, {}, mode == CDImage::TrackMode::Audio});
} }
#undef DOT_SEP
} }
void FullscreenUI::StartImageVerification() void FullscreenUI::StartImageVerification()
@ -5113,6 +5117,8 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
if (opt.ShouldHide()) if (opt.ShouldHide())
continue; continue;
#define DOT_SEP " \u2022 "
switch (opt.type) switch (opt.type)
{ {
case PostProcessing::ShaderOption::Type::Bool: case PostProcessing::ShaderOption::Type::Bool:
@ -5135,8 +5141,14 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
case PostProcessing::ShaderOption::Type::Float: case PostProcessing::ShaderOption::Type::Float:
{ {
tstr.format(ICON_FA_RULER_VERTICAL " {}###{}", opt.ui_name, opt.name); tstr.format(ICON_FA_RULER_VERTICAL " {}###{}", opt.ui_name, opt.name);
str.format(FSUI_FSTR("Value: {} | Default: {} | Minimum: {} | Maximum: {}"), opt.value[0].float_value, str.format(FSUI_FSTR("Value: {}"), opt.value[0].float_value);
opt.default_value[0].float_value, opt.min_value[0].float_value, opt.max_value[0].float_value); str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Default: {}"), opt.default_value[0].float_value);
str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Minimum: {}"), opt.min_value[0].float_value);
str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Maximum: {}"), opt.max_value[0].float_value);
str.append(DOT_SEP);
if (MenuButton(tstr, str)) if (MenuButton(tstr, str))
OpenFixedPopupDialog(tstr); OpenFixedPopupDialog(tstr);
@ -5203,8 +5215,14 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
case PostProcessing::ShaderOption::Type::Int: case PostProcessing::ShaderOption::Type::Int:
{ {
tstr.format(ICON_FA_RULER_VERTICAL " {}##{}", opt.ui_name, opt.name); tstr.format(ICON_FA_RULER_VERTICAL " {}##{}", opt.ui_name, opt.name);
str.format(FSUI_FSTR("Value: {} | Default: {} | Minimum: {} | Maximum: {}"), opt.value[0].int_value, str.format(FSUI_FSTR("Value: {}"), opt.value[0].int_value);
opt.default_value[0].int_value, opt.min_value[0].int_value, opt.max_value[0].int_value); str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Default: {}"), opt.default_value[0].int_value);
str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Minimum: {}"), opt.min_value[0].int_value);
str.append(DOT_SEP);
str.append_format(FSUI_FSTR("Maximum: {}"), opt.max_value[0].int_value);
str.append(DOT_SEP);
if (MenuButton(tstr, str)) if (MenuButton(tstr, str))
OpenFixedPopupDialog(tstr); OpenFixedPopupDialog(tstr);
@ -5268,6 +5286,8 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
default: default:
break; break;
} }
#undef DOT_SEP
} }
ImGui::PopID(); ImGui::PopID();

@ -226,6 +226,7 @@ TRANSLATE_NOOP("FullscreenUI", "Default Value");
TRANSLATE_NOOP("FullscreenUI", "Default View"); TRANSLATE_NOOP("FullscreenUI", "Default View");
TRANSLATE_NOOP("FullscreenUI", "Default: Disabled"); TRANSLATE_NOOP("FullscreenUI", "Default: Disabled");
TRANSLATE_NOOP("FullscreenUI", "Default: Enabled"); TRANSLATE_NOOP("FullscreenUI", "Default: Enabled");
TRANSLATE_NOOP("FullscreenUI", "Default: {}");
TRANSLATE_NOOP("FullscreenUI", "Deinterlacing Mode"); TRANSLATE_NOOP("FullscreenUI", "Deinterlacing Mode");
TRANSLATE_NOOP("FullscreenUI", "Delete"); TRANSLATE_NOOP("FullscreenUI", "Delete");
TRANSLATE_NOOP("FullscreenUI", "Delete And Boot"); TRANSLATE_NOOP("FullscreenUI", "Delete And Boot");
@ -470,6 +471,7 @@ TRANSLATE_NOOP("FullscreenUI", "Leaderboard Notifications");
TRANSLATE_NOOP("FullscreenUI", "Leaderboard Trackers"); TRANSLATE_NOOP("FullscreenUI", "Leaderboard Trackers");
TRANSLATE_NOOP("FullscreenUI", "Leaderboards"); TRANSLATE_NOOP("FullscreenUI", "Leaderboards");
TRANSLATE_NOOP("FullscreenUI", "Left: "); TRANSLATE_NOOP("FullscreenUI", "Left: ");
TRANSLATE_NOOP("FullscreenUI", "Length: {}");
TRANSLATE_NOOP("FullscreenUI", "Light"); TRANSLATE_NOOP("FullscreenUI", "Light");
TRANSLATE_NOOP("FullscreenUI", "Line Detection"); TRANSLATE_NOOP("FullscreenUI", "Line Detection");
TRANSLATE_NOOP("FullscreenUI", "List Compact Mode"); TRANSLATE_NOOP("FullscreenUI", "List Compact Mode");
@ -504,6 +506,7 @@ TRANSLATE_NOOP("FullscreenUI", "Makes games run closer to their console framerat
TRANSLATE_NOOP("FullscreenUI", "Maximum (Safer)"); TRANSLATE_NOOP("FullscreenUI", "Maximum (Safer)");
TRANSLATE_NOOP("FullscreenUI", "Maximum Read Speedup Cycles"); TRANSLATE_NOOP("FullscreenUI", "Maximum Read Speedup Cycles");
TRANSLATE_NOOP("FullscreenUI", "Maximum Seek Speedup Cycles"); TRANSLATE_NOOP("FullscreenUI", "Maximum Seek Speedup Cycles");
TRANSLATE_NOOP("FullscreenUI", "Maximum: {}");
TRANSLATE_NOOP("FullscreenUI", "Memory Card Busy"); TRANSLATE_NOOP("FullscreenUI", "Memory Card Busy");
TRANSLATE_NOOP("FullscreenUI", "Memory Card Directory"); TRANSLATE_NOOP("FullscreenUI", "Memory Card Directory");
TRANSLATE_NOOP("FullscreenUI", "Memory Card Port {}"); TRANSLATE_NOOP("FullscreenUI", "Memory Card Port {}");
@ -515,6 +518,7 @@ TRANSLATE_NOOP("FullscreenUI", "Merge Multi-Disc Games");
TRANSLATE_NOOP("FullscreenUI", "Merges multi-disc games into one item in the game list."); TRANSLATE_NOOP("FullscreenUI", "Merges multi-disc games into one item in the game list.");
TRANSLATE_NOOP("FullscreenUI", "Message Location"); TRANSLATE_NOOP("FullscreenUI", "Message Location");
TRANSLATE_NOOP("FullscreenUI", "Minimal Output Latency"); TRANSLATE_NOOP("FullscreenUI", "Minimal Output Latency");
TRANSLATE_NOOP("FullscreenUI", "Minimum: {}");
TRANSLATE_NOOP("FullscreenUI", "Move Cursor"); TRANSLATE_NOOP("FullscreenUI", "Move Cursor");
TRANSLATE_NOOP("FullscreenUI", "Move Down"); TRANSLATE_NOOP("FullscreenUI", "Move Down");
TRANSLATE_NOOP("FullscreenUI", "Move Up"); TRANSLATE_NOOP("FullscreenUI", "Move Up");
@ -822,6 +826,7 @@ TRANSLATE_NOOP("FullscreenUI", "Start Game");
TRANSLATE_NOOP("FullscreenUI", "Start In Big Picture Mode"); TRANSLATE_NOOP("FullscreenUI", "Start In Big Picture Mode");
TRANSLATE_NOOP("FullscreenUI", "Start a game from a disc in your PC's DVD drive."); TRANSLATE_NOOP("FullscreenUI", "Start a game from a disc in your PC's DVD drive.");
TRANSLATE_NOOP("FullscreenUI", "Start the console without any disc inserted."); TRANSLATE_NOOP("FullscreenUI", "Start the console without any disc inserted.");
TRANSLATE_NOOP("FullscreenUI", "Start: {}");
TRANSLATE_NOOP("FullscreenUI", "Starts the application in Big Picture Mode instead of the desktop interface."); TRANSLATE_NOOP("FullscreenUI", "Starts the application in Big Picture Mode instead of the desktop interface.");
TRANSLATE_NOOP("FullscreenUI", "Stores the current settings to a controller preset."); TRANSLATE_NOOP("FullscreenUI", "Stores the current settings to a controller preset.");
TRANSLATE_NOOP("FullscreenUI", "Stretch Mode"); TRANSLATE_NOOP("FullscreenUI", "Stretch Mode");
@ -910,7 +915,7 @@ TRANSLATE_NOOP("FullscreenUI", "Uses separate game settings for each disc of mul
TRANSLATE_NOOP("FullscreenUI", "Uses the software renderer when creating rewind states to prevent additional VRAM usage. Especially useful when upscaling."); TRANSLATE_NOOP("FullscreenUI", "Uses the software renderer when creating rewind states to prevent additional VRAM usage. Especially useful when upscaling.");
TRANSLATE_NOOP("FullscreenUI", "Utilizes the chosen frame rate regardless of the game's setting."); TRANSLATE_NOOP("FullscreenUI", "Utilizes the chosen frame rate regardless of the game's setting.");
TRANSLATE_NOOP("FullscreenUI", "Value Range"); TRANSLATE_NOOP("FullscreenUI", "Value Range");
TRANSLATE_NOOP("FullscreenUI", "Value: {} | Default: {} | Minimum: {} | Maximum: {}"); TRANSLATE_NOOP("FullscreenUI", "Value: {}");
TRANSLATE_NOOP("FullscreenUI", "Verify"); TRANSLATE_NOOP("FullscreenUI", "Verify");
TRANSLATE_NOOP("FullscreenUI", "Verifying Image"); TRANSLATE_NOOP("FullscreenUI", "Verifying Image");
TRANSLATE_NOOP("FullscreenUI", "Vertex Cache"); TRANSLATE_NOOP("FullscreenUI", "Vertex Cache");
@ -952,6 +957,5 @@ TRANSLATE_NOOP("FullscreenUI", "{} is not a valid disc image.");
TRANSLATE_NOOP("FullscreenUI", "{} of {}"); TRANSLATE_NOOP("FullscreenUI", "{} of {}");
TRANSLATE_NOOP("FullscreenUI", "{} pinned."); TRANSLATE_NOOP("FullscreenUI", "{} pinned.");
TRANSLATE_NOOP("FullscreenUI", "{} unpinned."); TRANSLATE_NOOP("FullscreenUI", "{} unpinned.");
TRANSLATE_NOOP("FullscreenUI", "{} | Start: {} | Length: {}");
// TRANSLATION-STRING-AREA-END // TRANSLATION-STRING-AREA-END
#endif #endif

@ -611,24 +611,25 @@ void GPUBackend::HandleSubmitFrameCommand(const GPUBackendFramePresentationParam
RestoreDeviceContext(); RestoreDeviceContext();
} }
#define BOLD(text) "\x02" text "\x01"
void GPUBackend::GetStatsString(SmallStringBase& str) const void GPUBackend::GetStatsString(SmallStringBase& str) const
{ {
#define BOLD(text) "\x02" text "\x01"
#define DOT_SEP " \u2022 "
if (IsUsingHardwareBackend()) if (IsUsingHardwareBackend())
{ {
if (g_gpu_settings.gpu_pgxp_depth_buffer) if (g_gpu_settings.gpu_pgxp_depth_buffer)
{ {
str.format(BOLD("{}{} HW") " | {} " BOLD("P") " | {} " BOLD("DC") " | {} " BOLD("RB") " | {} " BOLD( str.format(BOLD("{}{} HW") DOT_SEP "{} " BOLD("P") DOT_SEP "{} " BOLD("DC") DOT_SEP "{} " BOLD("RB") DOT_SEP
"C") " | {} " BOLD("W") " | {}% " BOLD("U") " | {} " BOLD("DBC"), "{} " BOLD("C") DOT_SEP "{} " BOLD("W") DOT_SEP "{}% " BOLD("U") DOT_SEP "{} " BOLD("DBC"),
GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "", GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "",
s_stats.num_primitives, s_stats.host_num_draws, s_stats.host_num_downloads, s_stats.num_copies, s_stats.num_primitives, s_stats.host_num_draws, s_stats.host_num_downloads, s_stats.num_copies,
s_stats.num_writes, s_stats.gpu_busy_pct, s_stats.num_depth_buffer_clears); s_stats.num_writes, s_stats.gpu_busy_pct, s_stats.num_depth_buffer_clears);
} }
else else
{ {
str.format(BOLD("{}{} HW") " | {} " BOLD("P") " | {} " BOLD("DC") " | {} " BOLD("RB") " | {} " BOLD( str.format(BOLD("{}{} HW") DOT_SEP "{} " BOLD("P") DOT_SEP "{} " BOLD("DC") DOT_SEP "{} " BOLD("RB") DOT_SEP
"C") " | {} " BOLD("W") " | {}% " BOLD("U"), "{} " BOLD("C") DOT_SEP "{} " BOLD("W") DOT_SEP "{}% " BOLD("U"),
GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "", GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "",
s_stats.num_primitives, s_stats.host_num_draws, s_stats.host_num_downloads, s_stats.num_copies, s_stats.num_primitives, s_stats.host_num_draws, s_stats.host_num_downloads, s_stats.num_copies,
s_stats.num_writes, s_stats.gpu_busy_pct); s_stats.num_writes, s_stats.gpu_busy_pct);
@ -636,10 +637,10 @@ void GPUBackend::GetStatsString(SmallStringBase& str) const
} }
else else
{ {
str.format( str.format(BOLD("{}{} SW") DOT_SEP "{} " BOLD("P") DOT_SEP "{} " BOLD("R") DOT_SEP "{} " BOLD("C") DOT_SEP
BOLD("{}{} SW") " | {} " BOLD("P") " | {} " BOLD("R") " | {} " BOLD("C") " | {} " BOLD("W") " | {}% " BOLD("U"), "{} " BOLD("W") DOT_SEP "{}% " BOLD("U"),
GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "", GPUDevice::RenderAPIToString(g_gpu_device->GetRenderAPI()), g_gpu_settings.gpu_use_thread ? "-MT" : "",
s_stats.num_primitives, s_stats.num_reads, s_stats.num_copies, s_stats.num_writes, s_stats.gpu_busy_pct); s_stats.num_primitives, s_stats.num_reads, s_stats.num_copies, s_stats.num_writes, s_stats.gpu_busy_pct);
} }
} }
@ -648,13 +649,14 @@ void GPUBackend::GetMemoryStatsString(SmallStringBase& str) const
const u32 vram_usage_mb = static_cast<u32>((g_gpu_device->GetVRAMUsage() + (1048576 - 1)) / 1048576); const u32 vram_usage_mb = static_cast<u32>((g_gpu_device->GetVRAMUsage() + (1048576 - 1)) / 1048576);
const u32 stream_kb = static_cast<u32>((s_stats.host_buffer_streamed + (1024 - 1)) / 1024); const u32 stream_kb = static_cast<u32>((s_stats.host_buffer_streamed + (1024 - 1)) / 1024);
str.format("{}MB " BOLD("VRAM") " | {}KB " BOLD("STR") " | {} " BOLD("B") " | {} " BOLD("RP") " | {} " BOLD( str.format("{}MB " BOLD("VRAM") DOT_SEP "{}KB " BOLD("STR") DOT_SEP "{} " BOLD("B") DOT_SEP "{} " BOLD("RP") DOT_SEP
"TC") " | {} " BOLD("TU"), "{} " BOLD("TC") DOT_SEP "{} " BOLD("TU"),
vram_usage_mb, stream_kb, s_stats.host_num_barriers, s_stats.host_num_render_passes, vram_usage_mb, stream_kb, s_stats.host_num_barriers, s_stats.host_num_render_passes,
s_stats.host_num_copies, s_stats.host_num_uploads); s_stats.host_num_copies, s_stats.host_num_uploads);
}
#undef DOT_SEP
#undef BOLD #undef BOLD
}
void GPUBackend::ResetStatistics() void GPUBackend::ResetStatistics()
{ {

@ -387,6 +387,7 @@ void ImGuiManager::DrawPerformanceOverlay(const GPUBackend* gpu, float& position
{ {
#define BOLD(text) "\x02" text "\x01" #define BOLD(text) "\x02" text "\x01"
#define COLOR(text) "\x04" text "\x03" #define COLOR(text) "\x04" text "\x03"
#define DOT_SEP " \u2022 "
if (!(g_gpu_settings.display_show_fps || g_gpu_settings.display_show_speed || g_gpu_settings.display_show_gpu_stats || if (!(g_gpu_settings.display_show_fps || g_gpu_settings.display_show_speed || g_gpu_settings.display_show_gpu_stats ||
g_gpu_settings.display_show_resolution || g_gpu_settings.display_show_latency_stats || g_gpu_settings.display_show_resolution || g_gpu_settings.display_show_latency_stats ||
@ -415,15 +416,15 @@ void ImGuiManager::DrawPerformanceOverlay(const GPUBackend* gpu, float& position
const float vps = PerformanceCounters::GetVPS(); const float vps = PerformanceCounters::GetVPS();
if (vps < 100.0f) if (vps < 100.0f)
text.append_format(COLOR("{:.2f}") " " BOLD("FPS") " | " COLOR("{:.2f}") " " BOLD("VPS"), fps, vps); text.append_format(COLOR("{:.2f}") " " BOLD("FPS") DOT_SEP COLOR("{:.2f}") " " BOLD("VPS"), fps, vps);
else if (vps < 1000.0f) else if (vps < 1000.0f)
text.append_format(COLOR("{:.1f}") " " BOLD("FPS") " | " COLOR("{:.1f}") " " BOLD("VPS"), fps, vps); text.append_format(COLOR("{:.1f}") " " BOLD("FPS") DOT_SEP COLOR("{:.1f}") " " BOLD("VPS"), fps, vps);
else else
text.append_format(COLOR("{:.0f}") " " BOLD("FPS") " | " COLOR("{:.0f}") " " BOLD("VPS"), fps, vps); text.append_format(COLOR("{:.0f}") " " BOLD("FPS") DOT_SEP COLOR("{:.0f}") " " BOLD("VPS"), fps, vps);
} }
if (g_gpu_settings.display_show_speed) if (g_gpu_settings.display_show_speed)
{ {
text.append_format("{}" COLOR("{}%") " ", text.empty() ? "" : " | ", static_cast<u32>(std::round(speed))); text.append_format("{}" COLOR("{}%") " ", text.empty() ? "" : DOT_SEP, static_cast<u32>(std::round(speed)));
const float target_speed = System::GetTargetSpeed(); const float target_speed = System::GetTargetSpeed();
if (target_speed <= 0.0f) if (target_speed <= 0.0f)
@ -464,10 +465,10 @@ void ImGuiManager::DrawPerformanceOverlay(const GPUBackend* gpu, float& position
const bool interlaced = GPU::IsInterlacedDisplayEnabled(); const bool interlaced = GPU::IsInterlacedDisplayEnabled();
const bool progressive_forced = GPU::IsProgressiveDisplayScanForced(); const bool progressive_forced = GPU::IsProgressiveDisplayScanForced();
const bool pal = GPU::IsInPALMode(); const bool pal = GPU::IsInPALMode();
text.format("{}x{} " BOLD("{} {}") " | {}x " BOLD("IR") "{}", display_width * resolution_scale, text.format("{}x{} " BOLD("{} {}") DOT_SEP "{}x " BOLD("IR") "{}", display_width * resolution_scale,
display_height * resolution_scale, pal ? "PAL" : "NTSC", display_height * resolution_scale, pal ? "PAL" : "NTSC",
interlaced ? "Interlaced" : (progressive_forced ? "Forced-Progressive" : "Progressive"), interlaced ? "Interlaced" : (progressive_forced ? "Forced-Progressive" : "Progressive"),
resolution_scale, pgxp ? " | " BOLD("PGXP") : ""); resolution_scale, pgxp ? DOT_SEP BOLD("PGXP") : "");
DrawPerformanceStat(dl, position_y, fixed_font, fixed_font_size, FIXED_BOLD_WEIGHT, 0, rbound, text); DrawPerformanceStat(dl, position_y, fixed_font, fixed_font_size, FIXED_BOLD_WEIGHT, 0, rbound, text);
position_y += spacing; position_y += spacing;
} }
@ -481,7 +482,7 @@ void ImGuiManager::DrawPerformanceOverlay(const GPUBackend* gpu, float& position
if (g_gpu_settings.display_show_cpu_usage) if (g_gpu_settings.display_show_cpu_usage)
{ {
text.format(" {:.2f}ms " BOLD("Min") " | {:.2f}ms " BOLD("Avg") " | {:.2f}ms " BOLD("Max"), text.format(" {:.2f}ms " BOLD("Min") DOT_SEP "{:.2f}ms " BOLD("Avg") DOT_SEP "{:.2f}ms " BOLD("Max"),
PerformanceCounters::GetMinimumFrameTime(), PerformanceCounters::GetAverageFrameTime(), PerformanceCounters::GetMinimumFrameTime(), PerformanceCounters::GetAverageFrameTime(),
PerformanceCounters::GetMaximumFrameTime()); PerformanceCounters::GetMaximumFrameTime());
DrawPerformanceStat(dl, position_y, fixed_font, fixed_font_size, FIXED_BOLD_WEIGHT, 0, rbound, text); DrawPerformanceStat(dl, position_y, fixed_font, fixed_font_size, FIXED_BOLD_WEIGHT, 0, rbound, text);
@ -568,6 +569,7 @@ void ImGuiManager::DrawPerformanceOverlay(const GPUBackend* gpu, float& position
DrawStatusIndicators(dl, position_y, ui_font, status_size, rbound, text, true); DrawStatusIndicators(dl, position_y, ui_font, status_size, rbound, text, true);
} }
#undef DOT_SEP
#undef COLOR #undef COLOR
#undef BOLD #undef BOLD
} }

@ -3682,11 +3682,13 @@ void System::FormatLatencyStats(SmallStringBase& str)
Timer::ConvertValueToMilliseconds(static_cast<Timer::Value>(s_state.runahead_frames) * s_state.frame_period)); Timer::ConvertValueToMilliseconds(static_cast<Timer::Value>(s_state.runahead_frames) * s_state.frame_period));
#define BOLD(text) "\x02" text "\x01" #define BOLD(text) "\x02" text "\x01"
#define DOT_SEP " \u2022 "
str.format("{}ms " BOLD("AL") " | {:.0f}ms " BOLD("AF") " | {:.0f}ms " BOLD("PF") " | {:.0f}ms " BOLD( str.format("{}ms " BOLD("AL") DOT_SEP "{:.0f}ms " BOLD("AF") DOT_SEP "{:.0f}ms " BOLD("PF") DOT_SEP
"IL") " | {} " BOLD("QF"), "{:.0f}ms " BOLD("IL") DOT_SEP "{} " BOLD("QF"),
audio_latency, active_frame_time, pre_frame_time, input_latency, queued_frame_count); audio_latency, active_frame_time, pre_frame_time, input_latency, queued_frame_count);
#undef DOT_SEP
#undef BOLD #undef BOLD
} }

@ -144,7 +144,7 @@ void GameSummaryWidget::populateUi(const GameList::Entry* entry)
if (entry->IsDiscOrDiscSet()) if (entry->IsDiscOrDiscSet())
{ {
m_ui.hashes->setText(QtUtils::StringViewToQString(SmallString::from_format( m_ui.hashes->setText(QtUtils::StringViewToQString(SmallString::from_format(
"HASH-{:016X} | RA: {}", entry->hash, Achievements::GameHashToString(entry->achievements_hash)))); "HASH-{:016X} \u2022 RA: {}", entry->hash, Achievements::GameHashToString(entry->achievements_hash))));
} }
else else
{ {

@ -168,8 +168,8 @@ static constexpr const std::array TEXT_FONT_FILENAMES = {
static constexpr const char* DEFAULT_TEXT_FONT_NAME = TEXT_FONT_NAMES[0]; static constexpr const char* DEFAULT_TEXT_FONT_NAME = TEXT_FONT_NAMES[0];
#define ENUMERATE_FIXED_FONT_NAMES(X) \ #define ENUMERATE_FIXED_FONT_NAMES(X) \
X("GoogleSansCode", "Google Sans Code", "GoogleSansCode-VariableFont_wght.ttf") \
X("RobotoMono", "Roboto Mono", "RobotoMono-VariableFont_wght.ttf") \ X("RobotoMono", "Roboto Mono", "RobotoMono-VariableFont_wght.ttf") \
X("GoogleSansCode", "Google Sans Code", "GoogleSansCode-VariableFont_wght.ttf") \
X("KodeMono", "Kode Mono", "KodeMono-VariableFont_wght.ttf") \ X("KodeMono", "Kode Mono", "KodeMono-VariableFont_wght.ttf") \
X("Bitcount", "Bitcount", "BitcountPropSingle-VariableFont_CRSV,ELSH,ELXP,slnt,wght.ttf") X("Bitcount", "Bitcount", "BitcountPropSingle-VariableFont_CRSV,ELSH,ELXP,slnt,wght.ttf")

Loading…
Cancel
Save