FullscreenUI: Further icon improvements

This commit is contained in:
Stenzek 2025-06-22 14:01:56 +10:00
parent 29ec2fea19
commit 6fcb1194d5
No known key found for this signature in database
9 changed files with 776 additions and 813 deletions

Binary file not shown.

View File

@ -355,3 +355,14 @@
#define ICON_PF_NAVIGATION_BACK "\xE2\x8F\x8C"
#define ICON_PF_CHEATS "\xE2\xAC\xB3"
#define ICON_PF_SPARKLING "\xE2\xAC\xB4"
#define ICON_PF_FOLDER_OPEN "\xE2\xAC\xB5"
#define ICON_PF_SAVE "\xE2\xAC\xB6"
#define ICON_PF_SCREENSHOT "\xE2\xAC\xB7"
#define ICON_PF_NO_CONTROLLER "\xE2\xAC\xB8"
#define ICON_PF_GLOBAL "\xE2\xAC\xB9"
#define ICON_PF_SEARCH "\xE2\xAC\xBA"
#define ICON_PF_FAST_FORWARD "\xE2\xAC\xBB"
#define ICON_PF_ADD "\xE2\xAC\xBC"
#define ICON_PF_REMOVE "\xE2\xAC\xBD"
#define ICON_PF_TRASH "\xE2\xAC\xBE"
#define ICON_PF_FLOPPY_DISK "\xF0\x9F\x92\xBE"

File diff suppressed because it is too large Load Diff

View File

@ -407,12 +407,9 @@ static const SettingInfo s_settings[] = {
nullptr, s_invert_settings, 0.0f},
};
const Controller::ControllerInfo AnalogJoystick::INFO = {ControllerType::AnalogJoystick,
"AnalogJoystick",
TRANSLATE_NOOP("ControllerType", "Analog Joystick"),
ICON_PF_GAMEPAD,
s_binding_info,
s_settings};
const Controller::ControllerInfo AnalogJoystick::INFO = {
ControllerType::AnalogJoystick, "AnalogJoystick", TRANSLATE_NOOP("ControllerType", "Analog Joystick"),
ICON_PF_FLIGHT_STICK, s_binding_info, s_settings};
void AnalogJoystick::LoadSettings(const SettingsInterface& si, const char* section, bool initial)
{

View File

@ -22,7 +22,7 @@
#include "fmt/format.h"
static const Controller::ControllerInfo s_none_info = {
ControllerType::None, "None", TRANSLATE_NOOP("ControllerType", "Not Connected"), ICON_PF_QUESTION, {}, {}};
ControllerType::None, "None", TRANSLATE_NOOP("ControllerType", "Not Connected"), ICON_PF_NO_CONTROLLER, {}, {}};
static constexpr std::array<const Controller::ControllerInfo*, static_cast<size_t>(ControllerType::Count)>
s_controller_info = {{

View File

@ -355,9 +355,6 @@ static const SettingInfo s_settings[] = {
"transitioning/inbetween state when changing brake level."),
"10", "0", "255", "1", "%d", nullptr, 1.0f}};
const Controller::ControllerInfo DDGoController::INFO = {ControllerType::DDGoController,
"DDGoController",
TRANSLATE_NOOP("ControllerType", "Densha de Go! Controller"),
ICON_PF_GAMEPAD_ALT,
s_binding_info,
s_settings};
const Controller::ControllerInfo DDGoController::INFO = {
ControllerType::DDGoController, "DDGoController", TRANSLATE_NOOP("ControllerType", "Densha de Go! Controller"),
ICON_PF_FIGHT_STICK_JOYSTICK, s_binding_info, s_settings};

View File

