Automatic disc change for 2-disc games

This commit is contained in:
JosJuice
2018-11-05 19:20:45 +01:00
parent fc68b835e7
commit bd665aad5d
19 changed files with 306 additions and 92 deletions

View File

@ -5,6 +5,7 @@
#pragma once
#include <QMainWindow>
#include <QStringList>
#include <memory>
#include <optional>
@ -47,6 +48,11 @@ namespace DiscIO
enum class Region;
}
namespace UICommon
{
class GameFile;
}
namespace X11Utils
{
class XRRConfiguration;
@ -115,8 +121,20 @@ private:
void InitCoreCallbacks();
void StartGame(const QString& path, const std::optional<std::string>& savestate_path = {});
void StartGame(const std::string& path, const std::optional<std::string>& savestate_path = {});
enum class ScanForSecondDisc
{
Yes,
No,
};
void ScanForSecondDiscAndStartGame(const UICommon::GameFile& game,
const std::optional<std::string>& savestate_path = {});
void StartGame(const QString& path, ScanForSecondDisc scan,
const std::optional<std::string>& savestate_path = {});
void StartGame(const std::string& path, ScanForSecondDisc scan,
const std::optional<std::string>& savestate_path = {});
void StartGame(const std::vector<std::string>& paths,
const std::optional<std::string>& savestate_path = {});
void StartGame(std::unique_ptr<BootParameters>&& parameters);
void ShowRenderWidget();
void HideRenderWidget(bool reinit = true);
@ -155,7 +173,7 @@ private:
void ChangeDisc();
void EjectDisc();
QString PromptFileName();
QStringList PromptFileNames();
void EnableScreenSaver(bool enable);