From 9cf0c6434388d34a4d9ddb62dd4ff77775c0395d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 27 Mar 2026 14:03:12 -0600 Subject: [PATCH] InstallZipScreen: Handle the Play choice properly. --- UI/InstallZipScreen.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/UI/InstallZipScreen.cpp b/UI/InstallZipScreen.cpp index 36e23d1328..2a1aba02c5 100644 --- a/UI/InstallZipScreen.cpp +++ b/UI/InstallZipScreen.cpp @@ -92,7 +92,7 @@ void InstallZipScreen::CreateSettingsViews(UI::ViewGroup *parent) { installChoice_->OnClick.Handle(this, &InstallZipScreen::OnInstall); // NOTE: We detect PBP isos (like demos) as game dirs currently. Can't play them directly. - if (zipFileInfo_.contents == ZipFileContents::ISO_FILE) { + if (zipFileInfo_.contents == ZipFileContents::ISO_FILE && zipFileInfo_.archiveType == ArchiveType::ZIP) { playChoice_ = parent->Add(new Choice(ga->T("Play"), ImageID("I_PLAY"))); playChoice_->OnClick.Handle(this, &InstallZipScreen::OnPlay); } @@ -380,6 +380,11 @@ void InstallZipScreen::update() { if (doneView_) { doneView_->SetText(iz->T("Installed!")); } + if (playChoice_) { + // Encourage the user to back out and play directly from the main screen, + // instead of unpacking into memory. + playChoice_->SetEnabled(false); + } MainScreen::showHomebrewTab = returnToHomebrew_; } }