CDROM: Special case immediate GetlocP after play/read before int

Fixes CDDA in Mad Panic Coaster.
This commit is contained in:
Connor McLaughlin
2021-10-27 20:03:55 +10:00
parent 58f05498e5
commit 25f69e7f8c
15 changed files with 68 additions and 60 deletions

View File

@ -89,6 +89,10 @@ void NoGUIHostInterface::SetDefaultSettings(SettingsInterface& si)
si.SetStringValue("Hotkeys", "OpenQuickMenu", "Keyboard/Escape");
}
void NoGUIHostInterface::OnDisplayInvalidated() {}
void NoGUIHostInterface::OnSystemPerformanceCountersUpdated() {}
bool NoGUIHostInterface::CreateDisplay(bool fullscreen)
{
std::optional<WindowInfo> wi = GetPlatformWindowInfo();

View File

@ -31,6 +31,9 @@ public:
void RunLater(std::function<void()> callback) override;
virtual void OnDisplayInvalidated() override;
virtual void OnSystemPerformanceCountersUpdated() override;
protected:
enum : u32
{

View File

@ -260,6 +260,8 @@ std::optional<CommonHostInterface::HostKeyCode> SDLHostInterface::GetHostKeyCode
return static_cast<HostKeyCode>(*code);
}
void SDLHostInterface::SetMouseMode(bool relative, bool hide_cursor) {}
void SDLHostInterface::PollAndUpdate()
{
// Process SDL events before the controller interface can steal them.

View File

@ -21,6 +21,8 @@ public:
bool SetFullscreen(bool enabled) override;
protected:
void SetMouseMode(bool relative, bool hide_cursor) override;
void PollAndUpdate() override;
std::optional<HostKeyCode> GetHostKeyCode(const std::string_view key_code) const override;

View File

@ -111,6 +111,8 @@ void VTYHostInterface::PollAndUpdate()
NoGUIHostInterface::PollAndUpdate();
}
void VTYHostInterface::SetMouseMode(bool relative, bool hide_cursor) {}
void VTYHostInterface::OpenEVDevFDs()
{
for (int i = 0; i < 1000; i++)

View File

@ -29,6 +29,8 @@ protected:
void PollAndUpdate() override;
void SetMouseMode(bool relative, bool hide_cursor) override;
private:
static void SIGTERMHandler(int sig);

View File

@ -57,6 +57,8 @@ bool Win32HostInterface::RegisterWindowClass()
return true;
}
void Win32HostInterface::SetMouseMode(bool relative, bool hide_cursor) {}
bool Win32HostInterface::CreatePlatformWindow()
{
m_hwnd = CreateWindowExW(WS_EX_CLIENTEDGE, WINDOW_CLASS_NAME, L"DuckStation", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,

View File

@ -16,6 +16,8 @@ public:
static std::unique_ptr<NoGUIHostInterface> Create();
protected:
void SetMouseMode(bool relative, bool hide_cursor) override;
bool CreatePlatformWindow() override;
void DestroyPlatformWindow() override;
std::optional<WindowInfo> GetPlatformWindowInfo() override;