|
|
|
@ -943,38 +943,36 @@ void FullscreenUI::DrawLandingWindow()
|
|
|
|
|
|
|
|
|
|
BeginMenuButtons(7, 0.5f);
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_PLAY_CIRCLE " Resume",
|
|
|
|
|
"Starts the console from where it was before it was last closed."))
|
|
|
|
|
if (MenuButton(ICON_FA_PLAY_CIRCLE " Resume", "Starts the console from where it was before it was last closed."))
|
|
|
|
|
{
|
|
|
|
|
System::GetMostRecentResumeSaveStatePath();
|
|
|
|
|
DoResume();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_FOLDER_OPEN " Start File", "Launch a game by selecting a file/disc image."))
|
|
|
|
|
if (MenuButton(ICON_FA_FOLDER_OPEN " Start File", "Launch a game by selecting a file/disc image."))
|
|
|
|
|
{
|
|
|
|
|
DoStartFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_TOOLBOX " Start BIOS", "Start the console without any disc inserted."))
|
|
|
|
|
if (MenuButton(ICON_FA_TOOLBOX " Start BIOS", "Start the console without any disc inserted."))
|
|
|
|
|
{
|
|
|
|
|
DoStartBIOS();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_UNDO " Load State", "Loads a global save state."))
|
|
|
|
|
if (MenuButton(ICON_FA_UNDO " Load State", "Loads a global save state."))
|
|
|
|
|
{
|
|
|
|
|
OpenSaveStateSelector(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_LIST " Open Game List",
|
|
|
|
|
"Launch a game from images scanned from your game directories."))
|
|
|
|
|
if (MenuButton(ICON_FA_LIST " Open Game List", "Launch a game from images scanned from your game directories."))
|
|
|
|
|
{
|
|
|
|
|
SwitchToGameList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_SLIDERS_H " Settings", "Change settings for the emulator."))
|
|
|
|
|
if (MenuButton(ICON_FA_SLIDERS_H " Settings", "Change settings for the emulator."))
|
|
|
|
|
SwitchToSettings();
|
|
|
|
|
|
|
|
|
|
if (MenuButton(" " ICON_FA_SIGN_OUT_ALT " Exit", "Exits the program."))
|
|
|
|
|
if (MenuButton(ICON_FA_SIGN_OUT_ALT " Exit", "Exits the program."))
|
|
|
|
|
{
|
|
|
|
|
DoRequestExit();
|
|
|
|
|
}
|
|
|
|
@ -1917,7 +1915,7 @@ void FullscreenUI::DrawSettingsWindow()
|
|
|
|
|
|
|
|
|
|
if (BeginFullscreenWindow(ImVec2(0.0f, 0.0f), heading_size, "settings_category", UIPrimaryColor))
|
|
|
|
|
{
|
|
|
|
|
static constexpr float ITEM_WIDTH = 22.0f;
|
|
|
|
|
static constexpr float ITEM_WIDTH = 25.0f;
|
|
|
|
|
|
|
|
|
|
static constexpr const char* global_icons[] = {
|
|
|
|
|
ICON_FA_WINDOW_MAXIMIZE, ICON_FA_LIST, ICON_FA_HDD, ICON_FA_SLIDERS_H,
|
|
|
|
@ -1972,7 +1970,7 @@ void FullscreenUI::DrawSettingsWindow()
|
|
|
|
|
ReturnToMainWindow();
|
|
|
|
|
|
|
|
|
|
if (s_game_settings_entry)
|
|
|
|
|
NavTitle(fmt::format("{} ({})", titles[static_cast<u32>(pages[index])], s_game_settings_entry->title).c_str());
|
|
|
|
|
NavTitle(s_game_settings_entry->title.c_str());
|
|
|
|
|
else
|
|
|
|
|
NavTitle(titles[static_cast<u32>(pages[index])]);
|
|
|
|
|
|
|
|
|
@ -2123,64 +2121,73 @@ void FullscreenUI::DrawInterfaceSettingsPage()
|
|
|
|
|
|
|
|
|
|
MenuHeading("Behavior");
|
|
|
|
|
|
|
|
|
|
DrawToggleSetting(bsi, "Pause On Start", "Pauses the emulator when a game is started.", "Main", "StartPaused", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Pause On Focus Loss",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_PAUSE " Pause On Start", "Pauses the emulator when a game is started.", "Main",
|
|
|
|
|
"StartPaused", false);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_VIDEO " Pause On Focus Loss",
|
|
|
|
|
"Pauses the emulator when you minimize the window or switch to another "
|
|
|
|
|
"application, and unpauses when you switch back.",
|
|
|
|
|
"Main", "PauseOnFocusLoss", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Pause On Menu",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_WINDOW_MAXIMIZE " Pause On Menu",
|
|
|
|
|
"Pauses the emulator when you open the quick menu, and unpauses when you close it.", "Main",
|
|
|
|
|
"PauseOnMenu", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Confirm Power Off",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_POWER_OFF " Confirm Power Off",
|
|
|
|
|
"Determines whether a prompt will be displayed to confirm shutting down the emulator/game "
|
|
|
|
|
"when the hotkey is pressed.",
|
|
|
|
|
"Main", "ConfirmPowerOff", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Save State On Exit",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_SAVE " Save State On Exit",
|
|
|
|
|
"Automatically saves the emulator state when powering down or exiting. You can then "
|
|
|
|
|
"resume directly from where you left off next time.",
|
|
|
|
|
"Main", "SaveStateOnExit", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Start Fullscreen", "Automatically switches to fullscreen mode when the program is started.",
|
|
|
|
|
"Main", "StartFullscreen", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Hide Cursor In Fullscreen",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_TV " Start Fullscreen",
|
|
|
|
|
"Automatically switches to fullscreen mode when the program is started.", "Main", "StartFullscreen",
|
|
|
|
|
false);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_MOUSE " Double-Click Toggles Fullscreen",
|
|
|
|
|
"Switches between full screen and windowed when the window is double-clicked.", "Main",
|
|
|
|
|
"DoubleClickTogglesFullscreen", true);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_MOUSE_POINTER "Hide Cursor In Fullscreen",
|
|
|
|
|
"Hides the mouse pointer/cursor when the emulator is in fullscreen mode.", "Main",
|
|
|
|
|
"HideCursorInFullscreen", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Inhibit Screensaver",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_MAGIC " Inhibit Screensaver",
|
|
|
|
|
"Prevents the screen saver from activating and the host from sleeping while emulation is running.",
|
|
|
|
|
"Main", "InhibitScreensaver", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Load Devices From Save States",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_GAMEPAD " Load Devices From Save States",
|
|
|
|
|
"When enabled, memory cards and controllers will be overwritten when save states are loaded.",
|
|
|
|
|
"Main", "LoadDevicesFromSaveStates", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Apply Per-Game Settings",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_COGS " Apply Per-Game Settings",
|
|
|
|
|
"When enabled, per-game settings will be applied, and incompatible enhancements will be disabled.",
|
|
|
|
|
"Main", "ApplyGameSettings", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Automatically Load Cheats", "Automatically loads and applies cheats on game start.", "Main",
|
|
|
|
|
"AutoLoadCheats", true);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_FROWN " Automatically Load Cheats",
|
|
|
|
|
"Automatically loads and applies cheats on game start.", "Main", "AutoLoadCheats", true);
|
|
|
|
|
|
|
|
|
|
#ifdef WITH_DISCORD_PRESENCE
|
|
|
|
|
MenuHeading("Integration");
|
|
|
|
|
DrawToggleSetting(bsi, "Enable Discord Presence",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_CHARGING_STATION " Enable Discord Presence",
|
|
|
|
|
"Shows the game you are currently playing as part of your profile on Discord.", "Main",
|
|
|
|
|
"EnableDiscordPresence", false);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
MenuHeading("On-Screen Display");
|
|
|
|
|
DrawToggleSetting(bsi, "Show OSD Messages", "Shows on-screen-display messages when events occur.", "Display",
|
|
|
|
|
"ShowOSDMessages", true);
|
|
|
|
|
DrawToggleSetting(bsi, "Show Game Frame Rate",
|
|
|
|
|
"Shows the internal frame rate of the game in the top-right corner of the display.", "Display",
|
|
|
|
|
"ShowFPS", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Show FPS",
|
|
|
|
|
"Shows the number of frames (or v-syncs) displayed per second by the system "
|
|
|
|
|
"in the top-right corner of the display.",
|
|
|
|
|
"Display", "ShowFPS", false);
|
|
|
|
|
DrawIntRangeSetting(bsi, ICON_FA_SEARCH " OSD Scale", "Determines how large the on-screen messages and monitor are.",
|
|
|
|
|
"Display", "OSDScale", 100, 25, 500, "%d%%");
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_LIST " Show OSD Messages", "Shows on-screen-display messages when events occur.",
|
|
|
|
|
"Display", "ShowOSDMessages", true);
|
|
|
|
|
DrawToggleSetting(
|
|
|
|
|
bsi, "Show Speed",
|
|
|
|
|
bsi, ICON_FA_CLOCK " Show Speed",
|
|
|
|
|
"Shows the current emulation speed of the system in the top-right corner of the display as a percentage.",
|
|
|
|
|
"Display", "ShowSpeed", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Show Resolution",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_RULER " Show FPS",
|
|
|
|
|
"Shows the number of frames (or v-syncs) displayed per second by the system in the top-right "
|
|
|
|
|
"corner of the display.",
|
|
|
|
|
"Display", "ShowFPS", false);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_BATTERY_HALF " Show CPU Usage",
|
|
|
|
|
"Shows the CPU usage based on threads in the top-right corner of the display.", "Display",
|
|
|
|
|
"ShowCPU", false);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_SPINNER " Show GPU Usage",
|
|
|
|
|
"Shows the host's GPU usage in the top-right corner of the display.", "Display", "ShowGPU", false);
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_RULER_VERTICAL " Show Resolution",
|
|
|
|
|
"Shows the current rendering resolution of the system in the top-right corner of the display.",
|
|
|
|
|
"Display", "ShowResolution", false);
|
|
|
|
|
DrawToggleSetting(bsi, "Show Controller Input",
|
|
|
|
|
DrawToggleSetting(bsi, ICON_FA_GAMEPAD " Show Controller Input",
|
|
|
|
|
"Shows the current controller state of the system in the bottom-left corner of the display.",
|
|
|
|
|
"Display", "ShowInputs", false);
|
|
|
|
|
|
|
|
|
@ -2666,8 +2673,7 @@ void FullscreenUI::DrawControllerSettingsPage()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MenuButton(ICON_FA_FOLDER_OPEN " Load Profile",
|
|
|
|
|
"Replaces these settings with a previously saved input profile."))
|
|
|
|
|
if (MenuButton(ICON_FA_FOLDER_OPEN " Load Profile", "Replaces these settings with a previously saved input profile."))
|
|
|
|
|
{
|
|
|
|
|
DoLoadInputProfile();
|
|
|
|
|
}
|
|
|
|
@ -3426,8 +3432,8 @@ void FullscreenUI::DrawAchievementsSettingsPage()
|
|
|
|
|
if (Achievements::IsUsingRAIntegration())
|
|
|
|
|
{
|
|
|
|
|
BeginMenuButtons();
|
|
|
|
|
ActiveButton(ICON_FA_BAN " RAIntegration is being used instead of the built-in achievements implementation.",
|
|
|
|
|
false, false, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY);
|
|
|
|
|
ActiveButton(ICON_FA_BAN " RAIntegration is being used instead of the built-in achievements implementation.", false,
|
|
|
|
|
false, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY);
|
|
|
|
|
EndMenuButtons();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -3484,8 +3490,8 @@ void FullscreenUI::DrawAchievementsSettingsPage()
|
|
|
|
|
ts_string.AppendFmtString(
|
|
|
|
|
"{:%Y-%m-%d %H:%M:%S}",
|
|
|
|
|
fmt::localtime(StringUtil::FromChars<u64>(bsi->GetStringValue("Cheevos", "LoginTimestamp", "0")).value_or(0)));
|
|
|
|
|
ActiveButton(SmallString::FromFormat(ICON_FA_CLOCK " Login token generated on %s", ts_string.GetCharArray()),
|
|
|
|
|
false, false, ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY);
|
|
|
|
|
ActiveButton(SmallString::FromFormat(ICON_FA_CLOCK " Login token generated on %s", ts_string.GetCharArray()), false,
|
|
|
|
|
false, ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY);
|
|
|
|
|
ImGui::PopStyleColor();
|
|
|
|
|
|
|
|
|
|
if (MenuButton(ICON_FA_KEY " Logout", "Logs out of RetroAchievements."))
|
|
|
|
|