From 2157a7ed0b7e8df36225fd88f6f708118fde0396 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 13 Apr 2024 00:53:58 +1000 Subject: [PATCH] FullscreenUI: Redo landing page and add help bar Backport of https://github.com/stenzek/duckstation/commit/bf4e8feb25cd186e42115877d8541219504047dd --- .../fullscreenui/address-book-new.png | Bin 0 -> 122435 bytes bin/resources/fullscreenui/back-icon.png | Bin 0 -> 39895 bytes bin/resources/fullscreenui/desktop-mode.png | Bin 0 -> 35051 bytes bin/resources/fullscreenui/drive-cdrom.png | Bin 0 -> 24107 bytes bin/resources/fullscreenui/exit.png | Bin 0 -> 59363 bytes bin/resources/fullscreenui/start-bios.png | Bin 0 -> 35672 bytes bin/resources/fullscreenui/start-file.png | Bin 0 -> 55364 bytes pcsx2-gsrunner/Main.cpp | 8 +- pcsx2-qt/QtHost.cpp | 9 +- pcsx2/Achievements.cpp | 46 +- pcsx2/Achievements.h | 9 +- pcsx2/Host.h | 4 - pcsx2/ImGui/FullscreenUI.cpp | 703 ++++++++++++++---- pcsx2/ImGui/FullscreenUI.h | 14 +- pcsx2/ImGui/ImGuiFullscreen.cpp | 301 +++++++- pcsx2/ImGui/ImGuiFullscreen.h | 41 +- pcsx2/ImGui/ImGuiManager.cpp | 4 +- tests/ctest/core/StubHost.cpp | 6 +- 18 files changed, 935 insertions(+), 210 deletions(-) create mode 100644 bin/resources/fullscreenui/address-book-new.png create mode 100644 bin/resources/fullscreenui/back-icon.png create mode 100644 bin/resources/fullscreenui/desktop-mode.png create mode 100644 bin/resources/fullscreenui/drive-cdrom.png create mode 100644 bin/resources/fullscreenui/exit.png create mode 100644 bin/resources/fullscreenui/start-bios.png create mode 100644 bin/resources/fullscreenui/start-file.png diff --git a/bin/resources/fullscreenui/address-book-new.png b/bin/resources/fullscreenui/address-book-new.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6bffc168ce47f43e2d2a8c22ce807dde7d53d3 GIT binary patch literal 122435 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%0A@8`69w)m8u7SpKP&SmLGoH= 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 literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/back-icon.png b/bin/resources/fullscreenui/back-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..438aaa39b9fd25edc7378ecda25226abe8895e00 GIT binary patch literal 39895 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 Hu0mjfMfovC literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/desktop-mode.png b/bin/resources/fullscreenui/desktop-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..081e031b2297f648c25d976e135fa3f8400a2506 GIT binary patch literal 35051 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 literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/drive-cdrom.png b/bin/resources/fullscreenui/drive-cdrom.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa911ccd49c6a082f46dc98842710f8d7b07fc8 GIT binary patch literal 24107 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 literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/exit.png b/bin/resources/fullscreenui/exit.png new file mode 100644 index 0000000000000000000000000000000000000000..d0cec9db7f05edd83f6a917c434dcc3f507a62a3 GIT binary patch literal 59363 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 literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/start-bios.png b/bin/resources/fullscreenui/start-bios.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7405269c02ba01a905f8a3ccbf21e509f31b0e GIT binary patch literal 35672 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

