From 3bdb9645fd6bc2b82d229008747a3beddd026906 Mon Sep 17 00:00:00 2001 From: Dmugetsu Date: Fri, 14 Feb 2025 18:49:59 -0600 Subject: [PATCH] Initial support for stop and restart game now relaunches emulator when clicked stop or restart button. --- src/emulator.cpp | 70 +++++++++++++++++++++++++++++++++++- src/emulator.h | 14 +++++++- src/images/restart_icon.png | Bin 0 -> 104715 bytes src/qt_gui/main_window.cpp | 53 +++++++++++++++++++++++++++ src/qt_gui/main_window.h | 3 ++ src/qt_gui/main_window_ui.h | 6 ++++ src/sdl_window.cpp | 60 ++++++++++++++++++++++++++++++- src/sdl_window.h | 2 ++ src/shadps4.qrc | 1 + 9 files changed, 206 insertions(+), 3 deletions(-) create mode 100644 src/images/restart_icon.png diff --git a/src/emulator.cpp b/src/emulator.cpp index cd981add2..5fb8a2196 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -3,6 +3,12 @@ #include #include +#include +#include +#include +#include +#include +#include #include "common/config.h" #include "common/debug.h" @@ -102,6 +108,8 @@ Emulator::~Emulator() { } void Emulator::Run(const std::filesystem::path& file, const std::vector args) { + isRunning = true; + const auto eboot_name = file.filename().string(); auto game_folder = file.parent_path(); if (const auto game_folder_name = game_folder.filename().string(); @@ -251,7 +259,6 @@ void Emulator::Run(const std::filesystem::path& file, const std::vectorGetHostPath("/app0/" + eboot_name); linker->LoadModule(eboot_path); - // check if we have system modules to load LoadSystemModules(game_info.game_serial); @@ -288,6 +295,67 @@ void Emulator::Run(const std::filesystem::path& file, const std::vector ModulesToLoad{ {{"libSceNgs2.sprx", &Libraries::Ngs2::RegisterlibSceNgs2}, diff --git a/src/emulator.h b/src/emulator.h index 08c2807a1..258e5b6b5 100644 --- a/src/emulator.h +++ b/src/emulator.h @@ -5,11 +5,13 @@ #include #include +#include "common/elf_info.h" #include "common/singleton.h" #include "core/linker.h" #include "input/controller.h" #include "sdl_window.h" +#include namespace Core { @@ -27,10 +29,20 @@ public: void Run(const std::filesystem::path& file, const std::vector args = {}); void UpdatePlayTime(const std::string& serial); + static Emulator& GetInstance(); + void StopEmulation(); + bool is_running = false; + void Restart(); + void Shutdown(); + private: void LoadSystemModules(const std::string& game_serial); - + Common::ElfInfo game_info; + QString lastEbootPath; + void saveLastEbootPath(const QString& path); + QString getLastEbootPath(); + bool isRunning = false; Core::MemoryManager* memory; Input::GameController* controller; Core::Linker* linker; diff --git a/src/images/restart_icon.png b/src/images/restart_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef414220489a669c9c24cd2870a107d62d49ca7 GIT binary patch literal 104715 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 yi}07&iA;-3-BkZNXaGM0=%RJU9+O& +#include #include #include #include #include +#include #include "about_dialog.h" #include "cheats_patches.h" @@ -143,6 +146,7 @@ void MainWindow::AddUiWidgets() { ui->toolBar->addWidget(ui->settingsButton); ui->toolBar->addWidget(ui->controllerButton); ui->toolBar->addWidget(ui->keyboardButton); + ui->toolBar->addWidget(ui->restartButton); QFrame* line = new QFrame(this); line->setFrameShape(QFrame::StyledPanel); line->setFrameShadow(QFrame::Sunken); @@ -276,6 +280,8 @@ void MainWindow::CreateConnects() { }); connect(ui->playButton, &QPushButton::clicked, this, &MainWindow::StartGame); + connect(ui->stopButton, &QPushButton::clicked, this, &MainWindow::StopGame); + connect(ui->restartButton, &QPushButton::clicked, this, &MainWindow::RestartGame); connect(m_game_grid_frame.get(), &QTableWidget::cellDoubleClicked, this, &MainWindow::StartGame); connect(m_game_list_frame.get(), &QTableWidget::cellDoubleClicked, this, @@ -761,6 +767,10 @@ void MainWindow::BootGame() { } } +QString MainWindow::getLastEbootPath() { + return QString(); +} + void MainWindow::InstallDragDropPkg(std::filesystem::path file, int pkgNum, int nPkg) { if (Loader::DetectFileType(file) == Loader::FileTypes::Pkg) { std::string failreason; @@ -1113,6 +1123,7 @@ void MainWindow::SetUiIcons(bool isWhite) { ui->settingsButton->setIcon(RecolorIcon(ui->settingsButton->icon(), isWhite)); ui->controllerButton->setIcon(RecolorIcon(ui->controllerButton->icon(), isWhite)); ui->keyboardButton->setIcon(RecolorIcon(ui->keyboardButton->icon(), isWhite)); + ui->restartButton->setIcon(RecolorIcon(ui->restartButton->icon(), isWhite)); ui->refreshGameListAct->setIcon(RecolorIcon(ui->refreshGameListAct->icon(), isWhite)); ui->menuGame_List_Mode->setIcon(RecolorIcon(ui->menuGame_List_Mode->icon(), isWhite)); ui->pkgViewerAct->setIcon(RecolorIcon(ui->pkgViewerAct->icon(), isWhite)); @@ -1242,3 +1253,45 @@ void MainWindow::StartEmulator(std::filesystem::path path) { emulator_thread.detach(); #endif } + +void MainWindow::StopGame() { + if (!isGameRunning) { + QMessageBox::information(this, tr("Stop Game"), tr("No game is currently running.")); + return; + } + + // Get the emulator instance and stop it + Core::Emulator& emulator = Core::Emulator::GetInstance(); // Use the correct instance method + emulator.StopEmulation(); + + isGameRunning = false; + QMessageBox::information(this, tr("Stop Game"), tr("Game has been stopped successfully.")); + + SDL_Event quitEvent; + quitEvent.type = SDL_EVENT_QUIT + 1; + SDL_PushEvent(&quitEvent); +} + +void MainWindow::RestartGame() { + if (!isGameRunning) { + QMessageBox::warning(this, tr("Restart Game"), tr("No game is running to restart.")); + return; + } + + std::vector recentFiles = Config::getRecentFiles(); + if (recentFiles.empty()) { + QMessageBox::warning(this, tr("Restart Game"), tr("No recent game found.")); + return; + } + + QString lastGamePath = QString::fromStdString(recentFiles.front()); + + // Stop the current game first + StopGame(); + + // Wait for cleanup + QThread::sleep(1); + + // Restart the game + StartEmulator(Common::FS::PathFromQString(lastGamePath)); +} diff --git a/src/qt_gui/main_window.h b/src/qt_gui/main_window.h index 5ac56e44c..69d5d8800 100644 --- a/src/qt_gui/main_window.h +++ b/src/qt_gui/main_window.h @@ -38,6 +38,8 @@ public: void InstallDragDropPkg(std::filesystem::path file, int pkgNum, int nPkg); void InstallDirectory(); void StartGame(); + void StopGame(); + void RestartGame(); private Q_SLOTS: void ConfigureGuiFromSettings(); @@ -65,6 +67,7 @@ private: void SetUiIcons(bool isWhite); void InstallPkg(); void BootGame(); + QString getLastEbootPath(); void AddRecentFiles(QString filePath); void LoadTranslation(); void PlayBackgroundMusic(); diff --git a/src/qt_gui/main_window_ui.h b/src/qt_gui/main_window_ui.h index e74ffcacb..79456180b 100644 --- a/src/qt_gui/main_window_ui.h +++ b/src/qt_gui/main_window_ui.h @@ -48,6 +48,8 @@ public: QPushButton* settingsButton; QPushButton* controllerButton; QPushButton* keyboardButton; + QPushButton* restartButton; + QWidget* sizeSliderContainer; QHBoxLayout* sizeSliderContainer_layout; @@ -215,6 +217,10 @@ public: keyboardButton->setFlat(true); keyboardButton->setIcon(QIcon(":images/keyboard_icon.png")); keyboardButton->setIconSize(QSize(48, 44)); + restartButton = new QPushButton(centralWidget); + restartButton->setFlat(true); + restartButton->setIcon(QIcon(":images/restart_icon.png")); + restartButton->setIconSize(QSize(48, 44)); sizeSliderContainer = new QWidget(centralWidget); sizeSliderContainer->setObjectName("sizeSliderContainer"); diff --git a/src/sdl_window.cpp b/src/sdl_window.cpp index ccc369c53..fb170440e 100644 --- a/src/sdl_window.cpp +++ b/src/sdl_window.cpp @@ -1,6 +1,11 @@ // SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +#include +#include +#include +#include +#include #include "SDL3/SDL_events.h" #include "SDL3/SDL_hints.h" #include "SDL3/SDL_init.h" @@ -363,14 +368,67 @@ void WindowSDL::WaitEvent() { break; } break; + case SDL_EVENT_QUIT: is_open = false; break; - default: + case SDL_EVENT_QUIT + 1: + is_open = false; + RelaunchEmulator(); break; } } +void WindowSDL::RelaunchEmulator() { + QString emulatorPath = QCoreApplication::applicationFilePath(); // Get current executable path + QString emulatorDir = QFileInfo(emulatorPath).absolutePath(); // Get working directory + +#ifdef Q_OS_WIN + QString scriptFileName = + QStandardPaths::writableLocation(QStandardPaths::TempLocation) + "/relaunch.ps1"; + QString scriptContent = + QStringLiteral( + "Start-Sleep -Seconds 2\n" + "Start-Process -FilePath '%1' -WorkingDirectory ([WildcardPattern]::Escape('%2'))\n") + .arg(emulatorPath, emulatorDir); + + QFile scriptFile(scriptFileName); + if (scriptFile.open(QIODevice::WriteOnly | QIODevice::Text)) { + QTextStream out(&scriptFile); + scriptFile.write("\xEF\xBB\xBF"); // UTF-8 BOM + out << scriptContent; + scriptFile.close(); + + // Execute PowerShell script + QProcess::startDetached("powershell.exe", QStringList() << "-ExecutionPolicy" + << "Bypass" + << "-File" << scriptFileName); + } + +#elif defined(Q_OS_LINUX) || defined(Q_OS_MAC) + QString scriptFileName = "/tmp/relaunch.sh"; + QString scriptContent = QStringLiteral("#!/bin/bash\n" + "sleep 2\n" + "cd '%2'\n" + "./'%1' &\n") + .arg(QFileInfo(emulatorPath).fileName(), emulatorDir); + + QFile scriptFile(scriptFileName); + if (scriptFile.open(QIODevice::WriteOnly | QIODevice::Text)) { + QTextStream out(&scriptFile); + out << scriptContent; + scriptFile.close(); + + // Make script executable + scriptFile.setPermissions(QFileDevice::ExeOwner | QFileDevice::ReadOwner | + QFileDevice::WriteOwner); + + // Execute bash script + QProcess::startDetached("bash", QStringList() << scriptFileName); + } +#endif +} + void WindowSDL::InitTimers() { SDL_AddTimer(100, &PollController, controller); SDL_AddTimer(33, Input::MousePolling, (void*)controller); diff --git a/src/sdl_window.h b/src/sdl_window.h index 9acd2b16b..930bf693f 100644 --- a/src/sdl_window.h +++ b/src/sdl_window.h @@ -97,6 +97,7 @@ private: void OnResize(); void OnKeyboardMouseInput(const SDL_Event* event); void OnGamepadEvent(const SDL_Event* event); + void RelaunchEmulator(); private: s32 width; @@ -106,6 +107,7 @@ private: SDL_Window* window{}; bool is_shown{}; bool is_open{true}; + bool restartRequested = false; }; } // namespace Frontend diff --git a/src/shadps4.qrc b/src/shadps4.qrc index 14b50f7a5..0fc65f5a2 100644 --- a/src/shadps4.qrc +++ b/src/shadps4.qrc @@ -32,5 +32,6 @@ images/website.png images/ps4_controller.png images/keyboard_icon.png + images/restart_icon.png