mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-22 18:59:04 +02:00
VSH: Insert and eject UMDs from the pause screen
While the XMB is running, the pause screen offers "Insert UMD" with the drive empty, opening the Switch UMD game picker, and "Eject UMD" with a disc in. The XMB notices the change through its drive callback, as it does over the debugger's game.umd.insert/eject. Games keep "Switch UMD". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
71974b2eab
commit
7d2663bf73
6 files changed
+40
-3
No files matched your search
+14
-1
@@ -46,6 +46,7 @@
|
||||
#include "Core/RetroAchievements.h"
|
||||
#include "Core/ELF/ParamSFO.h"
|
||||
#include "Core/HLE/sceDisplay.h"
|
||||
#include "Core/HLE/sceKernelModule.h"
|
||||
#include "Core/HLE/sceUmd.h"
|
||||
#include "Core/HLE/sceNet.h"
|
||||
#include "Core/HLE/sceNetInet.h"
|
||||
@@ -712,7 +713,19 @@ void GamePauseScreen::CreateViews() {
|
||||
buttonColumn->Add(rightColumnItems);
|
||||
|
||||
rightColumnItems->SetSpacing(0.0f);
|
||||
if (getUMDReplacePermit()) {
|
||||
if (__KernelIsRunningVSH()) {
|
||||
// The XMB notices discs coming and going by itself, like a PSP's.
|
||||
if (__UmdIsInserted()) {
|
||||
rightColumnItems->Add(new Choice(pa->T("Eject UMD"), ImageID("I_UMD")))->OnClick.Add([this](UI::EventParams &) {
|
||||
__UmdEject();
|
||||
RecreateViews();
|
||||
});
|
||||
} else {
|
||||
rightColumnItems->Add(new Choice(pa->T("Insert UMD"), ImageID("I_UMD")))->OnClick.Add([this](UI::EventParams &) {
|
||||
screenManager()->push(new UmdReplaceScreen(true));
|
||||
});
|
||||
}
|
||||
} else if (getUMDReplacePermit()) {
|
||||
rightColumnItems->Add(new Choice(pa->T("Switch UMD"), ImageID("I_UMD")))->OnClick.Add([this](UI::EventParams &) {
|
||||
screenManager()->push(new UmdReplaceScreen());
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user