Ir=$^5F%x=%Kw!iS(8 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 literal 0 HcmV?d00001 diff --git a/bin/resources/fullscreenui/start-file.png b/bin/resources/fullscreenui/start-file.png new file mode 100644 index 0000000000000000000000000000000000000000..3e27c19333299e22ce60aa16eb745dcd4fe92a72 GIT binary patch literal 55364 zcmeFYXIN8P)HNDHXwpHYNf8i4x>V`C7ey4LH$~}4uL;tngNRBK5D^gqDosjgf{iXU zKqxA`mrz3Tt$5CPzxO`(|NV8J!vQ3Fuf5h>bIm!%m~$syH_@d%!+r(=fzayfX_-MF zQ1B}hLP-vO>;?Zk20vh~>c;92NKG0w&XElKo5xwt%oqX*6@WkxF%Ssx62uY&5+DJA ztT;d*3eO-A7N5LNHQ^DzLvUq@Z{QQP#*tS2v@R7*;_x; z0@@F3OeeED@Lb=ufVZFCy51{mT8!A@@GvzE*k69T z5?UyyEUw1GKna6J{r^Ayzcs-rjZXYa)Yfb?J)YNjtrJp3B4MN(qqYS1=`&2O$$^A# zJQl7x?EL!ms{rRYC?kUQ5q-px=C$teLZ3d2rf#&__`u-}fvk`*LDi$L4;0SAcp(v~ zX%TDA%T|>KWZmP6%lE;)LUg5`|FBMkF%&xtTwL;O-i+9kTHQb9&e|4apoCUcjIE}H zZ$)!oDAQEufesWp#A?jZLvW&CIH-F2ew-r%6;BKYg95B2Y(r(Qi2gJPg3^e8q{gE) zO9jD39uF55fIDAOs&UVDa^tt){0pW$3{JE6y2tAYGnkVwXaCETT9D8S+{Xj)kPUM3pspRcsrI676Ljp5|@H`b3rM3i7b(3bt5;h5^D3;~x z3<;1u1{K^KJwdbYXmdCN_^WW6bDU%II{Xw#sMU&pL-B>@)d80 zoL_=4E!7PL&B{j{(-@SR?N~g-M?2LV9uV*t!pT)m-Q(9xpIGTt4rj%ohZmehvbzp9 zXIePWb;fN*&;1#elT4O0rC%5;o&50Q%z!{trD+z{&r-cSffj|O5c;LMxyaK^c0SoQ z1v)PFak}8BV!WD`-;cDckFL^!dp?|{;$a|J5)A*v$K5zqw~m6O8@l0w)+hD53)RMX z?#r?V|9QSx-JCa-%1p%rRa?3me%Q&~It{LLN~YxxnNHNrrw>C^rykBys0LR!vZg^;jdngICQ_|UH?b@mJr?8Y zu#&o}KyI55TA5m+TevLExuw@=gFotr<9E*~WNJYuSDkT4DVhaE2vd2W=S(x(3D!Q* zU%;5cw=?qj@~Tmg@5>wBvtKew@^zrCcdlg581o}2A#*z%1kyOiaQZf_%(0ZTw1t79 z=)V?dtf}&gc?IrRE=%(_fa2NPnp97hO)Zv;X)c&uVoZ3)UXM1i|*5Lk40)BIBiH3oM=N&K6-BTpG zTYImeB)_hbQ&9L$2gGN5|IJj`UQW&8GyjW9;Si>gb}`>%;Y9^fy*1rtvdOMup}ef1 zd&unJpeirPDYe<-JA$};)NW9m(J)Q`k(p^4T^T^6q(pk*R%0A~Vr= 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 literal 0 HcmV?d00001 diff --git a/pcsx2-gsrunner/Main.cpp b/pcsx2-gsrunner/Main.cpp index de6363d8a1..09ddb5959d 100644 --- a/pcsx2-gsrunner/Main.cpp +++ b/pcsx2-gsrunner/Main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2023 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include @@ -356,7 +356,11 @@ void Host::OnCaptureStopped() { } -void Host::RequestExit(bool allow_confirm) +void Host::RequestExitApplication(bool allow_confirm) +{ +} + +void Host::RequestExitBigPicture() { } diff --git a/pcsx2-qt/QtHost.cpp b/pcsx2-qt/QtHost.cpp index fa4909aba8..eaade67454 100644 --- a/pcsx2-qt/QtHost.cpp +++ b/pcsx2-qt/QtHost.cpp @@ -215,6 +215,8 @@ void EmuThread::stopFullscreenUI() return; } + setFullscreen(false, true); + if (MTGS::IsOpen() && !VMManager::HasValidVM()) MTGS::WaitForClose(); @@ -1145,11 +1147,16 @@ void Host::CancelGameListRefresh() QMetaObject::invokeMethod(g_main_window, "cancelGameListRefresh", Qt::BlockingQueuedConnection); } -void Host::RequestExit(bool allow_confirm) +void Host::RequestExitApplication(bool allow_confirm) { QMetaObject::invokeMethod(g_main_window, "requestExit", Qt::QueuedConnection, Q_ARG(bool, allow_confirm)); } +void Host::RequestExitBigPicture() +{ + g_emu_thread->stopFullscreenUI(); +} + void Host::RequestVMShutdown(bool allow_confirm, bool allow_save_state, bool default_save_state) { if (!VMManager::HasValidVM()) diff --git a/pcsx2/Achievements.cpp b/pcsx2/Achievements.cpp index b9d83ef494..9cd2a5cb86 100644 --- a/pcsx2/Achievements.cpp +++ b/pcsx2/Achievements.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2023 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #define IMGUI_DEFINE_MATH_OPERATORS @@ -1729,16 +1729,7 @@ void Achievements::ShowLoginSuccess(const rc_client_t* client) if (EmuConfig.Achievements.Notifications && MTGS::IsOpen()) { - std::string badge_path = GetUserBadgePath(user->username); - if (!FileSystem::FileExists(badge_path.c_str())) - { - char url[512]; - const int res = rc_client_user_get_image_url(user, url, std::size(url)); - if (res == RC_OK) - DownloadImage(url, badge_path); - else - ReportRCError(res, "rc_client_user_get_image_url() failed: "); - } + std::string badge_path = GetLoggedInUserBadgePath(); //: Summary for login notification. std::string title = user->display_name; @@ -1755,6 +1746,37 @@ void Achievements::ShowLoginSuccess(const rc_client_t* client) } } +const char* Achievements::GetLoggedInUserName() +{ + const rc_client_user_t* user = rc_client_get_user_info(s_client); + if (!user) [[unlikely]] + return nullptr; + + return user->username; +} + +std::string Achievements::GetLoggedInUserBadgePath() +{ + std::string badge_path; + + const rc_client_user_t* user = rc_client_get_user_info(s_client); + if (!user) [[unlikely]] + return badge_path; + + badge_path = GetUserBadgePath(user->username); + if (!FileSystem::FileExists(badge_path.c_str())) [[unlikely]] + { + char url[512]; + const int res = rc_client_user_get_image_url(user, url, std::size(url)); + if (res == RC_OK) + DownloadImage(url, badge_path); + else + ReportRCError(res, "rc_client_user_get_image_url() failed: "); + } + + return badge_path; +} + void Achievements::Logout() { if (IsActive()) @@ -2279,6 +2301,7 @@ void Achievements::DrawAchievementsWindow() ImGuiFullscreen::EndMenuButtons(); } ImGuiFullscreen::EndFullscreenWindow(); + FullscreenUI::SetStandardSelectionFooterText(true); } void Achievements::DrawAchievement(const rc_client_achievement_t* cheevo) @@ -2657,6 +2680,7 @@ void Achievements::DrawLeaderboardsWindow() } } ImGuiFullscreen::EndFullscreenWindow(); + FullscreenUI::SetStandardSelectionFooterText(true); if (!is_leaderboard_open) { diff --git a/pcsx2/Achievements.h b/pcsx2/Achievements.h index 9c65ebb3bb..3507d40194 100644 --- a/pcsx2/Achievements.h +++ b/pcsx2/Achievements.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2023 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once @@ -109,6 +109,13 @@ namespace Achievements /// Should be called with the lock held. const std::string& GetGameTitle(); + /// Returns the logged-in user name. + const char* GetLoggedInUserName(); + + /// Returns the path to the user's profile avatar. + /// Should be called with the lock held. + std::string GetLoggedInUserBadgePath(); + /// Clears all cached state used to render the UI. void ClearUIState(); diff --git a/pcsx2/Host.h b/pcsx2/Host.h index 8d8bc78cc0..d8ba778d0a 100644 --- a/pcsx2/Host.h +++ b/pcsx2/Host.h @@ -81,10 +81,6 @@ namespace Host /// Cancels game list refresh, if there is one in progress. void CancelGameListRefresh(); - /// Requests shut down and exit of the hosting application. This may not actually exit, - /// if the user cancels the shutdown confirmation. - void RequestExit(bool allow_confirm); - /// Requests shut down of the current virtual machine. void RequestVMShutdown(bool allow_confirm, bool allow_save_state, bool default_save_state); diff --git a/pcsx2/ImGui/FullscreenUI.cpp b/pcsx2/ImGui/FullscreenUI.cpp index 5b3bad9bd0..d23ca3aa48 100644 --- a/pcsx2/ImGui/FullscreenUI.cpp +++ b/pcsx2/ImGui/FullscreenUI.cpp @@ -43,6 +43,7 @@ #include "imgui.h" #include "imgui_internal.h" +#include "fmt/chrono.h" #include "fmt/core.h" #include @@ -82,6 +83,7 @@ using ImGuiFullscreen::g_large_font; using ImGuiFullscreen::g_layout_padding_left; using ImGuiFullscreen::g_layout_padding_top; using ImGuiFullscreen::g_medium_font; +using ImGuiFullscreen::LAYOUT_FOOTER_HEIGHT; using ImGuiFullscreen::LAYOUT_LARGE_FONT_SIZE; using ImGuiFullscreen::LAYOUT_MEDIUM_FONT_SIZE; using ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT; @@ -111,6 +113,7 @@ using ImGuiFullscreen::AddNotification; using ImGuiFullscreen::BeginFullscreenColumns; using ImGuiFullscreen::BeginFullscreenColumnWindow; using ImGuiFullscreen::BeginFullscreenWindow; +using ImGuiFullscreen::BeginHorizontalMenu; using ImGuiFullscreen::BeginMenuButtons; using ImGuiFullscreen::BeginNavBar; using ImGuiFullscreen::CenterImage; @@ -120,13 +123,18 @@ using ImGuiFullscreen::DPIScale; using ImGuiFullscreen::EndFullscreenColumns; using ImGuiFullscreen::EndFullscreenColumnWindow; using ImGuiFullscreen::EndFullscreenWindow; +using ImGuiFullscreen::EndHorizontalMenu; using ImGuiFullscreen::EndMenuButtons; using ImGuiFullscreen::EndNavBar; using ImGuiFullscreen::EnumChoiceButton; using ImGuiFullscreen::FloatingButton; +using ImGuiFullscreen::ForceKeyNavEnabled; using ImGuiFullscreen::GetCachedTexture; using ImGuiFullscreen::GetCachedTextureAsync; using ImGuiFullscreen::GetPlaceholderTexture; +using ImGuiFullscreen::HorizontalMenuItem; +using ImGuiFullscreen::IsFocusResetQueued; +using ImGuiFullscreen::IsGamepadInputSource; using ImGuiFullscreen::LayoutScale; using ImGuiFullscreen::LoadTexture; using ImGuiFullscreen::MenuButton; @@ -151,6 +159,7 @@ using ImGuiFullscreen::QueueResetFocus; using ImGuiFullscreen::RangeButton; using ImGuiFullscreen::ResetFocusHere; using ImGuiFullscreen::RightAlignNavButtons; +using ImGuiFullscreen::SetFullscreenFooterText; using ImGuiFullscreen::ShowToast; using ImGuiFullscreen::ThreeWayToggleButton; using ImGuiFullscreen::ToggleButton; @@ -162,7 +171,10 @@ namespace FullscreenUI { None, Landing, + StartGame, + Exit, GameList, + GameListSettings, Settings, PauseMenu, Achievements, @@ -196,11 +208,10 @@ namespace FullscreenUI Count }; - enum class GameListPage + enum class GameListView { Grid, List, - Settings, Count }; @@ -208,16 +219,20 @@ namespace FullscreenUI // Main ////////////////////////////////////////////////////////////////////////// static void UpdateGameDetails(std::string path, std::string serial, std::string title, u32 disc_crc, u32 crc); - static void ToggleTheme(); + static bool AreAnyDialogsOpen(); static void PauseForMenuOpen(bool set_pause_menu_open); static void ClosePauseMenu(); static void OpenPauseSubMenu(PauseSubMenu submenu); + static void DrawLandingTemplate(ImVec2* menu_pos, ImVec2* menu_size); static void DrawLandingWindow(); + static void DrawStartGameWindow(); + static void DrawExitWindow(); static void DrawPauseMenu(MainWindowType type); static void ExitFullscreenAndOpenURL(const std::string_view& url); static void CopyTextToClipboard(std::string title, const std::string_view& text); static void DrawAboutWindow(); static void OpenAboutWindow(); + static void GetStandardSelectionFooterText(SmallStringBase& dest, bool back_instead_of_cancel); static MainWindowType s_current_main_window = MainWindowType::None; static PauseSubMenu s_current_pause_submenu = PauseSubMenu::None; @@ -240,7 +255,6 @@ namespace FullscreenUI static bool LoadResources(); static void DestroyResources(); - static std::shared_ptr s_app_icon_texture; static std::array, static_cast(GameDatabaseSchema::Compatibility::Perfect)> s_game_compatibility_textures; static std::shared_ptr s_fallback_disc_texture; @@ -268,6 +282,7 @@ namespace FullscreenUI static void DoChangeDiscFromFile(); static void RequestChangeDisc(); static void DoRequestExit(); + static void DoDesktopMode(); static void DoToggleFullscreen(); static void ConfirmShutdownIfMemcardBusy(std::function callback); @@ -437,7 +452,7 @@ namespace FullscreenUI static void DrawGameGrid(const ImVec2& heading_size); static void HandleGameListActivate(const GameList::Entry* entry); static void HandleGameListOptions(const GameList::Entry* entry); - static void DrawGameListSettingsPage(const ImVec2& heading_size); + static void DrawGameListSettingsWindow(); static void SwitchToGameList(); static void PopulateGameListEntryList(); static GSTexture* GetTextureForGameListEntryType(GameList::EntryType type); @@ -447,7 +462,7 @@ namespace FullscreenUI // Lazily populated cover images. static std::unordered_map s_cover_image_map; static std::vector s_game_list_sorted_entries; - static GameListPage s_game_list_page = GameListPage::Grid; + static GameListView s_game_list_view = GameListView::Grid; ////////////////////////////////////////////////////////////////////////// // Achievements @@ -475,6 +490,73 @@ TinyString FullscreenUI::TimeToPrintableString(time_t t) return ret; } +void FullscreenUI::GetStandardSelectionFooterText(SmallStringBase& dest, bool back_instead_of_cancel) +{ + if (IsGamepadInputSource()) + { + ImGuiFullscreen::CreateFooterTextString( + dest, + std::array{std::make_pair(ICON_PF_XBOX_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, back_instead_of_cancel ? FSUI_VSTR("Back") : FSUI_VSTR("Cancel"))}); + } + else + { + ImGuiFullscreen::CreateFooterTextString( + dest, std::array{std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_ESC, back_instead_of_cancel ? FSUI_VSTR("Back") : FSUI_VSTR("Cancel"))}); + } +} + +void FullscreenUI::SetStandardSelectionFooterText(bool back_instead_of_cancel) +{ + SmallString text; + GetStandardSelectionFooterText(text, back_instead_of_cancel); + ImGuiFullscreen::SetFullscreenFooterText(text); +} + +void ImGuiFullscreen::GetChoiceDialogHelpText(SmallStringBase& dest) +{ + FullscreenUI::GetStandardSelectionFooterText(dest, false); +} + +void ImGuiFullscreen::GetFileSelectorHelpText(SmallStringBase& dest) +{ + if (IsGamepadInputSource()) + { + ImGuiFullscreen::CreateFooterTextString( + dest, std::array{std::make_pair(ICON_PF_XBOX_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_BUTTON_Y, FSUI_VSTR("Parent Directory")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Cancel"))}); + } + else + { + ImGuiFullscreen::CreateFooterTextString( + dest, + std::array{std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_BACKSPACE, FSUI_VSTR("Parent Directory")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), std::make_pair(ICON_PF_ESC, FSUI_VSTR("Cancel"))}); + } +} + +void ImGuiFullscreen::GetInputDialogHelpText(SmallStringBase& dest) +{ + if (IsGamepadInputSource()) + { + CreateFooterTextString(dest, std::array{std::make_pair(ICON_PF_KEYBOARD, FSUI_VSTR("Enter Value")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Cancel"))}); + } + else + { + CreateFooterTextString(dest, std::array{std::make_pair(ICON_PF_KEYBOARD, FSUI_VSTR("Enter Value")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_ESC, FSUI_VSTR("Cancel"))}); + } +} + ////////////////////////////////////////////////////////////////////////// // Main ////////////////////////////////////////////////////////////////////////// @@ -514,6 +596,7 @@ bool FullscreenUI::Initialize() SwitchToLanding(); } + ForceKeyNavEnabled(); return true; } @@ -524,8 +607,14 @@ bool FullscreenUI::IsInitialized() bool FullscreenUI::HasActiveWindow() { - return s_current_main_window != MainWindowType::None || s_save_state_selector_open || ImGuiFullscreen::IsChoiceDialogOpen() || - ImGuiFullscreen::IsFileSelectorOpen(); + return s_initialized && (s_current_main_window != MainWindowType::None || AreAnyDialogsOpen()); +} + +bool FullscreenUI::AreAnyDialogsOpen() +{ + return (s_save_state_selector_open || s_about_window_open || + s_input_binding_type != InputBindingInfo::Type::Unknown || ImGuiFullscreen::IsChoiceDialogOpen() || + ImGuiFullscreen::IsFileSelectorOpen()); } void FullscreenUI::CheckForConfigChanges(const Pcsx2Config& old_config) @@ -604,14 +693,6 @@ void FullscreenUI::UpdateGameDetails(std::string path, std::string serial, std:: s_current_disc_crc = disc_crc; } -void FullscreenUI::ToggleTheme() -{ - const bool new_light = !Host::GetBaseBoolSettingValue("UI", "UseLightFullscreenUITheme", false); - Host::SetBaseBoolSettingValue("UI", "UseLightFullscreenUITheme", new_light); - Host::CommitBaseSettingChanges(); - ImGuiFullscreen::SetTheme(new_light); -} - void FullscreenUI::PauseForMenuOpen(bool set_pause_menu_open) { s_was_paused_on_quick_menu_open = (VMManager::GetState() == VMState::Paused); @@ -631,6 +712,7 @@ void FullscreenUI::OpenPauseMenu() return; PauseForMenuOpen(true); + ForceKeyNavEnabled(); s_current_main_window = MainWindowType::PauseMenu; s_current_pause_submenu = PauseSubMenu::None; QueueResetFocus(); @@ -713,9 +795,18 @@ void FullscreenUI::Render() case MainWindowType::Landing: DrawLandingWindow(); break; + case MainWindowType::StartGame: + DrawStartGameWindow(); + break; + case MainWindowType::Exit: + DrawExitWindow(); + break; case MainWindowType::GameList: DrawGameListWindow(); break; + case MainWindowType::GameListSettings: + DrawGameListSettingsWindow(); + break; case MainWindowType::Settings: DrawSettingsWindow(); break; @@ -797,8 +888,6 @@ void FullscreenUI::ReturnToMainWindow() bool FullscreenUI::LoadResources() { - s_app_icon_texture = LoadTexture("icons/AppIconLarge.png"); - s_fallback_disc_texture = LoadTexture("fullscreenui/media-cdrom.png"); s_fallback_exe_texture = LoadTexture("fullscreenui/applications-system.png"); @@ -813,7 +902,6 @@ bool FullscreenUI::LoadResources() void FullscreenUI::DestroyResources() { - s_app_icon_texture.reset(); s_fallback_exe_texture.reset(); s_fallback_disc_texture.reset(); for (auto& tex : s_game_compatibility_textures) @@ -1020,7 +1108,12 @@ void FullscreenUI::RequestChangeDisc() void FullscreenUI::DoRequestExit() { - Host::RunOnCPUThread([]() { Host::RequestExit(true); }); + Host::RunOnCPUThread([]() { Host::RequestExitApplication(true); }); +} + +void FullscreenUI::DoDesktopMode() +{ + Host::RunOnCPUThread([]() { Host::RequestExitBigPicture(); }); } void FullscreenUI::DoToggleFullscreen() @@ -1051,82 +1144,247 @@ void FullscreenUI::SwitchToLanding() QueueResetFocus(); } +void FullscreenUI::DrawLandingTemplate(ImVec2* menu_pos, ImVec2* menu_size) +{ + const ImGuiIO& io = ImGui::GetIO(); + const ImVec2 heading_size = ImVec2( + io.DisplaySize.x, LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f + 2.0f)); + *menu_pos = ImVec2(0.0f, heading_size.y); + *menu_size = ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT)); + + if (BeginFullscreenWindow(ImVec2(0.0f, 0.0f), heading_size, "landing_heading", UIPrimaryColor)) + { + ImFont* const heading_font = g_large_font; + ImDrawList* const dl = ImGui::GetWindowDrawList(); + SmallString heading_str; + + ImGui::PushFont(heading_font); + ImGui::PushStyleColor(ImGuiCol_Text, UIPrimaryTextColor); + + // draw branding + { + const ImVec2 logo_pos = LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING, LAYOUT_MENU_BUTTON_Y_PADDING); + const ImVec2 logo_size = LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY); + dl->AddImage(GetCachedTexture("icons/AppIconLarge.png"), logo_pos, logo_pos + logo_size); + dl->AddText(heading_font, heading_font->FontSize, + ImVec2(logo_pos.x + logo_size.x + LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING), logo_pos.y), + ImGui::GetColorU32(ImGuiCol_Text), "PCSX2"); + } + + // draw time + ImVec2 time_pos; + { + heading_str.format(FSUI_FSTR("{:%H:%M}"), fmt::localtime(std::time(nullptr))); + + const ImVec2 time_size = heading_font->CalcTextSizeA(heading_font->FontSize, FLT_MAX, 0.0f, "00:00"); + time_pos = ImVec2(heading_size.x - LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING) - time_size.x, + LayoutScale(LAYOUT_MENU_BUTTON_Y_PADDING)); + ImGui::RenderTextClipped(time_pos, time_pos + time_size, heading_str.c_str(), heading_str.end_ptr(), &time_size); + } + + // draw achievements info + if (Achievements::IsActive()) + { + const auto lock = Achievements::GetLock(); + const char* username = Achievements::GetLoggedInUserName(); + if (username) + { + const ImVec2 name_size = heading_font->CalcTextSizeA(heading_font->FontSize, FLT_MAX, 0.0f, username); + const ImVec2 name_pos = + ImVec2(time_pos.x - name_size.x - LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING), time_pos.y); + ImGui::RenderTextClipped(name_pos, name_pos + name_size, username, nullptr, &name_size); + + // TODO: should we cache this? heap allocations bad... + std::string badge_path = Achievements::GetLoggedInUserBadgePath(); + if (!badge_path.empty()) [[likely]] + { + const ImVec2 badge_size = + LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY); + const ImVec2 badge_pos = + ImVec2(name_pos.x - badge_size.x - LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING), time_pos.y); + + dl->AddImage(reinterpret_cast(GetCachedTextureAsync(badge_path)), badge_pos, + badge_pos + badge_size); + } + } + } + + ImGui::PopStyleColor(); + ImGui::PopFont(); + } + EndFullscreenWindow(); +} + void FullscreenUI::DrawLandingWindow() { - BeginFullscreenColumns(nullptr, 0.0f, true); + ImVec2 menu_pos, menu_size; + DrawLandingTemplate(&menu_pos, &menu_size); - if (BeginFullscreenColumnWindow(0.0f, -710.0f, "logo", UIPrimaryDarkColor)) - { - const float image_size = LayoutScale(380.f); - ImGui::SetCursorPos( - ImVec2((ImGui::GetWindowWidth() * 0.5f) - (image_size * 0.5f), (ImGui::GetWindowHeight() * 0.5f) - (image_size * 0.5f))); - ImGui::Image(s_app_icon_texture->GetNativeHandle(), ImVec2(image_size, image_size)); - } - EndFullscreenColumnWindow(); + ImGui::PushStyleColor(ImGuiCol_Text, UIBackgroundTextColor); - if (BeginFullscreenColumnWindow(-710.0f, 0.0f, "menu", UIBackgroundColor)) + if (BeginHorizontalMenu("landing_window", menu_pos, menu_size, 4)) { ResetFocusHere(); - BeginMenuButtons(6, 0.5f); - - if (MenuButton(FSUI_ICONSTR(ICON_FA_LIST, "Game List"), FSUI_CSTR("Launch a game from images scanned from your game directories."))) + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/address-book-new.png"), FSUI_CSTR("Game List"), + FSUI_CSTR("Launch a game from images scanned from your game directories."))) { SwitchToGameList(); } - if (MenuButton(FSUI_ICONSTR(ICON_FA_FILE, "Start File"), FSUI_CSTR("Launch a game by selecting a file/disc image."))) + if (HorizontalMenuItem( + GetCachedTexture("fullscreenui/media-cdrom.png"), FSUI_CSTR("Start Game"), + FSUI_CSTR("Launch a game from a file, disc, or starts the console without any disc inserted."))) + { + s_current_main_window = MainWindowType::StartGame; + QueueResetFocus(); + } + + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/applications-system.png"), FSUI_CSTR("Settings"), + FSUI_CSTR("Changes settings for the application."))) + { + SwitchToSettings(); + } + + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/exit.png"), FSUI_CSTR("Exit"), + FSUI_CSTR("Return to desktop mode, or exit the application.")) || + (!AreAnyDialogsOpen() && WantsToCloseMenu())) + { + s_current_main_window = MainWindowType::Exit; + QueueResetFocus(); + } + } + EndHorizontalMenu(); + + ImGui::PopStyleColor(); + + if (!AreAnyDialogsOpen()) + { + if (ImGui::IsKeyPressed(ImGuiKey_GamepadStart, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false)) + OpenAboutWindow(); + else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F11, false)) + DoToggleFullscreen(); + } + + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_BURGER_MENU, FSUI_VSTR("About")), + std::make_pair(ICON_PF_BUTTON_X, FSUI_VSTR("Toggle Fullscreen")), + std::make_pair(ICON_PF_XBOX_DPAD_LEFT_RIGHT, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Exit"))}); + } + else + { + SetFullscreenFooterText(std::array{ + std::make_pair(ICON_PF_F1, FSUI_VSTR("About")), + std::make_pair(ICON_PF_F11, FSUI_VSTR("Toggle Fullscreen")), + std::make_pair(ICON_PF_ARROW_LEFT ICON_PF_ARROW_RIGHT, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), std::make_pair(ICON_PF_ESC, FSUI_VSTR("Exit"))}); + } +} + +void FullscreenUI::DrawStartGameWindow() +{ + ImVec2 menu_pos, menu_size; + DrawLandingTemplate(&menu_pos, &menu_size); + + ImGui::PushStyleColor(ImGuiCol_Text, UIBackgroundTextColor); + + if (BeginHorizontalMenu("start_game_window", menu_pos, menu_size, 4)) + { + ResetFocusHere(); + + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/start-file.png"), FSUI_CSTR("Start File"), + FSUI_CSTR("Launch a game by selecting a file/disc image."))) { DoStartFile(); } - if (MenuButton(FSUI_ICONSTR(ICON_PF_MICROCHIP, "Start BIOS"), FSUI_CSTR("Start the console without any disc inserted."))) - { - DoStartBIOS(); - } - - if (MenuButton(FSUI_ICONSTR(ICON_FA_COMPACT_DISC, "Start Disc"), FSUI_CSTR("Start a game from a disc in your PC's DVD drive."))) + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/drive-cdrom.png"), FSUI_CSTR("Start Disc"), + FSUI_CSTR("Start a game from a disc in your PC's DVD drive."))) { DoStartDisc(); } - if (MenuButton(FSUI_ICONSTR(ICON_FA_TOOLBOX, "Settings"), FSUI_CSTR("Change settings for the emulator."))) - SwitchToSettings(); + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/start-bios.png"), FSUI_CSTR("Start BIOS"), + FSUI_CSTR("Start the console without any disc inserted."))) + { + DoStartBIOS(); + } - if (MenuButton(FSUI_ICONSTR(ICON_FA_SIGN_OUT_ALT, "Exit"), FSUI_CSTR("Exits the program."))) + // https://www.iconpacks.net/free-icon/arrow-back-3783.html + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/back-icon.png"), FSUI_CSTR("Back"), + FSUI_CSTR("Return to the previous menu.")) || + (!AreAnyDialogsOpen() && WantsToCloseMenu())) + { + s_current_main_window = MainWindowType::Landing; + QueueResetFocus(); + } + } + EndHorizontalMenu(); + + ImGui::PopStyleColor(); + + if (!AreAnyDialogsOpen()) + { + if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false)) + OpenSaveStateSelector(true); + } + + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_XBOX_DPAD_LEFT_RIGHT, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_BUTTON_Y, FSUI_VSTR("Load Global State")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Back"))}); + } + else + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_ARROW_LEFT ICON_PF_ARROW_RIGHT, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_F1, FSUI_VSTR("Load Global State")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_ESC, FSUI_VSTR("Back"))}); + } +} + +void FullscreenUI::DrawExitWindow() +{ + ImVec2 menu_pos, menu_size; + DrawLandingTemplate(&menu_pos, &menu_size); + + ImGui::PushStyleColor(ImGuiCol_Text, UIBackgroundTextColor); + + if (BeginHorizontalMenu("exit_window", menu_pos, menu_size, 3)) + { + ResetFocusHere(); + + // https://www.iconpacks.net/free-icon/arrow-back-3783.html + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/back-icon.png"), FSUI_CSTR("Back"), + FSUI_CSTR("Return to the previous menu.")) || + WantsToCloseMenu()) + { + s_current_main_window = MainWindowType::Landing; + QueueResetFocus(); + } + + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/exit.png"), FSUI_CSTR("Exit PCSX2"), + FSUI_CSTR("Completely exits the application, returning you to your desktop."))) { DoRequestExit(); } + if (HorizontalMenuItem(GetCachedTexture("fullscreenui/desktop-mode.png"), FSUI_CSTR("Desktop Mode"), + FSUI_CSTR("Exits Big Picture mode, returning to the desktop interface."))) { - ImVec2 fullscreen_pos; - if (FloatingButton(ICON_FA_WINDOW_CLOSE, 0.0f, 0.0f, -1.0f, -1.0f, 1.0f, 0.0f, true, g_large_font, &fullscreen_pos)) - DoRequestExit(); - - if (FloatingButton(ICON_FA_EXPAND, fullscreen_pos.x, 0.0f, -1.0f, -1.0f, -1.0f, 0.0f, true, g_large_font, &fullscreen_pos)) - DoToggleFullscreen(); - - if (FloatingButton( - ICON_FA_QUESTION_CIRCLE, fullscreen_pos.x, 0.0f, -1.0f, -1.0f, -1.0f, 0.0f, true, g_large_font, &fullscreen_pos)) - OpenAboutWindow(); - - if (FloatingButton(ICON_FA_LIGHTBULB, fullscreen_pos.x, 0.0f, -1.0f, -1.0f, -1.0f, 0.0f, true, g_large_font, &fullscreen_pos)) - ToggleTheme(); + DoDesktopMode(); } - - EndMenuButtons(); - - const ImVec2 rev_size(g_medium_font->CalcTextSizeA(g_medium_font->FontSize, FLT_MAX, 0.0f, GIT_REV)); - ImGui::SetCursorPos( - ImVec2(ImGui::GetWindowWidth() - rev_size.x - LayoutScale(20.0f), ImGui::GetWindowHeight() - rev_size.y - LayoutScale(20.0f))); - ImGui::PushFont(g_medium_font); - ImGui::Text(GIT_REV); - ImGui::PopFont(); } + EndHorizontalMenu(); - EndFullscreenColumnWindow(); + ImGui::PopStyleColor(); - EndFullscreenColumns(); + SetStandardSelectionFooterText(true); } bool FullscreenUI::IsEditingGameSettings(SettingsInterface* bsi) @@ -2499,15 +2757,20 @@ void FullscreenUI::DrawSettingsWindow() if (!ImGui::IsPopupOpen(0u, ImGuiPopupFlags_AnyPopup)) { - if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakSlow, false)) + if (ImGui::IsKeyPressed(ImGuiKey_GamepadDpadLeft, true) || + ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakSlow, true) || ImGui::IsKeyPressed(ImGuiKey_LeftArrow, true)) { index = (index == 0) ? (count - 1) : (index - 1); s_settings_page = pages[index]; + QueueResetFocus(); } - else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakFast, false)) + else if (ImGui::IsKeyPressed(ImGuiKey_GamepadDpadRight, true) || + ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakFast, true) || + ImGui::IsKeyPressed(ImGuiKey_RightArrow, true)) { index = (index + 1) % count; s_settings_page = pages[index]; + QueueResetFocus(); } } @@ -2539,16 +2802,20 @@ void FullscreenUI::DrawSettingsWindow() EndFullscreenWindow(); - if (BeginFullscreenWindow(ImVec2(0.0f, heading_size.y), ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y), "settings_parent", + // we have to do this here, because otherwise it uses target, and jumps a frame later. + if (IsFocusResetQueued()) + ImGui::SetNextWindowScroll(ImVec2(0.0f, 0.0f)); + + if (BeginFullscreenWindow( + ImVec2(0.0f, heading_size.y), + ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT)), + TinyString::from_format("settings_page_{}", static_cast(s_settings_page)).c_str(), ImVec4(UIBackgroundColor.x, UIBackgroundColor.y, UIBackgroundColor.z, bg_alpha))) { ResetFocusHere(); - if (WantsToCloseMenu()) - { - if (ImGui::IsWindowFocused()) - ReturnToPreviousWindow(); - } + if (ImGui::IsWindowFocused() && WantsToCloseMenu()) + ReturnToPreviousWindow(); auto lock = Host::GetSettingsLock(); @@ -2620,6 +2887,21 @@ void FullscreenUI::DrawSettingsWindow() } EndFullscreenWindow(); + + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_XBOX_DPAD_LEFT_RIGHT, FSUI_VSTR("Change Page")), + std::make_pair(ICON_PF_XBOX_DPAD_UP_DOWN, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Back"))}); + } + else + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_ARROW_LEFT ICON_PF_ARROW_RIGHT, FSUI_VSTR("Change Page")), + std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN, FSUI_VSTR("Navigate")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_ESC, FSUI_VSTR("Back"))}); + } } void FullscreenUI::DrawSummarySettingsPage() @@ -4482,7 +4764,7 @@ void FullscreenUI::DrawPatchesOrCheatsSettingsPage(bool cheats) if (cheats && s_game_cheat_unlabelled_count > 0) { ActiveButton(SmallString::from_format(master_enable ? FSUI_FSTR("{} unlabelled patch codes will automatically activate.") : - FSUI_FSTR("{} unlabelled patch codes found but not enabled."), + FSUI_FSTR("{} unlabelled patch codes found but not enabled."), s_game_cheat_unlabelled_count), false, false, ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY); } @@ -4586,8 +4868,8 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type) const ImVec2 subtitle_size(g_medium_font->CalcTextSizeA( g_medium_font->FontSize, std::numeric_limits::max(), -1.0f, s_current_game_subtitle.c_str())); - ImVec2 title_pos( - display_size.x - LayoutScale(10.0f + image_width + 20.0f) - title_size.x, display_size.y - LayoutScale(10.0f + image_height)); + ImVec2 title_pos(display_size.x - LayoutScale(10.0f + image_width + 20.0f) - title_size.x, + display_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT) - LayoutScale(10.0f + image_height)); ImVec2 path_pos(display_size.x - LayoutScale(10.0f + image_width + 20.0f) - path_size.x, title_pos.y + g_large_font->FontSize + LayoutScale(4.0f)); ImVec2 subtitle_pos(display_size.x - LayoutScale(10.0f + image_width + 20.0f) - subtitle_size.x, @@ -4627,8 +4909,8 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type) GSTexture* const cover = GetCoverForCurrentGame(); - const ImVec2 image_min( - display_size.x - LayoutScale(10.0f + image_width), display_size.y - LayoutScale(10.0f + image_height) - rp_height); + const ImVec2 image_min(display_size.x - LayoutScale(10.0f + image_width), + display_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT) - LayoutScale(10.0f + image_height) - rp_height); const ImVec2 image_max(image_min.x + LayoutScale(image_width), image_min.y + LayoutScale(image_height) + rp_height); const ImRect image_rect(CenterImage( ImRect(image_min, image_max), ImVec2(static_cast(cover->GetWidth()), static_cast(cover->GetHeight())))); @@ -4674,7 +4956,7 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type) } const ImVec2 window_size(LayoutScale(500.0f, LAYOUT_SCREEN_HEIGHT)); - const ImVec2 window_pos(0.0f, display_size.y - window_size.y); + const ImVec2 window_pos(0.0f, display_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT) - window_size.y); if (BeginFullscreenWindow( window_pos, window_size, "pause_menu", ImVec4(0.0f, 0.0f, 0.0f, 0.0f), 0.0f, 10.0f, ImGuiWindowFlags_NoBackground)) @@ -4816,6 +5098,19 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type) // Primed achievements must come first, because we don't want the pause screen to be behind them. if (Achievements::HasAchievementsOrLeaderboards()) Achievements::DrawPauseMenuOverlays(); + + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_XBOX_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Select")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Return To Game"))}); + } + else + { + SetFullscreenFooterText(std::array{ + std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN, FSUI_VSTR("Change Selection")), + std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Select")), std::make_pair(ICON_PF_ESC, FSUI_VSTR("Return To Game"))}); + } } void FullscreenUI::InitializePlaceholderSaveStateListEntry(SaveStateListEntry* li, s32 slot) @@ -4939,7 +5234,7 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading) ImGuiIO& io = ImGui::GetIO(); ImGui::SetNextWindowPos(ImVec2(0.0f, 0.0f)); - ImGui::SetNextWindowSize(io.DisplaySize); + ImGui::SetNextWindowSize(io.DisplaySize - LayoutScale(0.0f, LAYOUT_FOOTER_HEIGHT)); ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0.0f, 0.0f)); ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f); @@ -5197,9 +5492,11 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading) ReturnToMainWindow(); break; } - - if (hovered && (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false))) + else if (hovered && (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || + ImGui::IsKeyPressed(ImGuiKey_F1, false))) + { s_save_state_selector_submenu_index = static_cast(i); + } } grid_x++; @@ -5231,6 +5528,23 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading) CloseSaveStateSelector(); ReturnToPreviousWindow(); } + else + { + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_XBOX_DPAD, FSUI_VSTR("Select State")), + std::make_pair(ICON_PF_BUTTON_Y, FSUI_VSTR("Delete State")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Load State")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Cancel"))}); + } + else + { + SetFullscreenFooterText(std::array{ + std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN ICON_PF_ARROW_LEFT ICON_PF_ARROW_RIGHT, FSUI_VSTR("Select State")), + std::make_pair(ICON_PF_F1, FSUI_VSTR("Delete State")), std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Load State")), + std::make_pair(ICON_PF_ESC, FSUI_VSTR("Cancel"))}); + } + } } bool FullscreenUI::OpenLoadStateSelectorForGameResume(const GameList::Entry* entry) @@ -5304,7 +5618,7 @@ void FullscreenUI::DrawResumeStateSelector() } } - if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Cancel"), false)) + if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Cancel"), false) || WantsToCloseMenu()) { ImGui::CloseCurrentPopup(); is_open = false; @@ -5325,6 +5639,10 @@ void FullscreenUI::DrawResumeStateSelector() s_save_state_selector_resuming = false; s_save_state_selector_game_path = {}; } + else + { + SetStandardSelectionFooterText(false); + } } void FullscreenUI::DoLoadState(std::string path) @@ -5445,41 +5763,24 @@ void FullscreenUI::DrawGameListWindow() if (BeginFullscreenWindow(ImVec2(0.0f, 0.0f), heading_size, "gamelist_view", MulAlpha(UIPrimaryColor, bg_alpha))) { static constexpr float ITEM_WIDTH = 25.0f; - static constexpr const char* icons[] = {ICON_FA_BORDER_ALL, ICON_FA_LIST, ICON_FA_COG}; - static constexpr const char* titles[] = { - FSUI_NSTR("Game Grid"), - FSUI_NSTR("Game List"), - FSUI_NSTR("Game List Settings"), - }; + static constexpr const char* icons[] = {ICON_FA_BORDER_ALL, ICON_FA_LIST}; + static constexpr const char* titles[] = {FSUI_NSTR("Game Grid"), FSUI_NSTR("Game List")}; static constexpr u32 count = std::size(titles); BeginNavBar(); - if (!ImGui::IsPopupOpen(0u, ImGuiPopupFlags_AnyPopup)) - { - if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakSlow, false)) - { - s_game_list_page = static_cast( - (s_game_list_page == static_cast(0)) ? (count - 1) : (static_cast(s_game_list_page) - 1)); - } - else if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadTweakFast, false)) - { - s_game_list_page = static_cast((static_cast(s_game_list_page) + 1) % count); - } - } - if (NavButton(ICON_PF_BACKWARD, true, true)) ReturnToPreviousWindow(); - NavTitle(Host::TranslateToCString(TR_CONTEXT, titles[static_cast(s_game_list_page)])); + NavTitle(Host::TranslateToCString(TR_CONTEXT, titles[static_cast(s_game_list_view)])); RightAlignNavButtons(count, ITEM_WIDTH, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY); for (u32 i = 0; i < count; i++) { - if (NavButton( - icons[i], static_cast(i) == s_game_list_page, true, ITEM_WIDTH, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY)) + if (NavButton(icons[i], static_cast(i) == s_game_list_view, true, ITEM_WIDTH, + LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY)) { - s_game_list_page = static_cast(i); + s_game_list_view = static_cast(i); } } @@ -5488,17 +5789,24 @@ void FullscreenUI::DrawGameListWindow() EndFullscreenWindow(); - switch (s_game_list_page) + if (ImGui::IsKeyPressed(ImGuiKey_NavGamepadInput, false) || ImGui::IsKeyPressed(ImGuiKey_F1, false)) { - case GameListPage::Grid: + s_game_list_view = (s_game_list_view == GameListView::Grid) ? GameListView::List : GameListView::Grid; + } + else if (ImGui::IsKeyPressed(ImGuiKey_GamepadStart, false) || ImGui::IsKeyPressed(ImGuiKey_F2)) + { + s_current_main_window = MainWindowType::GameListSettings; + QueueResetFocus(); + } + + switch (s_game_list_view) + { + case GameListView::Grid: DrawGameGrid(heading_size); break; - case GameListPage::List: + case GameListView::List: DrawGameList(heading_size); break; - case GameListPage::Settings: - DrawGameListSettingsPage(heading_size); - break; default: break; } @@ -5514,21 +5822,36 @@ void FullscreenUI::DrawGameListWindow() ImGui::End(); ImGui::PopStyleColor(); } + + if (IsGamepadInputSource()) + { + SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_XBOX_DPAD, FSUI_VSTR("Select Game")), + std::make_pair(ICON_PF_BUTTON_X, FSUI_VSTR("Change View")), + std::make_pair(ICON_PF_BURGER_MENU, FSUI_VSTR("Settings")), + std::make_pair(ICON_PF_BUTTON_Y, FSUI_VSTR("Launch Options")), + std::make_pair(ICON_PF_BUTTON_A, FSUI_VSTR("Start Game")), + std::make_pair(ICON_PF_BUTTON_B, FSUI_VSTR("Back"))}); + } + else + { + SetFullscreenFooterText(std::array{ + std::make_pair(ICON_PF_ARROW_UP ICON_PF_ARROW_DOWN ICON_PF_ARROW_LEFT ICON_PF_ARROW_RIGHT, FSUI_VSTR("Select Game")), + std::make_pair(ICON_PF_F1, FSUI_VSTR("Change View")), std::make_pair(ICON_PF_F2, FSUI_VSTR("Settings")), + std::make_pair(ICON_PF_F3, FSUI_VSTR("Launch Options")), std::make_pair(ICON_PF_ENTER, FSUI_VSTR("Start Game")), + std::make_pair(ICON_PF_ESC, FSUI_VSTR("Back"))}); + } } void FullscreenUI::DrawGameList(const ImVec2& heading_size) { - if (!BeginFullscreenColumns(nullptr, heading_size.y, true)) + if (!BeginFullscreenColumns(nullptr, heading_size.y, true, true)) { EndFullscreenColumns(); return; } - if (WantsToCloseMenu()) - { - if (ImGui::IsWindowFocused()) - ReturnToPreviousWindow(); - } + if (!AreAnyDialogsOpen() && WantsToCloseMenu()) + ReturnToPreviousWindow(); const GameList::Entry* selected_entry = nullptr; @@ -5594,7 +5917,8 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size) selected_entry = entry; if (selected_entry && - (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false))) + (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || + ImGui::IsKeyPressed(ImGuiKey_F3, false))) { HandleGameListOptions(selected_entry); } @@ -5713,17 +6037,16 @@ void FullscreenUI::DrawGameGrid(const ImVec2& heading_size) { ImGuiIO& io = ImGui::GetIO(); if (!BeginFullscreenWindow( - ImVec2(0.0f, heading_size.y), ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y), "game_grid", UIBackgroundColor)) + ImVec2(0.0f, heading_size.y), + ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT)), "game_grid", + UIBackgroundColor)) { EndFullscreenWindow(); return; } - if (WantsToCloseMenu()) - { - if (ImGui::IsWindowFocused()) - ReturnToPreviousWindow(); - } + if (!AreAnyDialogsOpen() && WantsToCloseMenu()) + ReturnToPreviousWindow(); ResetFocusHere(); BeginMenuButtons(); @@ -5794,10 +6117,14 @@ void FullscreenUI::DrawGameGrid(const ImVec2& heading_size) ImGui::PopFont(); if (pressed) + { HandleGameListActivate(entry); - - if (hovered && (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false))) + } + else if (hovered && (ImGui::IsItemClicked(ImGuiMouseButton_Right) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false) || + ImGui::IsKeyPressed(ImGuiKey_F3, false))) + { HandleGameListOptions(entry); + } } grid_x++; @@ -5871,20 +6198,43 @@ void FullscreenUI::HandleGameListOptions(const GameList::Entry* entry) }); } -void FullscreenUI::DrawGameListSettingsPage(const ImVec2& heading_size) +void FullscreenUI::DrawGameListSettingsWindow() { - const ImGuiIO& io = ImGui::GetIO(); - if (!BeginFullscreenWindow(ImVec2(0.0f, heading_size.y), ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y), "settings_parent", - UIBackgroundColor)) + ImGuiIO& io = ImGui::GetIO(); + ImVec2 heading_size = ImVec2( + io.DisplaySize.x, LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f + 2.0f)); + + const float bg_alpha = VMManager::HasValidVM() ? 0.90f : 1.0f; + + if (BeginFullscreenWindow(ImVec2(0.0f, 0.0f), heading_size, "gamelist_view", MulAlpha(UIPrimaryColor, bg_alpha))) + { + BeginNavBar(); + + if (NavButton(ICON_FA_BACKWARD, true, true)) + { + s_current_main_window = MainWindowType::GameList; + QueueResetFocus(); + } + + NavTitle(FSUI_CSTR("Game List Settings")); + EndNavBar(); + } + + EndFullscreenWindow(); + + if (!BeginFullscreenWindow( + ImVec2(0.0f, heading_size.y), + ImVec2(io.DisplaySize.x, io.DisplaySize.y - heading_size.y - LayoutScale(LAYOUT_FOOTER_HEIGHT)), + "settings_parent", UIBackgroundColor)) { EndFullscreenWindow(); return; } - if (WantsToCloseMenu()) + if (ImGui::IsWindowFocused() && WantsToCloseMenu()) { - if (ImGui::IsWindowFocused()) - ReturnToPreviousWindow(); + s_current_main_window = MainWindowType::GameList; + QueueResetFocus(); } auto lock = Host::GetSettingsLock(); @@ -6028,12 +6378,14 @@ void FullscreenUI::DrawGameListSettingsPage(const ImVec2& heading_size) EndMenuButtons(); EndFullscreenWindow(); + + SetStandardSelectionFooterText(true); } void FullscreenUI::SwitchToGameList() { s_current_main_window = MainWindowType::GameList; - s_game_list_page = static_cast(Host::GetBaseIntSettingValue("UI", "DefaultFullscreenUIGameView", 0)); + s_game_list_view = static_cast(Host::GetBaseIntSettingValue("UI", "DefaultFullscreenUIGameView", 0)); { auto lock = Host::GetSettingsLock(); PopulateGameListDirectoryCache(Host::Internal::GetBaseSettingsLayer()); @@ -6109,13 +6461,13 @@ void FullscreenUI::OpenAboutWindow() void FullscreenUI::DrawAboutWindow() { - ImGui::SetNextWindowSize(LayoutScale(1000.0f, 500.0f)); + ImGui::SetNextWindowSize(LayoutScale(1000.0f, 580.0f)); ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f)); ImGui::OpenPopup(FSUI_CSTR("About PCSX2")); ImGui::PushFont(g_large_font); ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, LayoutScale(10.0f)); - ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, LayoutScale(20.0f, 20.0f)); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, LayoutScale(30.0f, 30.0f)); if (ImGui::BeginPopupModal(FSUI_CSTR("About PCSX2"), &s_about_window_open, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize)) { @@ -6123,7 +6475,9 @@ void FullscreenUI::DrawAboutWindow() "PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a " "combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. " "This allows you to play PS2 games on your PC, with many additional features and benefits.")); + ImGui::NewLine(); + ImGui::TextWrapped("Version: %s", GIT_REV); ImGui::NewLine(); ImGui::TextWrapped("%s", @@ -6146,11 +6500,16 @@ void FullscreenUI::DrawAboutWindow() if (ActiveButton(FSUI_ICONSTR(ICON_FA_NEWSPAPER, "License"), false)) ExitFullscreenAndOpenURL(PCSX2_LICENSE_URL); - if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Close"), false)) + if (ActiveButton(FSUI_ICONSTR(ICON_FA_WINDOW_CLOSE, "Close"), false) || WantsToCloseMenu()) { ImGui::CloseCurrentPopup(); s_about_window_open = false; } + else + { + SetStandardSelectionFooterText(true); + } + EndMenuButtons(); ImGui::EndPopup(); @@ -6195,7 +6554,10 @@ void FullscreenUI::SwitchToAchievementsWindow() return; if (s_current_main_window != MainWindowType::PauseMenu) + { PauseForMenuOpen(false); + ForceKeyNavEnabled(); + } s_current_main_window = MainWindowType::Achievements; QueueResetFocus(); @@ -6236,7 +6598,10 @@ void FullscreenUI::SwitchToLeaderboardsWindow() return; if (s_current_main_window != MainWindowType::PauseMenu) + { PauseForMenuOpen(false); + ForceKeyNavEnabled(); + } s_current_main_window = MainWindowType::Leaderboards; QueueResetFocus(); @@ -6385,7 +6750,6 @@ void FullscreenUI::DrawAchievementsSettingsPage(std::unique_lock& se TRANSLATE_NOOP("FullscreenUI", "Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it."); TRANSLATE_NOOP("FullscreenUI", "WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card.\n\nDo you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD?"); TRANSLATE_NOOP("FullscreenUI", "Use Global Setting"); -TRANSLATE_NOOP("FullscreenUI", "Default"); TRANSLATE_NOOP("FullscreenUI", "Automatic binding failed, no devices are available."); TRANSLATE_NOOP("FullscreenUI", "Game title copied to clipboard."); TRANSLATE_NOOP("FullscreenUI", "Game serial copied to clipboard."); @@ -6410,12 +6774,26 @@ TRANSLATE_NOOP("FullscreenUI", "This game has no achievements."); TRANSLATE_NOOP("FullscreenUI", "This game has no leaderboards."); TRANSLATE_NOOP("FullscreenUI", "Reset System"); TRANSLATE_NOOP("FullscreenUI", "Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now?"); +TRANSLATE_NOOP("FullscreenUI", "Game List"); TRANSLATE_NOOP("FullscreenUI", "Launch a game from images scanned from your game directories."); +TRANSLATE_NOOP("FullscreenUI", "Start Game"); +TRANSLATE_NOOP("FullscreenUI", "Launch a game from a file, disc, or starts the console without any disc inserted."); +TRANSLATE_NOOP("FullscreenUI", "Settings"); +TRANSLATE_NOOP("FullscreenUI", "Changes settings for the application."); +TRANSLATE_NOOP("FullscreenUI", "Exit"); +TRANSLATE_NOOP("FullscreenUI", "Return to desktop mode, or exit the application."); +TRANSLATE_NOOP("FullscreenUI", "Start File"); TRANSLATE_NOOP("FullscreenUI", "Launch a game by selecting a file/disc image."); -TRANSLATE_NOOP("FullscreenUI", "Start the console without any disc inserted."); +TRANSLATE_NOOP("FullscreenUI", "Start Disc"); TRANSLATE_NOOP("FullscreenUI", "Start a game from a disc in your PC's DVD drive."); -TRANSLATE_NOOP("FullscreenUI", "Change settings for the emulator."); -TRANSLATE_NOOP("FullscreenUI", "Exits the program."); +TRANSLATE_NOOP("FullscreenUI", "Start BIOS"); +TRANSLATE_NOOP("FullscreenUI", "Start the console without any disc inserted."); +TRANSLATE_NOOP("FullscreenUI", "Back"); +TRANSLATE_NOOP("FullscreenUI", "Return to the previous menu."); +TRANSLATE_NOOP("FullscreenUI", "Exit PCSX2"); +TRANSLATE_NOOP("FullscreenUI", "Completely exits the application, returning you to your desktop."); +TRANSLATE_NOOP("FullscreenUI", "Desktop Mode"); +TRANSLATE_NOOP("FullscreenUI", "Exits Big Picture mode, returning to the desktop interface."); TRANSLATE_NOOP("FullscreenUI", "-"); TRANSLATE_NOOP("FullscreenUI", "No Binding"); TRANSLATE_NOOP("FullscreenUI", "Setting %s binding %s."); @@ -6436,7 +6814,6 @@ TRANSLATE_NOOP("FullscreenUI", "Pauses the emulator when you minimize the window TRANSLATE_NOOP("FullscreenUI", "Pauses the emulator when you open the quick menu, and unpauses when you close it."); TRANSLATE_NOOP("FullscreenUI", "Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed."); TRANSLATE_NOOP("FullscreenUI", "Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time."); -TRANSLATE_NOOP("FullscreenUI", "When enabled, custom per-game settings will be applied. Disable to always use the global configuration."); TRANSLATE_NOOP("FullscreenUI", "Uses a light coloured theme instead of the default dark theme."); TRANSLATE_NOOP("FullscreenUI", "Game Display"); TRANSLATE_NOOP("FullscreenUI", "Automatically switches to fullscreen mode when a game is started."); @@ -6572,7 +6949,7 @@ TRANSLATE_NOOP("FullscreenUI", "Skip Draw End"); TRANSLATE_NOOP("FullscreenUI", "Auto Flush (Hardware)"); TRANSLATE_NOOP("FullscreenUI", "CPU Framebuffer Conversion"); TRANSLATE_NOOP("FullscreenUI", "Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU."); -TRANSLATE_NOOP("FullscreenUI", "Disable Depth Emulation"); +TRANSLATE_NOOP("FullscreenUI", "Disable Depth Conversion"); TRANSLATE_NOOP("FullscreenUI", "Disable the support of depth buffers in the texture cache."); TRANSLATE_NOOP("FullscreenUI", "Disable Safe Features"); TRANSLATE_NOOP("FullscreenUI", "This option disables multiple safe features."); @@ -6688,6 +7065,7 @@ TRANSLATE_NOOP("FullscreenUI", "Stores the current settings to an input profile. TRANSLATE_NOOP("FullscreenUI", "Input Sources"); TRANSLATE_NOOP("FullscreenUI", "The SDL input source supports most controllers."); TRANSLATE_NOOP("FullscreenUI", "Provides vibration and LED control support over Bluetooth."); +TRANSLATE_NOOP("FullscreenUI", "Enable/Disable the Player LED on DualSense controllers."); TRANSLATE_NOOP("FullscreenUI", "Allow SDL to use raw access to input devices."); TRANSLATE_NOOP("FullscreenUI", "The XInput source provides support for XBox 360/XBox One/XBox Series controllers."); TRANSLATE_NOOP("FullscreenUI", "Multitap"); @@ -6749,7 +7127,6 @@ TRANSLATE_NOOP("FullscreenUI", "Performs just-in-time binary translation of 32-b TRANSLATE_NOOP("FullscreenUI", "Graphics"); TRANSLATE_NOOP("FullscreenUI", "Use Debug Device"); TRANSLATE_NOOP("FullscreenUI", "Enables API-level validation of graphics commands."); -TRANSLATE_NOOP("FullscreenUI", "Settings"); TRANSLATE_NOOP("FullscreenUI", "No cheats are available for this game."); TRANSLATE_NOOP("FullscreenUI", "Cheat Codes"); TRANSLATE_NOOP("FullscreenUI", "No patches are available for this game."); @@ -6802,6 +7179,7 @@ TRANSLATE_NOOP("FullscreenUI", "A resume save state created at %s was found.\n\n TRANSLATE_NOOP("FullscreenUI", "Region: "); TRANSLATE_NOOP("FullscreenUI", "Compatibility: "); TRANSLATE_NOOP("FullscreenUI", "No Game Selected"); +TRANSLATE_NOOP("FullscreenUI", "Game List Settings"); TRANSLATE_NOOP("FullscreenUI", "Search Directories"); TRANSLATE_NOOP("FullscreenUI", "Adds a new directory to the game search list."); TRANSLATE_NOOP("FullscreenUI", "Scanning Subdirectories"); @@ -6831,12 +7209,13 @@ TRANSLATE_NOOP("FullscreenUI", "Logs out of RetroAchievements."); TRANSLATE_NOOP("FullscreenUI", "Logs in to RetroAchievements."); TRANSLATE_NOOP("FullscreenUI", "Current Game"); TRANSLATE_NOOP("FullscreenUI", "{} is not a valid disc image."); +TRANSLATE_NOOP("FullscreenUI", "{:%H:%M}"); TRANSLATE_NOOP("FullscreenUI", "{0}/{1}/{2}/{3}"); TRANSLATE_NOOP("FullscreenUI", "Automatic mapping completed for {}."); TRANSLATE_NOOP("FullscreenUI", "Automatic mapping failed for {}."); TRANSLATE_NOOP("FullscreenUI", "Game settings initialized with global settings for '{}'."); TRANSLATE_NOOP("FullscreenUI", "Game settings have been cleared for '{}'."); -TRANSLATE_NOOP("FullscreenUI", "Console Port {}"); +TRANSLATE_NOOP("FullscreenUI", "Slot {}"); TRANSLATE_NOOP("FullscreenUI", "{} (Current)"); TRANSLATE_NOOP("FullscreenUI", "{} (Folder)"); TRANSLATE_NOOP("FullscreenUI", "Failed to load '{}'."); @@ -6993,6 +7372,7 @@ TRANSLATE_NOOP("FullscreenUI", "Screen Resolution"); TRANSLATE_NOOP("FullscreenUI", "Internal Resolution (Aspect Uncorrected)"); TRANSLATE_NOOP("FullscreenUI", "PNG"); TRANSLATE_NOOP("FullscreenUI", "JPEG"); +TRANSLATE_NOOP("FullscreenUI", "WebP"); TRANSLATE_NOOP("FullscreenUI", "0 (Disabled)"); TRANSLATE_NOOP("FullscreenUI", "1 (64 Max Width)"); TRANSLATE_NOOP("FullscreenUI", "2 (128 Max Width)"); @@ -7053,8 +7433,6 @@ TRANSLATE_NOOP("FullscreenUI", "Negative"); TRANSLATE_NOOP("FullscreenUI", "Positive"); TRANSLATE_NOOP("FullscreenUI", "Chop/Zero (Default)"); TRANSLATE_NOOP("FullscreenUI", "Game Grid"); -TRANSLATE_NOOP("FullscreenUI", "Game List"); -TRANSLATE_NOOP("FullscreenUI", "Game List Settings"); TRANSLATE_NOOP("FullscreenUI", "Type"); TRANSLATE_NOOP("FullscreenUI", "Serial"); TRANSLATE_NOOP("FullscreenUI", "Title"); @@ -7063,14 +7441,27 @@ TRANSLATE_NOOP("FullscreenUI", "CRC"); TRANSLATE_NOOP("FullscreenUI", "Time Played"); TRANSLATE_NOOP("FullscreenUI", "Last Played"); TRANSLATE_NOOP("FullscreenUI", "Size"); +TRANSLATE_NOOP("FullscreenUI", "Change Selection"); +TRANSLATE_NOOP("FullscreenUI", "Select"); +TRANSLATE_NOOP("FullscreenUI", "Cancel"); +TRANSLATE_NOOP("FullscreenUI", "Parent Directory"); +TRANSLATE_NOOP("FullscreenUI", "Enter Value"); +TRANSLATE_NOOP("FullscreenUI", "About"); +TRANSLATE_NOOP("FullscreenUI", "Toggle Fullscreen"); +TRANSLATE_NOOP("FullscreenUI", "Navigate"); +TRANSLATE_NOOP("FullscreenUI", "Load Global State"); +TRANSLATE_NOOP("FullscreenUI", "Default"); +TRANSLATE_NOOP("FullscreenUI", "Change Page"); TRANSLATE_NOOP("FullscreenUI", "Frequency"); +TRANSLATE_NOOP("FullscreenUI", "Return To Game"); +TRANSLATE_NOOP("FullscreenUI", "Select State"); +TRANSLATE_NOOP("FullscreenUI", "Delete State"); +TRANSLATE_NOOP("FullscreenUI", "Select Game"); +TRANSLATE_NOOP("FullscreenUI", "Change View"); +TRANSLATE_NOOP("FullscreenUI", "Launch Options"); TRANSLATE_NOOP("FullscreenUI", "Select Disc Image"); TRANSLATE_NOOP("FullscreenUI", "Select Disc Drive"); TRANSLATE_NOOP("FullscreenUI", "WARNING: Memory Card Busy"); -TRANSLATE_NOOP("FullscreenUI", "Start File"); -TRANSLATE_NOOP("FullscreenUI", "Start BIOS"); -TRANSLATE_NOOP("FullscreenUI", "Start Disc"); -TRANSLATE_NOOP("FullscreenUI", "Exit"); TRANSLATE_NOOP("FullscreenUI", "Set Input Binding"); TRANSLATE_NOOP("FullscreenUI", "Region"); TRANSLATE_NOOP("FullscreenUI", "Compatibility Rating"); @@ -7087,7 +7478,6 @@ TRANSLATE_NOOP("FullscreenUI", "Pause On Focus Loss"); TRANSLATE_NOOP("FullscreenUI", "Pause On Menu"); TRANSLATE_NOOP("FullscreenUI", "Confirm Shutdown"); TRANSLATE_NOOP("FullscreenUI", "Save State On Shutdown"); -TRANSLATE_NOOP("FullscreenUI", "Enable Per-Game Settings"); TRANSLATE_NOOP("FullscreenUI", "Use Light Theme"); TRANSLATE_NOOP("FullscreenUI", "Start Fullscreen"); TRANSLATE_NOOP("FullscreenUI", "Double-Click Toggles Fullscreen"); @@ -7126,6 +7516,7 @@ TRANSLATE_NOOP("FullscreenUI", "Per-Game Configuration"); TRANSLATE_NOOP("FullscreenUI", "Copy Global Settings"); TRANSLATE_NOOP("FullscreenUI", "Enable SDL Input Source"); TRANSLATE_NOOP("FullscreenUI", "SDL DualShock 4 / DualSense Enhanced Mode"); +TRANSLATE_NOOP("FullscreenUI", "SDL DualSense Player LED"); TRANSLATE_NOOP("FullscreenUI", "SDL Raw Input"); TRANSLATE_NOOP("FullscreenUI", "Enable XInput Input Source"); TRANSLATE_NOOP("FullscreenUI", "Enable Console Port 1 Multitap"); @@ -7174,8 +7565,6 @@ TRANSLATE_NOOP("FullscreenUI", "Leaderboards"); TRANSLATE_NOOP("FullscreenUI", "Delete Save"); TRANSLATE_NOOP("FullscreenUI", "Close Menu"); TRANSLATE_NOOP("FullscreenUI", "Default Boot"); -TRANSLATE_NOOP("FullscreenUI", "Delete State"); -TRANSLATE_NOOP("FullscreenUI", "Cancel"); TRANSLATE_NOOP("FullscreenUI", "Full Boot"); TRANSLATE_NOOP("FullscreenUI", "Reset Play Time"); TRANSLATE_NOOP("FullscreenUI", "Add Search Directory"); diff --git a/pcsx2/ImGui/FullscreenUI.h b/pcsx2/ImGui/FullscreenUI.h index afecfde497..a5038501e5 100644 --- a/pcsx2/ImGui/FullscreenUI.h +++ b/pcsx2/ImGui/FullscreenUI.h @@ -31,6 +31,7 @@ namespace FullscreenUI bool IsLeaderboardsWindowOpen(); void ReturnToPreviousWindow(); void ReturnToMainWindow(); + void SetStandardSelectionFooterText(bool back_instead_of_cancel); void Shutdown(bool clear_state); void Render(); @@ -41,6 +42,13 @@ namespace FullscreenUI // Host UI triggers from Big Picture mode. namespace Host { -void OnCoverDownloaderOpenRequested(); -void OnCreateMemoryCardOpenRequested(); -} + /// Requests shut down and exit of the hosting application. This may not actually exit, + /// if the user cancels the shutdown confirmation. + void RequestExitApplication(bool allow_confirm); + + /// Requests Big Picture mode to be shut down, returning to the desktop interface. + void RequestExitBigPicture(); + + void OnCoverDownloaderOpenRequested(); + void OnCreateMemoryCardOpenRequested(); +} // namespace Host diff --git a/pcsx2/ImGui/ImGuiFullscreen.cpp b/pcsx2/ImGui/ImGuiFullscreen.cpp index 36bcf45cf1..c44f3e109f 100644 --- a/pcsx2/ImGui/ImGuiFullscreen.cpp +++ b/pcsx2/ImGui/ImGuiFullscreen.cpp @@ -95,6 +95,10 @@ namespace ImGuiFullscreen static std::deque> s_texture_upload_queue; static Threading::Thread s_texture_load_thread; + static SmallString s_fullscreen_footer_text; + static SmallString s_last_fullscreen_footer_text; + static float s_fullscreen_text_change_time; + static bool s_choice_dialog_open = false; static bool s_choice_dialog_checkable = false; static std::string s_choice_dialog_title; @@ -238,6 +242,9 @@ void ImGuiFullscreen::Shutdown(bool clear_state) { s_notifications.clear(); s_background_progress_dialogs.clear(); + s_fullscreen_footer_text.clear(); + s_last_fullscreen_footer_text.clear(); + s_fullscreen_text_change_time = 0.0f; CloseInputDialog(); CloseMessageDialog(); s_choice_dialog_open = false; @@ -255,6 +262,11 @@ void ImGuiFullscreen::Shutdown(bool clear_state) s_file_selector_current_directory = {}; s_file_selector_filters.clear(); s_file_selector_items.clear(); + s_message_dialog_open = false; + s_message_dialog_title = {}; + s_message_dialog_message = {}; + s_message_dialog_buttons = {}; + s_message_dialog_callback = {}; } } @@ -309,12 +321,13 @@ std::shared_ptr ImGuiFullscreen::UploadTexture(const char* path, cons return std::shared_ptr(texture, [](GSTexture* tex) { g_gs_device->Recycle(tex); }); } -std::shared_ptr ImGuiFullscreen::LoadTexture(const char* path) +std::shared_ptr ImGuiFullscreen::LoadTexture(std::string_view path) { - std::optional image(LoadTextureImage(path)); + std::string path_str(path); + std::optional image(LoadTextureImage(path_str.c_str())); if (image.has_value()) { - std::shared_ptr ret(UploadTexture(path, image.value())); + std::shared_ptr ret(UploadTexture(path_str.c_str(), image.value())); if (ret) return ret; } @@ -322,25 +335,25 @@ std::shared_ptr ImGuiFullscreen::LoadTexture(const char* path) return s_placeholder_texture; } -GSTexture* ImGuiFullscreen::GetCachedTexture(const char* name) +GSTexture* ImGuiFullscreen::GetCachedTexture(std::string_view name) { std::shared_ptr* tex_ptr = s_texture_cache.Lookup(name); if (!tex_ptr) { std::shared_ptr tex(LoadTexture(name)); - tex_ptr = s_texture_cache.Insert(name, std::move(tex)); + tex_ptr = s_texture_cache.Insert(std::string(name), std::move(tex)); } return tex_ptr->get(); } -GSTexture* ImGuiFullscreen::GetCachedTextureAsync(const char* name) +GSTexture* ImGuiFullscreen::GetCachedTextureAsync(std::string_view name) { std::shared_ptr* tex_ptr = s_texture_cache.Lookup(name); if (!tex_ptr) { // insert the placeholder - tex_ptr = s_texture_cache.Insert(name, s_placeholder_texture); + tex_ptr = s_texture_cache.Insert(std::string(name), s_placeholder_texture); // queue the actual load std::unique_lock lock(s_texture_load_mutex); @@ -484,6 +497,8 @@ void ImGuiFullscreen::EndLayout() DrawInputDialog(); DrawMessageDialog(); + DrawFullscreenFooter(); + const float notification_margin = LayoutScale(10.0f); const float spacing = LayoutScale(10.0f); const float notification_vertical_pos = GetNotificationVerticalPosition(); @@ -495,6 +510,8 @@ void ImGuiFullscreen::EndLayout() PopResetLayout(); + s_fullscreen_footer_text.clear(); + s_rendered_menu_item_border = false; s_had_hovered_menu_item = std::exchange(s_has_hovered_menu_item, false); } @@ -544,6 +561,10 @@ bool ImGuiFullscreen::ResetFocusHere() if (!s_focus_reset_queued) return false; + // don't take focus from dialogs + if (ImGui::FindBlockingModal(ImGui::GetCurrentWindow())) + return false; + s_focus_reset_queued = false; ImGui::SetWindowFocus(); @@ -551,6 +572,20 @@ bool ImGuiFullscreen::ResetFocusHere() return (GImGui->NavInputSource == ImGuiInputSource_Keyboard || GImGui->NavInputSource == ImGuiInputSource_Gamepad); } +bool ImGuiFullscreen::IsFocusResetQueued() +{ + return s_focus_reset_queued; +} + +void ImGuiFullscreen::ForceKeyNavEnabled() +{ + ImGuiContext& g = *ImGui::GetCurrentContext(); + g.ActiveIdSource = (g.ActiveIdSource == ImGuiInputSource_Mouse) ? ImGuiInputSource_Keyboard : g.ActiveIdSource; + g.NavInputSource = (g.NavInputSource == ImGuiInputSource_Mouse) ? ImGuiInputSource_Keyboard : g.ActiveIdSource; + g.NavDisableHighlight = false; + g.NavDisableMouseHover = true; +} + bool ImGuiFullscreen::WantsToCloseMenu() { // Wait for the Close button to be released, THEN pressed @@ -592,11 +627,12 @@ void ImGuiFullscreen::PopPrimaryColor() ImGui::PopStyleColor(5); } -bool ImGuiFullscreen::BeginFullscreenColumns(const char* title, float pos_y, bool expand_to_screen_width) +bool ImGuiFullscreen::BeginFullscreenColumns(const char* title, float pos_y, bool expand_to_screen_width, bool footer) { ImGui::SetNextWindowPos(ImVec2(expand_to_screen_width ? 0.0f : g_layout_padding_left, pos_y)); ImGui::SetNextWindowSize(ImVec2( - expand_to_screen_width ? ImGui::GetIO().DisplaySize.x : LayoutScale(LAYOUT_SCREEN_WIDTH), ImGui::GetIO().DisplaySize.y - pos_y)); + expand_to_screen_width ? ImGui::GetIO().DisplaySize.x : LayoutScale(LAYOUT_SCREEN_WIDTH), + ImGui::GetIO().DisplaySize.y - pos_y - (footer ? LayoutScale(LAYOUT_FOOTER_HEIGHT) : 0.0f))); ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0.0f, 0.0f)); ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f); @@ -688,14 +724,103 @@ void ImGuiFullscreen::EndFullscreenWindow() ImGui::PopStyleColor(); } +bool ImGuiFullscreen::IsGamepadInputSource() +{ + return (ImGui::GetCurrentContext()->NavInputSource == ImGuiInputSource_Gamepad); +} + +void ImGuiFullscreen::CreateFooterTextString(SmallStringBase& dest, + std::span> items) +{ + dest.clear(); + for (const auto& [icon, text] : items) + { + if (!dest.empty()) + dest.append(" "); + + dest.append(icon); + dest.append(' '); + dest.append(text); + } +} + +void ImGuiFullscreen::SetFullscreenFooterText(std::string_view text) +{ + s_fullscreen_footer_text.assign(text); +} + +void ImGuiFullscreen::SetFullscreenFooterText(std::span> items) +{ + CreateFooterTextString(s_fullscreen_footer_text, items); +} + +void ImGuiFullscreen::DrawFullscreenFooter() +{ + const ImGuiIO& io = ImGui::GetIO(); + if (s_fullscreen_footer_text.empty()) + { + s_last_fullscreen_footer_text.clear(); + return; + } + + const float padding = LayoutScale(LAYOUT_FOOTER_PADDING); + const float height = LayoutScale(LAYOUT_FOOTER_HEIGHT); + + ImDrawList* dl = ImGui::GetForegroundDrawList(); + dl->AddRectFilled(ImVec2(0.0f, io.DisplaySize.y - height), io.DisplaySize, ImGui::GetColorU32(UIPrimaryColor), 0.0f); + + ImFont* const font = g_medium_font; + const float max_width = io.DisplaySize.x - padding * 2.0f; + + float prev_opacity = 0.0f; + if (!s_last_fullscreen_footer_text.empty() && s_fullscreen_footer_text != s_last_fullscreen_footer_text) + { + if (s_fullscreen_text_change_time == 0.0f) + s_fullscreen_text_change_time = 0.15f; + else + s_fullscreen_text_change_time = std::max(s_fullscreen_text_change_time - io.DeltaTime, 0.0f); + + if (s_fullscreen_text_change_time == 0.0f) + s_last_fullscreen_footer_text = s_fullscreen_footer_text; + + prev_opacity = s_fullscreen_text_change_time * (1.0f / 0.15f); + if (prev_opacity > 0.0f) + { + const ImVec2 text_size = + font->CalcTextSizeA(font->FontSize, max_width, 0.0f, s_last_fullscreen_footer_text.c_str(), + s_last_fullscreen_footer_text.end_ptr()); + dl->AddText( + font, font->FontSize, + ImVec2(io.DisplaySize.x - padding * 2.0f - text_size.x, io.DisplaySize.y - font->FontSize - padding), + ImGui::GetColorU32(ImVec4(UIPrimaryTextColor.x, UIPrimaryTextColor.y, UIPrimaryTextColor.z, prev_opacity)), + s_last_fullscreen_footer_text.c_str(), s_last_fullscreen_footer_text.end_ptr()); + } + } + else if (s_last_fullscreen_footer_text.empty()) + { + s_last_fullscreen_footer_text = s_fullscreen_footer_text; + } + + if (prev_opacity < 1.0f) + { + const ImVec2 text_size = font->CalcTextSizeA(font->FontSize, max_width, 0.0f, s_fullscreen_footer_text.c_str(), + s_fullscreen_footer_text.end_ptr()); + dl->AddText( + font, font->FontSize, + ImVec2(io.DisplaySize.x - padding * 2.0f - text_size.x, io.DisplaySize.y - font->FontSize - padding), + ImGui::GetColorU32(ImVec4(UIPrimaryTextColor.x, UIPrimaryTextColor.y, UIPrimaryTextColor.z, 1.0f - prev_opacity)), + s_fullscreen_footer_text.c_str(), s_fullscreen_footer_text.end_ptr()); + } +} + void ImGuiFullscreen::PrerenderMenuButtonBorder() { if (!s_had_hovered_menu_item) return; // updating might finish the animation - const ImVec2 min = s_menu_button_frame_min_animated.UpdateAndGetValue(); - const ImVec2 max = s_menu_button_frame_max_animated.UpdateAndGetValue(); + const ImVec2& min = s_menu_button_frame_min_animated.UpdateAndGetValue(); + const ImVec2& max = s_menu_button_frame_max_animated.UpdateAndGetValue(); const ImU32 col = ImGui::GetColorU32(ImGuiCol_ButtonHovered); const float t = std::min(std::abs(std::sin(ImGui::GetTime() * 0.75) * 1.1), 1.0f); @@ -787,7 +912,7 @@ void ImGuiFullscreen::DrawMenuButtonFrame(const ImVec2& p_min, const ImVec2& p_m MENU_BACKGROUND_ANIMATION_TIME); } if (frame_max.x != s_menu_button_frame_max_animated.GetEndValue().x || - frame_max.y != s_menu_button_frame_max_animated.GetEndValue().x) + frame_max.y != s_menu_button_frame_max_animated.GetEndValue().y) { s_menu_button_frame_max_animated.Start(s_menu_button_frame_max_animated.GetCurrentValue(), frame_max, MENU_BACKGROUND_ANIMATION_TIME); @@ -1739,6 +1864,100 @@ bool ImGuiFullscreen::NavTab(const char* title, bool is_active, bool enabled /* return pressed; } +bool ImGuiFullscreen::BeginHorizontalMenu(const char* name, const ImVec2& position, const ImVec2& size, u32 num_items) +{ + s_menu_button_index = 0; + + const float item_padding = LayoutScale(LAYOUT_HORIZONTAL_MENU_PADDING); + const float item_width = LayoutScale(LAYOUT_HORIZONTAL_MENU_ITEM_WIDTH); + const float item_spacing = LayoutScale(30.0f); + const float menu_width = static_cast(num_items) * (item_width + item_spacing) - item_spacing; + const float menu_height = LayoutScale(LAYOUT_HORIZONTAL_MENU_HEIGHT); + + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(item_padding, item_padding)); + ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, LayoutScale(1.0f)); + ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(item_spacing, 0.0f)); + + if (!BeginFullscreenWindow(position, size, name, UIBackgroundColor, 0.0f, 0.0f)) + return false; + + ImGui::SetCursorPos(ImVec2((size.x - menu_width) * 0.5f, (size.y - menu_height) * 0.5f)); + + PrerenderMenuButtonBorder(); + return true; +} + +void ImGuiFullscreen::EndHorizontalMenu() +{ + ImGui::PopStyleVar(4); + EndFullscreenWindow(); +} + +bool ImGuiFullscreen::HorizontalMenuItem(GSTexture* icon, const char* title, const char* description) +{ + ImGuiWindow* window = ImGui::GetCurrentWindow(); + if (window->SkipItems) + return false; + + const ImVec2 pos = window->DC.CursorPos; + const ImVec2 size = LayoutScale(LAYOUT_HORIZONTAL_MENU_ITEM_WIDTH, LAYOUT_HORIZONTAL_MENU_HEIGHT); + ImRect bb = ImRect(pos, pos + size); + + const ImGuiID id = window->GetID(title); + ImGui::ItemSize(size); + if (!ImGui::ItemAdd(bb, id)) + return false; + + bool held; + bool hovered; + const bool pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, 0); + if (hovered) + { + const ImU32 col = ImGui::GetColorU32(held ? ImGuiCol_ButtonActive : ImGuiCol_ButtonHovered, 1.0f); + + const float t = static_cast(std::min(std::abs(std::sin(ImGui::GetTime() * 0.75) * 1.1), 1.0)); + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetColorU32(ImGuiCol_Border, t)); + + DrawMenuButtonFrame(bb.Min, bb.Max, col, true, 0.0f); + + ImGui::PopStyleColor(); + } + + const ImGuiStyle& style = ImGui::GetStyle(); + bb.Min += style.FramePadding; + bb.Max -= style.FramePadding; + + const float avail_width = bb.Max.x - bb.Min.x; + const float icon_size = LayoutScale(150.0f); + const ImVec2 icon_pos = bb.Min + ImVec2((avail_width - icon_size) * 0.5f, 0.0f); + + ImDrawList* dl = ImGui::GetWindowDrawList(); + dl->AddImage(reinterpret_cast(icon), icon_pos, icon_pos + ImVec2(icon_size, icon_size)); + + ImFont* title_font = g_large_font; + const ImVec2 title_size = title_font->CalcTextSizeA(title_font->FontSize, avail_width, 0.0f, title); + const ImVec2 title_pos = + ImVec2(bb.Min.x + (avail_width - title_size.x) * 0.5f, icon_pos.y + icon_size + LayoutScale(10.0f)); + const ImVec4 title_bb = ImVec4(title_pos.x, title_pos.y, title_pos.x + title_size.x, title_pos.y + title_size.y); + + dl->AddText(title_font, title_font->FontSize, title_pos, ImGui::GetColorU32(ImGuiCol_Text), title, nullptr, 0.0f, + &title_bb); + + ImFont* desc_font = g_medium_font; + const ImVec2 desc_size = desc_font->CalcTextSizeA(desc_font->FontSize, avail_width, avail_width, description); + const ImVec2 desc_pos = ImVec2(bb.Min.x + (avail_width - desc_size.x) * 0.5f, title_bb.w + LayoutScale(10.0f)); + const ImVec4 desc_bb = ImVec4(desc_pos.x, desc_pos.y, desc_pos.x + desc_size.x, desc_pos.y + desc_size.y); + + dl->AddText(desc_font, desc_font->FontSize, desc_pos, ImGui::GetColorU32(ImGuiCol_Text), description, nullptr, + avail_width, &desc_bb); + + ImGui::SameLine(); + + s_menu_button_index++; + return pressed; +} + void ImGuiFullscreen::PopulateFileSelectorItems() { s_file_selector_items.clear(); @@ -1817,21 +2036,22 @@ bool ImGuiFullscreen::IsFileSelectorOpen() return s_file_selector_open; } -void ImGuiFullscreen::OpenFileSelector( - const char* title, bool select_directory, FileSelectorCallback callback, FileSelectorFilters filters, std::string initial_directory) +void ImGuiFullscreen::OpenFileSelector(std::string_view title, bool select_directory, FileSelectorCallback callback, + FileSelectorFilters filters, std::string initial_directory) { if (s_file_selector_open) CloseFileSelector(); s_file_selector_open = true; s_file_selector_directory = select_directory; - s_file_selector_title = StringUtil::StdStringFromFormat("%s##file_selector", title); + s_file_selector_title = fmt::format("{}##file_selector", title); s_file_selector_callback = std::move(callback); s_file_selector_filters = std::move(filters); if (initial_directory.empty() || !FileSystem::DirectoryExists(initial_directory.c_str())) initial_directory = FileSystem::GetWorkingDirectory(); SetFileSelectorDirectory(std::move(initial_directory)); + QueueResetFocus(); } void ImGuiFullscreen::CloseFileSelector() @@ -1856,7 +2076,8 @@ void ImGuiFullscreen::DrawFileSelector() return; ImGui::SetNextWindowSize(LayoutScale(1000.0f, 680.0f)); - ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f)); + ImGui::SetNextWindowPos((ImGui::GetIO().DisplaySize - LayoutScale(0.0f, LAYOUT_FOOTER_HEIGHT)) * 0.5f, + ImGuiCond_Always, ImVec2(0.5f, 0.5f)); ImGui::OpenPopup(s_file_selector_title.c_str()); FileSelectorItem* selected = nullptr; @@ -1878,6 +2099,7 @@ void ImGuiFullscreen::DrawFileSelector() ImGui::PushStyleColor(ImGuiCol_Text, UIBackgroundTextColor); BeginMenuButtons(); + ResetFocusHere(); if (!s_file_selector_current_directory.empty()) { @@ -1912,11 +2134,15 @@ void ImGuiFullscreen::DrawFileSelector() ImGui::PopStyleVar(3); ImGui::PopFont(); + if (is_open) + GetFileSelectorHelpText(s_fullscreen_footer_text); + if (selected) { if (selected->is_file) { s_file_selector_callback(selected->full_path); + QueueResetFocus(); } else { @@ -1933,6 +2159,18 @@ void ImGuiFullscreen::DrawFileSelector() s_file_selector_callback(no_path); CloseFileSelector(); } + else + { + if (ImGui::IsKeyPressed(ImGuiKey_Backspace, false) || ImGui::IsKeyPressed(ImGuiKey_NavGamepadMenu, false)) + { + if (!s_file_selector_items.empty() && s_file_selector_items.front().display_name == ICON_FA_FOLDER_OPEN + " ") + { + SetFileSelectorDirectory(std::move(s_file_selector_items.front().full_path)); + QueueResetFocus(); + } + } + } } bool ImGuiFullscreen::IsChoiceDialogOpen() @@ -1940,16 +2178,17 @@ bool ImGuiFullscreen::IsChoiceDialogOpen() return s_choice_dialog_open; } -void ImGuiFullscreen::OpenChoiceDialog(const char* title, bool checkable, ChoiceDialogOptions options, ChoiceDialogCallback callback) +void ImGuiFullscreen::OpenChoiceDialog(std::string_view title, bool checkable, ChoiceDialogOptions options, ChoiceDialogCallback callback) { if (s_choice_dialog_open) CloseChoiceDialog(); s_choice_dialog_open = true; s_choice_dialog_checkable = checkable; - s_choice_dialog_title = StringUtil::StdStringFromFormat("%s##choice_dialog", title); + s_choice_dialog_title = fmt::format("{}##choice_dialog", title); s_choice_dialog_options = std::move(options); s_choice_dialog_callback = std::move(callback); + QueueResetFocus(); } void ImGuiFullscreen::CloseChoiceDialog() @@ -1985,7 +2224,8 @@ void ImGuiFullscreen::DrawChoiceDialog() LayoutScale(450.0f), title_height + LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + (LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f)) * static_cast(s_choice_dialog_options.size())); ImGui::SetNextWindowSize(ImVec2(width, height)); - ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f)); + ImGui::SetNextWindowPos((ImGui::GetIO().DisplaySize - LayoutScale(0.0f, LAYOUT_FOOTER_HEIGHT)) * 0.5f, + ImGuiCond_Always, ImVec2(0.5f, 0.5f)); ImGui::OpenPopup(s_choice_dialog_title.c_str()); bool is_open = !WantsToCloseMenu(); @@ -1997,6 +2237,7 @@ void ImGuiFullscreen::DrawChoiceDialog() ImGui::PushStyleColor(ImGuiCol_Text, UIBackgroundTextColor); BeginMenuButtons(); + ResetFocusHere(); if (s_choice_dialog_checkable) { @@ -2057,6 +2298,10 @@ void ImGuiFullscreen::DrawChoiceDialog() s_choice_dialog_callback(-1, no_string, false); CloseChoiceDialog(); } + else + { + GetChoiceDialogHelpText(s_fullscreen_footer_text); + } } @@ -2074,6 +2319,7 @@ void ImGuiFullscreen::OpenInputStringDialog( s_input_dialog_caption = std::move(caption); s_input_dialog_ok_text = std::move(ok_button_text); s_input_dialog_callback = std::move(callback); + QueueResetFocus(); } void ImGuiFullscreen::DrawInputDialog() @@ -2082,7 +2328,8 @@ void ImGuiFullscreen::DrawInputDialog() return; ImGui::SetNextWindowSize(LayoutScale(700.0f, 0.0f)); - ImGui::SetNextWindowPos(ImGui::GetIO().DisplaySize * 0.5f, ImGuiCond_Always, ImVec2(0.5f, 0.5f)); + ImGui::SetNextWindowPos((ImGui::GetIO().DisplaySize - LayoutScale(0.0f, LAYOUT_FOOTER_HEIGHT)) * 0.5f, + ImGuiCond_Always, ImVec2(0.5f, 0.5f)); ImGui::OpenPopup(s_input_dialog_title.c_str()); ImGui::PushFont(g_large_font); @@ -2098,6 +2345,7 @@ void ImGuiFullscreen::DrawInputDialog() if (ImGui::BeginPopupModal(s_input_dialog_title.c_str(), &is_open, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove)) { + ResetFocusHere(); ImGui::TextWrapped("%s", s_input_dialog_message.c_str()); BeginMenuButtons(); @@ -2143,6 +2391,8 @@ void ImGuiFullscreen::DrawInputDialog() } if (!is_open) CloseInputDialog(); + else + GetInputDialogHelpText(s_fullscreen_footer_text); ImGui::PopStyleColor(4); ImGui::PopStyleVar(3); @@ -2179,6 +2429,7 @@ void ImGuiFullscreen::OpenConfirmMessageDialog( s_message_dialog_callback = std::move(callback); s_message_dialog_buttons[0] = std::move(yes_button_text); s_message_dialog_buttons[1] = std::move(no_button_text); + QueueResetFocus(); } void ImGuiFullscreen::OpenInfoMessageDialog( @@ -2191,6 +2442,7 @@ void ImGuiFullscreen::OpenInfoMessageDialog( s_message_dialog_message = std::move(message); s_message_dialog_callback = std::move(callback); s_message_dialog_buttons[0] = std::move(button_text); + QueueResetFocus(); } void ImGuiFullscreen::OpenMessageDialog(std::string title, std::string message, MessageDialogCallback callback, @@ -2205,6 +2457,7 @@ void ImGuiFullscreen::OpenMessageDialog(std::string title, std::string message, s_message_dialog_buttons[0] = std::move(first_button_text); s_message_dialog_buttons[1] = std::move(second_button_text); s_message_dialog_buttons[2] = std::move(third_button_text); + QueueResetFocus(); } void ImGuiFullscreen::CloseMessageDialog() @@ -2217,6 +2470,7 @@ void ImGuiFullscreen::CloseMessageDialog() s_message_dialog_message = {}; s_message_dialog_buttons = {}; s_message_dialog_callback = {}; + QueueResetFocus(); } void ImGuiFullscreen::DrawMessageDialog() @@ -2248,6 +2502,7 @@ void ImGuiFullscreen::DrawMessageDialog() if (ImGui::BeginPopupModal(win_id, &is_open, flags)) { BeginMenuButtons(); + ResetFocusHere(); ImGui::TextWrapped("%s", s_message_dialog_message.c_str()); ImGui::SetCursorPosY(ImGui::GetCursorPosY() + LayoutScale(20.0f)); @@ -2289,6 +2544,10 @@ void ImGuiFullscreen::DrawMessageDialog() func(result.value_or(1) == 0); } } + else + { + GetChoiceDialogHelpText(s_fullscreen_footer_text); + } } static float s_notification_vertical_position = 0.15f; @@ -2648,7 +2907,7 @@ void ImGuiFullscreen::DrawToast() ImFont* message_font = g_medium_font; const float padding = LayoutScale(20.0f); const float total_padding = padding * 2.0f; - const float margin = LayoutScale(20.0f); + const float margin = LayoutScale(20.0f + (s_fullscreen_footer_text.empty() ? 0.0f : LAYOUT_FOOTER_HEIGHT)); const float spacing = s_toast_title.empty() ? 0.0f : LayoutScale(10.0f); const ImVec2 display_size(ImGui::GetIO().DisplaySize); const ImVec2 title_size(s_toast_title.empty() ? ImVec2(0.0f, 0.0f) : diff --git a/pcsx2/ImGui/ImGuiFullscreen.h b/pcsx2/ImGui/ImGuiFullscreen.h index 058255b0f3..573940aad5 100644 --- a/pcsx2/ImGui/ImGuiFullscreen.h +++ b/pcsx2/ImGui/ImGuiFullscreen.h @@ -1,14 +1,18 @@ -// SPDX-FileCopyrightText: 2002-2023 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once + #include "common/Pcsx2Defs.h" + #include "IconsFontAwesome5.h" #include "imgui.h" #include "imgui_internal.h" + #include #include #include +#include #include #include #include @@ -30,6 +34,11 @@ namespace ImGuiFullscreen static constexpr float LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY = 26.0f; static constexpr float LAYOUT_MENU_BUTTON_X_PADDING = 15.0f; static constexpr float LAYOUT_MENU_BUTTON_Y_PADDING = 10.0f; + static constexpr float LAYOUT_FOOTER_PADDING = 10.0f; + static constexpr float LAYOUT_FOOTER_HEIGHT = LAYOUT_MEDIUM_FONT_SIZE + LAYOUT_FOOTER_PADDING * 2.0f; + static constexpr float LAYOUT_HORIZONTAL_MENU_HEIGHT = 320.0f; + static constexpr float LAYOUT_HORIZONTAL_MENU_PADDING = 30.0f; + static constexpr float LAYOUT_HORIZONTAL_MENU_ITEM_WIDTH = 250.0f; extern ImFont* g_standard_font; extern ImFont* g_medium_font; @@ -106,9 +115,9 @@ namespace ImGuiFullscreen /// Texture cache. const std::shared_ptr& GetPlaceholderTexture(); - std::shared_ptr LoadTexture(const char* path); - GSTexture* GetCachedTexture(const char* name); - GSTexture* GetCachedTextureAsync(const char* name); + std::shared_ptr LoadTexture(std::string_view path); + GSTexture* GetCachedTexture(std::string_view name); + GSTexture* GetCachedTextureAsync(std::string_view name); bool InvalidateCachedTexture(const std::string& path); void UploadAsyncTextures(); @@ -120,6 +129,9 @@ namespace ImGuiFullscreen void QueueResetFocus(); bool ResetFocusHere(); + bool IsFocusResetQueued(); + void ForceKeyNavEnabled(); + bool WantsToCloseMenu(); void ResetCloseMenuIfNeeded(); @@ -128,7 +140,7 @@ namespace ImGuiFullscreen void DrawWindowTitle(const char* title); - bool BeginFullscreenColumns(const char* title = nullptr, float pos_y = 0.0f, bool expand_to_screen_width = false); + bool BeginFullscreenColumns(const char* title = nullptr, float pos_y = 0.0f, bool expand_to_screen_width = false, bool footer = false); void EndFullscreenColumns(); bool BeginFullscreenColumnWindow(float start, float end, const char* name, const ImVec4& background = UIBackgroundColor); @@ -140,6 +152,12 @@ namespace ImGuiFullscreen const ImVec4& background = HEX_TO_IMVEC4(0x212121, 0xFF), float rounding = 0.0f, float padding = 0.0f, ImGuiWindowFlags flags = 0); void EndFullscreenWindow(); + bool IsGamepadInputSource(); + void CreateFooterTextString(SmallStringBase& dest, std::span> items); + void SetFullscreenFooterText(std::string_view text); + void SetFullscreenFooterText(std::span> items); + void DrawFullscreenFooter(); + void PrerenderMenuButtonBorder(); void BeginMenuButtons(u32 num_items = 0, float y_align = 0.0f, float x_padding = LAYOUT_MENU_BUTTON_X_PADDING, float y_padding = LAYOUT_MENU_BUTTON_Y_PADDING, float item_height = LAYOUT_MENU_BUTTON_HEIGHT); @@ -209,17 +227,21 @@ namespace ImGuiFullscreen bool NavTab(const char* title, bool is_active, bool enabled, float width, float height, const ImVec4& background, ImFont* font = g_large_font); + bool BeginHorizontalMenu(const char* name, const ImVec2& position, const ImVec2& size, u32 num_items); + void EndHorizontalMenu(); + bool HorizontalMenuItem(GSTexture* icon, const char* title, const char* description); + using FileSelectorCallback = std::function; using FileSelectorFilters = std::vector; bool IsFileSelectorOpen(); - void OpenFileSelector(const char* title, bool select_directory, FileSelectorCallback callback, + void OpenFileSelector(std::string_view title, bool select_directory, FileSelectorCallback callback, FileSelectorFilters filters = FileSelectorFilters(), std::string initial_directory = std::string()); void CloseFileSelector(); using ChoiceDialogCallback = std::function; using ChoiceDialogOptions = std::vector>; bool IsChoiceDialogOpen(); - void OpenChoiceDialog(const char* title, bool checkable, ChoiceDialogOptions options, ChoiceDialogCallback callback); + void OpenChoiceDialog(std::string_view title, bool checkable, ChoiceDialogOptions options, ChoiceDialogCallback callback); void CloseChoiceDialog(); using InputStringDialogCallback = std::function; @@ -253,4 +275,9 @@ namespace ImGuiFullscreen void ShowToast(std::string title, std::string message, float duration = 10.0f); void ClearToast(); + + // Message callbacks. + void GetChoiceDialogHelpText(SmallStringBase& dest); + void GetFileSelectorHelpText(SmallStringBase& dest); + void GetInputDialogHelpText(SmallStringBase& dest); } // namespace ImGuiFullscreen diff --git a/pcsx2/ImGui/ImGuiManager.cpp b/pcsx2/ImGui/ImGuiManager.cpp index cc9844af87..cfb130b687 100644 --- a/pcsx2/ImGui/ImGuiManager.cpp +++ b/pcsx2/ImGui/ImGuiManager.cpp @@ -489,8 +489,8 @@ ImFont* ImGuiManager::AddFixedFont(float size) bool ImGuiManager::AddIconFonts(float size) { // clang-format off - static constexpr ImWchar range_fa[] = { 0xf002,0xf002,0xf005,0xf005,0xf007,0xf007,0xf00c,0xf00e,0xf011,0xf011,0xf013,0xf013,0xf017,0xf017,0xf019,0xf019,0xf021,0xf023,0xf025,0xf025,0xf027,0xf028,0xf02b,0xf02b,0xf02e,0xf02e,0xf030,0xf030,0xf03a,0xf03a,0xf03d,0xf03e,0xf04b,0xf04c,0xf04e,0xf04e,0xf050,0xf050,0xf052,0xf052,0xf059,0xf059,0xf05e,0xf05e,0xf063,0xf063,0xf065,0xf065,0xf067,0xf067,0xf06a,0xf06a,0xf06e,0xf06e,0xf071,0xf071,0xf077,0xf078,0xf07b,0xf07c,0xf084,0xf084,0xf091,0xf091,0xf0ac,0xf0ad,0xf0b0,0xf0b0,0xf0c5,0xf0c5,0xf0c7,0xf0c8,0xf0cb,0xf0cb,0xf0d0,0xf0d0,0xf0dc,0xf0dc,0xf0e2,0xf0e2,0xf0eb,0xf0eb,0xf0f3,0xf0f3,0xf0fe,0xf0fe,0xf11b,0xf11c,0xf121,0xf121,0xf129,0xf12a,0xf140,0xf140,0xf144,0xf144,0xf14a,0xf14a,0xf15b,0xf15b,0xf15d,0xf15d,0xf188,0xf188,0xf191,0xf192,0xf1b3,0xf1b3,0xf1de,0xf1de,0xf1e6,0xf1e6,0xf1ea,0xf1eb,0xf1f8,0xf1f8,0xf1fc,0xf1fc,0xf21e,0xf21e,0xf245,0xf245,0xf26c,0xf26c,0xf279,0xf279,0xf2bd,0xf2bd,0xf2d0,0xf2d0,0xf2f1,0xf2f2,0xf2f5,0xf2f5,0xf302,0xf302,0xf3c1,0xf3c1,0xf3fd,0xf3fd,0xf410,0xf410,0xf462,0xf462,0xf466,0xf466,0xf51f,0xf51f,0xf543,0xf543,0xf547,0xf547,0xf54c,0xf54c,0xf552,0xf553,0xf56d,0xf56d,0xf5a2,0xf5a2,0xf65d,0xf65e,0xf6a9,0xf6a9,0xf756,0xf756,0xf794,0xf794,0xf815,0xf815,0xf84c,0xf84c,0xf8cc,0xf8cc,0x0,0x0 }; - static constexpr ImWchar range_pf[] = { 0x2198,0x2199,0x219e,0x21a1,0x21b0,0x21b3,0x21ba,0x21c3,0x21d0,0x21d4,0x21dc,0x21dd,0x21e0,0x21e3,0x21f3,0x21f3,0x21f7,0x21f8,0x21fa,0x21fb,0x221a,0x221a,0x227a,0x227d,0x22bf,0x22c8,0x2349,0x2349,0x235a,0x235e,0x2360,0x2361,0x2364,0x2367,0x237a,0x237b,0x237d,0x237d,0x237f,0x2380,0x23b2,0x23b5,0x23cc,0x23cc,0x23f4,0x23f7,0x2427,0x243a,0x2443,0x2443,0x2460,0x246b,0x248f,0x248f,0x24f5,0x24fd,0x24ff,0x24ff,0x2605,0x2605,0x2699,0x2699,0x278a,0x278e,0xe001,0xe001,0xff21,0xff3a,0x0,0x0 }; + static constexpr ImWchar range_fa[] = { 0xf002,0xf002,0xf005,0xf005,0xf007,0xf007,0xf00c,0xf00e,0xf011,0xf011,0xf013,0xf013,0xf017,0xf017,0xf019,0xf019,0xf021,0xf023,0xf025,0xf025,0xf027,0xf028,0xf02b,0xf02b,0xf02e,0xf02e,0xf030,0xf030,0xf03a,0xf03a,0xf03d,0xf03e,0xf04a,0xf04c,0xf04e,0xf04e,0xf050,0xf050,0xf052,0xf052,0xf05e,0xf05e,0xf063,0xf063,0xf067,0xf067,0xf06a,0xf06a,0xf06e,0xf06e,0xf071,0xf071,0xf077,0xf078,0xf07b,0xf07c,0xf084,0xf084,0xf091,0xf091,0xf0ac,0xf0ad,0xf0b0,0xf0b0,0xf0c5,0xf0c5,0xf0c7,0xf0c8,0xf0cb,0xf0cb,0xf0d0,0xf0d0,0xf0dc,0xf0dc,0xf0e2,0xf0e2,0xf0eb,0xf0eb,0xf0f3,0xf0f3,0xf0fe,0xf0fe,0xf11b,0xf11c,0xf121,0xf121,0xf129,0xf12a,0xf140,0xf140,0xf144,0xf144,0xf14a,0xf14a,0xf15b,0xf15b,0xf15d,0xf15d,0xf188,0xf188,0xf191,0xf192,0xf1b3,0xf1b3,0xf1de,0xf1de,0xf1e6,0xf1e6,0xf1ea,0xf1eb,0xf1f8,0xf1f8,0xf1fc,0xf1fc,0xf21e,0xf21e,0xf245,0xf245,0xf26c,0xf26c,0xf279,0xf279,0xf2bd,0xf2bd,0xf2d0,0xf2d0,0xf2f1,0xf2f2,0xf302,0xf302,0xf3c1,0xf3c1,0xf3fd,0xf3fd,0xf410,0xf410,0xf462,0xf462,0xf466,0xf466,0xf51f,0xf51f,0xf543,0xf543,0xf547,0xf547,0xf54c,0xf54c,0xf553,0xf553,0xf56d,0xf56d,0xf5a2,0xf5a2,0xf65d,0xf65e,0xf6a9,0xf6a9,0xf756,0xf756,0xf794,0xf794,0xf815,0xf815,0xf84c,0xf84c,0xf8cc,0xf8cc,0x0,0x0 }; + static constexpr ImWchar range_pf[] = { 0x2198,0x2199,0x219e,0x21a1,0x21b0,0x21b3,0x21ba,0x21c3,0x21d0,0x21d4,0x21dc,0x21dd,0x21e0,0x21e3,0x21f3,0x21f3,0x21f7,0x21f8,0x21fa,0x21fb,0x221a,0x221a,0x227a,0x227f,0x2284,0x2284,0x22bf,0x22c8,0x2349,0x2349,0x235a,0x235e,0x2360,0x2361,0x2364,0x2367,0x237a,0x237b,0x237d,0x237d,0x237f,0x2380,0x23b2,0x23b5,0x23cc,0x23cc,0x23f4,0x23f7,0x2427,0x243a,0x243d,0x243d,0x2443,0x2443,0x2460,0x246b,0x248f,0x248f,0x24f5,0x24fd,0x24ff,0x24ff,0x2605,0x2605,0x2699,0x2699,0x278a,0x278e,0xe001,0xe001,0xff21,0xff3a,0x0,0x0 }; // clang-format on { diff --git a/tests/ctest/core/StubHost.cpp b/tests/ctest/core/StubHost.cpp index b6f66e5db1..edc2b9f2b6 100644 --- a/tests/ctest/core/StubHost.cpp +++ b/tests/ctest/core/StubHost.cpp @@ -161,7 +161,11 @@ void Host::OnCaptureStopped() { } -void Host::RequestExit(bool save_state_if_running) +void Host::RequestExitApplication(bool allow_confirm) +{ +} + +void Host::RequestExitBigPicture() { }