@ -4310,10 +4310,10 @@ void FullscreenUI::DrawInterfaceSettingsPage()
FSUI_VSTR("Shows information about input and audio latency in the top-right corner of the display."), "Display",
"ShowLatencyStatistics", false);
DrawToggleSetting(
bsi, FSUI_ICONVSTR(ICON_FA_BATTERY_HALF, "Show CPU Usage"),
bsi, FSUI_ICONVSTR(ICON_PF_CPU_PROCESSOR, "Show CPU Usage"),
FSUI_VSTR("Shows the host's CPU usage of each system thread in the top-right corner of the display."), "Display",
"ShowCPU", false);
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_SPINNER, "Show GPU Usage"),
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_PF_GPU_GRAPHICS_CARD, "Show GPU Usage"),
FSUI_VSTR("Shows the host's GPU usage in the top-right corner of the display."), "Display",
"ShowGPU", false);
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_RULER_HORIZONTAL, "Show Frame Times"),
@ -4464,12 +4464,12 @@ void FullscreenUI::DrawConsoleSettingsPage()
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_BOLT, "Enable Fast Boot"),
FSUI_VSTR("Patches the BIOS to skip the boot animation. Safe to enable."), "BIOS", "PatchFastBoot",
Settings::DEFAULT_FAST_BOOT_VALUE);
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_FORWARD_FAST, "Fast Forward Boot"),
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_PF_FAST_FORWARD, "Fast Forward Boot"),
FSUI_VSTR("Fast forwards through the early loading process when fast booting, saving time. Results "
"may vary between games."),
"BIOS", "FastForwardBoot", false,
GetEffectiveBoolSetting(bsi, "BIOS", "PatchFastBoot", Settings::DEFAULT_FAST_BOOT_VALUE));
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_SD_CARD, "Fast Forward Memory Card Access"),
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_PF_MEMORY_CARD, "Fast Forward Memory Card Access"),
FSUI_VSTR("Fast forwards through memory card access, both loading and saving. Can reduce waiting "
"times in games that frequently access memory cards."),
"MemoryCards", "FastForwardAccess", false);
@ -5245,7 +5245,7 @@ void FullscreenUI::DrawMemoryCardSettingsPage()
const MemoryCardType default_type =
(i == 0) ? Settings::DEFAULT_MEMORY_CARD_1_TYPE : Settings::DEFAULT_MEMORY_CARD_2_TYPE;
DrawEnumSetting(
bsi, TinyString::from_format(fmt::runtime(FSUI_ICONVSTR(ICON_FA_SD_CARD, "Memory Card {} Type")), i + 1),
bsi, TinyString::from_format(fmt::runtime(FSUI_ICONVSTR(ICON_PF_MEMORY_CARD, "Memory Card {} Type")), i + 1),
SmallString::from_format(FSUI_FSTR("Sets which sort of memory card image will be used for slot {}."), i + 1),
"MemoryCards", type_keys[i], default_type, &Settings::ParseMemoryCardTypeName, &Settings::GetMemoryCardTypeName,
&Settings::GetMemoryCardTypeDisplayName, MemoryCardType::Count);
@ -5804,7 +5804,7 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
FSUI_VSTR("If not enabled, the current post processing chain will be ignored."),
"PostProcessing", "Enabled", false);
if (MenuButton(FSUI_ICONVSTR(ICON_FA_MAGNIFYING_GLASS, "Reload Shaders"),
if (MenuButton(FSUI_ICONVSTR(ICON_FA_ARROWS_ROTATE, "Reload Shaders"),
FSUI_VSTR("Reloads the shaders from disk, applying any changes."),
bsi->GetBoolValue("PostProcessing", "Enabled", false)))
{
@ -5818,7 +5818,7 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
MenuHeading(FSUI_VSTR("Operations"));
if (MenuButton(FSUI_ICONVSTR(ICON_FA_PLUS, "Add Shader"), FSUI_VSTR("Adds a new shader to the chain.")))
if (MenuButton(FSUI_ICONVSTR(ICON_PF_ADD, "Add Shader"), FSUI_VSTR("Adds a new shader to the chain.")))
{
std::vector<std::pair<std::string, std::string>> shaders = PostProcessing::GetAvailableShaderNames();
ImGuiFullscreen::ChoiceDialogOptions options;
@ -5826,7 +5826,7 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
for (auto& [display_name, name] : shaders)
options.emplace_back(std::move(display_name), false);
OpenChoiceDialog(FSUI_ICONVSTR(ICON_FA_PLUS, "Add Shader"), false, std::move(options),
OpenChoiceDialog(FSUI_ICONVSTR(ICON_PF_ADD, "Add Shader"), false, std::move(options),
[shaders = std::move(shaders)](s32 index, const std::string& title, bool checked) {
if (index < 0 || static_cast<u32>(index) >= shaders.size())
return;
@ -5851,10 +5851,10 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
});
}
if (MenuButton(FSUI_ICONVSTR(ICON_FA_XMARK, "Clear Shaders"), FSUI_VSTR("Clears a shader from the chain.")))
if (MenuButton(FSUI_ICONVSTR(ICON_PF_TRASH, "Clear Shaders"), FSUI_VSTR("Clears a shader from the chain.")))
{
OpenConfirmMessageDialog(
FSUI_ICONVSTR(ICON_FA_XMARK, "Clear Shaders"),
FSUI_ICONVSTR(ICON_PF_TRASH, "Clear Shaders"),
FSUI_STR("Are you sure you want to clear the current post-processing chain? All configuration will be lost."),
[](bool confirmed) {
if (!confirmed)
@ -5882,7 +5882,8 @@ void FullscreenUI::DrawPostProcessingSettingsPage()
str.format(FSUI_FSTR("Stage {}: {}"), stage_index + 1, si.name);
MenuHeading(str);
if (MenuButton(FSUI_ICONVSTR(ICON_FA_XMARK, "Remove From Chain"), FSUI_VSTR("Removes this shader from the chain.")))
if (MenuButton(FSUI_ICONVSTR(ICON_PF_REMOVE, "Remove From Chain"),
FSUI_VSTR("Removes this shader from the chain.")))
{
postprocessing_action = POSTPROCESSING_ACTION_REMOVE;
postprocessing_action_index = stage_index;
@ -6214,7 +6215,7 @@ void FullscreenUI::DrawAudioSettingsPage()
DrawIntRangeSetting(bsi, FSUI_ICONVSTR(ICON_FA_VOLUME_HIGH, "Output Volume"),
FSUI_VSTR("Controls the volume of the audio played on the host."), "Audio", "OutputVolume", 100,
0, 200, "%d%%");
DrawIntRangeSetting(bsi, FSUI_ICONVSTR(ICON_FA_FORWARD_FAST, "Fast Forward Volume"),
DrawIntRangeSetting(bsi, FSUI_ICONVSTR(ICON_PF_FAST_FORWARD, "Fast Forward Volume"),
FSUI_VSTR("Controls the volume of the audio played on the host when fast forwarding."), "Audio",
"FastForwardVolume", 200, 0, 100, "%d%%");
DrawToggleSetting(bsi, FSUI_ICONVSTR(ICON_FA_VOLUME_XMARK, "Mute All Sound"),
@ -6228,11 +6229,11 @@ void FullscreenUI::DrawAudioSettingsPage()
MenuHeading(FSUI_VSTR("Backend Settings"));
DrawEnumSetting(
bsi, FSUI_ICONVSTR(ICON_FA_VOLUME_OFF, "Audio Backend"),
bsi, FSUI_ICONVSTR(ICON_PF_SPEAKER, "Audio Backend"),
FSUI_VSTR("The audio backend determines how frames produced by the emulator are submitted to the host."), "Audio",
"Backend", AudioStream::DEFAULT_BACKEND, &AudioStream::ParseBackendName, &AudioStream::GetBackendName,
&AudioStream::GetBackendDisplayName, AudioBackend::Count);
DrawEnumSetting(bsi, FSUI_ICONVSTR(ICON_FA_ARROWS_ROTATE, "Stretch Mode"),
DrawEnumSetting(bsi, FSUI_ICONVSTR(ICON_PF_SFX_SOUND_EFFECT_NOISE, "Stretch Mode"),
FSUI_CSTR("Determines quality of audio when not running at 100% speed."), "Audio", "StretchMode",
AudioStreamParameters::DEFAULT_STRETCH_MODE, &AudioStream::ParseStretchMode,
&AudioStream::GetStretchModeName, &AudioStream::GetStretchModeDisplayName, AudioStretchMode::Count);
@ -7078,25 +7079,25 @@ void FullscreenUI::DrawPauseMenu()
ClosePauseMenu();
ImGui::SetItemDefaultFocus();
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_FORWARD_FAST, "Toggle Fast Forward")))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_PF_FAST_FORWARD, "Toggle Fast Forward")))
{
ClosePauseMenu();
DoToggleFastForward();
}
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_ARROW_ROTATE_LEFT, "Load State"), has_game))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_PF_DOWNLOAD, "Load State"), has_game))
{
BeginTransition(
[]() { OpenSaveStateSelector(s_state.current_game_serial, s_state.current_game_path, true); });
}
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_DOWNLOAD, "Save State"), has_game))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_PF_FLOPPY_DISK, "Save State"), has_game))
{
BeginTransition(
[]() { OpenSaveStateSelector(s_state.current_game_serial, s_state.current_game_path, false); });
}
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_GAMEPAD, "Toggle Analog")))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_PF_GAMEPAD_ALT, "Toggle Analog")))
{
ClosePauseMenu();
DoToggleAnalogMode();
@ -7677,7 +7678,7 @@ void FullscreenUI::DrawResumeStateSelector()
ResetFocusHere();
BeginMenuButtons();
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_PLAY, "Load State"), true, LAYOUT_CENTER_ALIGN_TEXT))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_FOLDER_OPEN, "Load State"), true, LAYOUT_CENTER_ALIGN_TEXT))
{
std::string game_path = std::move(entry.game_path);
std::string state_path = std::move(entry.state_path);
@ -7686,7 +7687,7 @@ void FullscreenUI::DrawResumeStateSelector()
DoStartPath(std::move(game_path), std::move(state_path));
}
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_LIGHTBULB, "Clean Boot"), true, LAYOUT_CENTER_ALIGN_TEXT))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_PLAY, "Clean Boot"), true, LAYOUT_CENTER_ALIGN_TEXT))
{
std::string game_path = std::move(entry.game_path);
ClearSaveStateEntryList();
@ -7694,7 +7695,7 @@ void FullscreenUI::DrawResumeStateSelector()
DoStartPath(std::move(game_path));
}
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_FOLDER_MINUS, "Delete State"), true, LAYOUT_CENTER_ALIGN_TEXT))
if (MenuButtonWithoutSummary(FSUI_ICONVSTR(ICON_FA_TRASH_CAN, "Delete State"), true, LAYOUT_CENTER_ALIGN_TEXT))
{
if (FileSystem::DeleteFile(entry.state_path.c_str()))
{

View File

@ -328,7 +328,7 @@ static const SettingInfo s_settings[] = {
const Controller::ControllerInfo NeGcon::INFO = {
ControllerType::NeGcon, "NeGcon", TRANSLATE_NOOP("ControllerType", "NeGcon"),
ICON_PF_GAMEPAD, s_binding_info, s_settings};
ICON_PF_STEERING_WHEEL, s_binding_info, s_settings};
void NeGcon::LoadSettings(const SettingsInterface& si, const char* section, bool initial)
{

View File

@ -770,12 +770,9 @@ static const SettingInfo s_settings[] = {
"8", "-255", "255", "1", "%d", nullptr, 1.0f},
};
const Controller::ControllerInfo NeGconRumble::INFO = {ControllerType::NeGconRumble,
"NeGconRumble",
TRANSLATE_NOOP("ControllerType", "NeGcon (Rumble)"),
ICON_PF_GAMEPAD,
s_binding_info,
s_settings};
const Controller::ControllerInfo NeGconRumble::INFO = {
ControllerType::NeGconRumble, "NeGconRumble", TRANSLATE_NOOP("ControllerType", "NeGcon (Rumble)"),
ICON_PF_STEERING_WHEEL, s_binding_info, s_settings};
void NeGconRumble::LoadSettings(const SettingsInterface& si, const char* section, bool initial)
{