mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
Merge pull request #19471 from hrydgard/ingame-gameinfo-screen
Some checks failed
Build / build-windows (ARM64) (push) Waiting to run
Build / build-windows (x64) (push) Waiting to run
Build / build-uwp (push) Waiting to run
Build / test-windows (push) Blocked by required conditions
Build / build (./b.sh --headless --unittest --fat --no-png --no-sdl2, clang, clang++, test, macos, macos-latest) (push) Waiting to run
Build / build (./b.sh --ios, clang, clang++, ios, ios, macos-latest) (push) Waiting to run
Build / test (macos-latest) (push) Blocked by required conditions
Build / test (ubuntu-latest) (push) Blocked by required conditions
Build / build (./b.sh --headless --unittest, clang, clang++, test, clang-normal, ubuntu-latest) (push) Failing after 1s
Build / build (./b.sh --headless --unittest, gcc, g++, gcc-normal, ubuntu-latest) (push) Failing after 0s
Build / build (./b.sh --libretro_android ppsspp_libretro, clang, clang++, android, android-libretro, ubuntu-latest) (push) Failing after 0s
Build / build (./b.sh --qt, gcc, g++, qt, qt, ubuntu-latest) (push) Failing after 0s
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a OPENXR=1, clang, clang++, android, android-vr, ubuntu-latest) (push) Failing after 1s
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm64, ubuntu-latest) (push) Failing after 1s
Build / build (cd android && ./ab.sh -j2 APP_ABI=armeabi-v7a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm32, ubuntu-latest) (push) Failing after 0s
Build / build (cd android && ./ab.sh -j2 APP_ABI=x86_64 UNITTEST=1 HEADLESS=1, clang, clang++, android, android-x86_64, ubuntu-latest) (push) Failing after 1s
Build / build (make -C libretro -f Makefile -j2, clang, clang++, libretro, clang-libretro, ubuntu-latest) (push) Failing after 1s
Build / build (make -C libretro -f Makefile -j2, gcc, g++, libretro, gcc-libretro, ubuntu-latest) (push) Failing after 1s
Build / build_test_headless_alpine (push) Failing after 1s
Generate Docker Layer / build (push) Failing after 0s
Some checks failed
Build / build-windows (ARM64) (push) Waiting to run
Build / build-windows (x64) (push) Waiting to run
Build / build-uwp (push) Waiting to run
Build / test-windows (push) Blocked by required conditions
Build / build (./b.sh --headless --unittest --fat --no-png --no-sdl2, clang, clang++, test, macos, macos-latest) (push) Waiting to run
Build / build (./b.sh --ios, clang, clang++, ios, ios, macos-latest) (push) Waiting to run
Build / test (macos-latest) (push) Blocked by required conditions
Build / test (ubuntu-latest) (push) Blocked by required conditions
Build / build (./b.sh --headless --unittest, clang, clang++, test, clang-normal, ubuntu-latest) (push) Failing after 1s
Build / build (./b.sh --headless --unittest, gcc, g++, gcc-normal, ubuntu-latest) (push) Failing after 0s
Build / build (./b.sh --libretro_android ppsspp_libretro, clang, clang++, android, android-libretro, ubuntu-latest) (push) Failing after 0s
Build / build (./b.sh --qt, gcc, g++, qt, qt, ubuntu-latest) (push) Failing after 0s
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a OPENXR=1, clang, clang++, android, android-vr, ubuntu-latest) (push) Failing after 1s
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm64, ubuntu-latest) (push) Failing after 1s
Build / build (cd android && ./ab.sh -j2 APP_ABI=armeabi-v7a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm32, ubuntu-latest) (push) Failing after 0s
Build / build (cd android && ./ab.sh -j2 APP_ABI=x86_64 UNITTEST=1 HEADLESS=1, clang, clang++, android, android-x86_64, ubuntu-latest) (push) Failing after 1s
Build / build (make -C libretro -f Makefile -j2, clang, clang++, libretro, clang-libretro, ubuntu-latest) (push) Failing after 1s
Build / build (make -C libretro -f Makefile -j2, gcc, g++, libretro, gcc-libretro, ubuntu-latest) (push) Failing after 1s
Build / build_test_headless_alpine (push) Failing after 1s
Generate Docker Layer / build (push) Failing after 0s
Add button to show the game-info screen from the in-game pause screen
This commit is contained in:
commit
476c69c675
@ -51,7 +51,7 @@
|
||||
#include "UI/SavedataScreen.h"
|
||||
#include "Core/Reporting.h"
|
||||
|
||||
GameScreen::GameScreen(const Path &gamePath) : UIDialogScreenWithGameBackground(gamePath) {
|
||||
GameScreen::GameScreen(const Path &gamePath, bool inGame) : UIDialogScreenWithGameBackground(gamePath), inGame_(inGame) {
|
||||
g_BackgroundAudio.SetGame(gamePath);
|
||||
System_PostUIMessage(UIMessage::GAME_SELECTED, gamePath.ToString());
|
||||
}
|
||||
@ -209,10 +209,16 @@ void GameScreen::CreateViews() {
|
||||
|
||||
btnGameSettings_ = rightColumnItems->Add(new Choice(ga->T("Game Settings")));
|
||||
btnGameSettings_->OnClick.Handle(this, &GameScreen::OnGameSettings);
|
||||
|
||||
btnDeleteGameConfig_ = rightColumnItems->Add(new Choice(ga->T("Delete Game Config")));
|
||||
btnDeleteGameConfig_->OnClick.Handle(this, &GameScreen::OnDeleteConfig);
|
||||
if (inGame_)
|
||||
btnDeleteGameConfig_->SetEnabled(false);
|
||||
|
||||
btnCreateGameConfig_ = rightColumnItems->Add(new Choice(ga->T("Create Game Config")));
|
||||
btnCreateGameConfig_->OnClick.Handle(this, &GameScreen::OnCreateConfig);
|
||||
if (inGame_)
|
||||
btnCreateGameConfig_->SetEnabled(false);
|
||||
|
||||
btnGameSettings_->SetVisibility(V_GONE);
|
||||
btnDeleteGameConfig_->SetVisibility(V_GONE);
|
||||
@ -224,7 +230,12 @@ void GameScreen::CreateViews() {
|
||||
|
||||
otherChoices_.clear();
|
||||
|
||||
rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Delete Game"))))->OnClick.Handle(this, &GameScreen::OnDeleteGame);
|
||||
// Don't want to be able to delete the game while it's running.
|
||||
Choice *deleteChoice = rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Delete Game"))));
|
||||
deleteChoice->OnClick.Handle(this, &GameScreen::OnDeleteGame);
|
||||
if (inGame_) {
|
||||
deleteChoice->SetEnabled(false);
|
||||
}
|
||||
if (System_GetPropertyBool(SYSPROP_CAN_CREATE_SHORTCUT)) {
|
||||
rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Create Shortcut"))))->OnClick.Add([=](UI::EventParams &e) {
|
||||
std::shared_ptr<GameInfo> info = g_gameInfoCache->GetInfo(NULL, gamePath_, GameInfoFlags::PARAM_SFO);
|
||||
@ -235,9 +246,15 @@ void GameScreen::CreateViews() {
|
||||
return UI::EVENT_DONE;
|
||||
});
|
||||
}
|
||||
|
||||
if (isRecentGame(gamePath_)) {
|
||||
rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Remove From Recent"))))->OnClick.Handle(this, &GameScreen::OnRemoveFromRecent);
|
||||
Choice *removeButton = rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Remove From Recent"))));
|
||||
removeButton->OnClick.Handle(this, &GameScreen::OnRemoveFromRecent);
|
||||
if (inGame_) {
|
||||
removeButton->SetEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
#if (defined(USING_QT_UI) || PPSSPP_PLATFORM(WINDOWS) || PPSSPP_PLATFORM(MAC)) && !PPSSPP_PLATFORM(UWP)
|
||||
rightColumnItems->Add(AddOtherChoice(new Choice(ga->T("Show In Folder"))))->OnClick.Handle(this, &GameScreen::OnShowInFolder);
|
||||
#endif
|
||||
|
@ -33,7 +33,7 @@ class NoticeView;
|
||||
|
||||
class GameScreen : public UIDialogScreenWithGameBackground {
|
||||
public:
|
||||
GameScreen(const Path &gamePath);
|
||||
GameScreen(const Path &gamePath, bool inGame);
|
||||
~GameScreen();
|
||||
|
||||
void update() override;
|
||||
@ -91,4 +91,5 @@ private:
|
||||
std::string CRC32string;
|
||||
|
||||
bool isHomebrew_ = false;
|
||||
bool inGame_ = false;
|
||||
};
|
||||
|
@ -1511,7 +1511,7 @@ UI::EventReturn MainScreen::OnGameSelected(UI::EventParams &e) {
|
||||
restoreFocusGamePath_ = highlightedGamePath_;
|
||||
g_BackgroundAudio.SetGame(path);
|
||||
lockBackgroundAudio_ = true;
|
||||
screenManager()->push(new GameScreen(path));
|
||||
screenManager()->push(new GameScreen(path, false));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,7 @@
|
||||
#include "UI/ReportScreen.h"
|
||||
#include "UI/CwCheatScreen.h"
|
||||
#include "UI/MainScreen.h"
|
||||
#include "UI/GameScreen.h"
|
||||
#include "UI/OnScreenDisplay.h"
|
||||
#include "UI/GameInfoCache.h"
|
||||
#include "UI/DisplayLayoutScreen.h"
|
||||
@ -445,14 +446,18 @@ void GamePauseScreen::CreateViews() {
|
||||
}
|
||||
|
||||
if (!Core_MustRunBehind()) {
|
||||
if (middleColumn) {
|
||||
playButton_ = middleColumn->Add(new Button("", g_Config.bRunBehindPauseMenu ? ImageID("I_PAUSE") : ImageID("I_PLAY"), new LinearLayoutParams(64, 64)));
|
||||
playButton_->OnClick.Add([=](UI::EventParams &e) {
|
||||
g_Config.bRunBehindPauseMenu = !g_Config.bRunBehindPauseMenu;
|
||||
playButton_->SetImageID(g_Config.bRunBehindPauseMenu ? ImageID("I_PAUSE") : ImageID("I_PLAY"));
|
||||
return UI::EVENT_DONE;
|
||||
});
|
||||
}
|
||||
playButton_ = middleColumn->Add(new Button("", g_Config.bRunBehindPauseMenu ? ImageID("I_PAUSE") : ImageID("I_PLAY"), new LinearLayoutParams(64, 64)));
|
||||
playButton_->OnClick.Add([=](UI::EventParams &e) {
|
||||
g_Config.bRunBehindPauseMenu = !g_Config.bRunBehindPauseMenu;
|
||||
playButton_->SetImageID(g_Config.bRunBehindPauseMenu ? ImageID("I_PAUSE") : ImageID("I_PLAY"));
|
||||
return UI::EVENT_DONE;
|
||||
});
|
||||
|
||||
Button *infoButton = middleColumn->Add(new Button("", ImageID("I_INFO"), new LinearLayoutParams(64, 64)));
|
||||
infoButton->OnClick.Add([=](UI::EventParams &e) {
|
||||
screenManager()->push(new GameScreen(gamePath_, true));
|
||||
return UI::EVENT_DONE;
|
||||
});
|
||||
} else {
|
||||
auto nw = GetI18NCategory(I18NCat::NETWORKING);
|
||||
rightColumnHolder->Add(new TextView(nw->T("Network connected")));
|
||||
|
Loading…
Reference in New Issue
Block a user