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

@ -104,8 +104,6 @@ void RegTestHostInterface::GetGameInfo(const char* path, CDImage* image, std::st
void RegTestHostInterface::OnRunningGameChanged(const std::string& path, CDImage* image, const std::string& game_code,
const std::string& game_title)
{
HostInterface::OnRunningGameChanged(path, image, game_code, game_title);
Log_InfoPrintf("Game Path: %s", path.c_str());
Log_InfoPrintf("Game Code: %s", game_code.c_str());
Log_InfoPrintf("Game Title: %s", game_title.c_str());
@ -128,6 +126,10 @@ void RegTestHostInterface::OnRunningGameChanged(const std::string& path, CDImage
UpdateSettings();
}
void RegTestHostInterface::OnSystemPerformanceCountersUpdated() {}
void RegTestHostInterface::OnDisplayInvalidated() {}
std::string RegTestHostInterface::GetStringSettingValue(const char* section, const char* key,
const char* default_value /*= ""*/)
{
@ -284,6 +286,16 @@ std::unique_ptr<AudioStream> RegTestHostInterface::CreateAudioStream(AudioBacken
return AudioStream::CreateNullAudioStream();
}
void RegTestHostInterface::OnSystemCreated() {}
void RegTestHostInterface::OnSystemPaused(bool paused) {}
void RegTestHostInterface::OnSystemDestroyed() {}
void RegTestHostInterface::OnControllerTypeChanged(u32 slot) {}
void RegTestHostInterface::SetMouseMode(bool relative, bool hide_cursor) {}
static void PrintCommandLineVersion()
{
const bool was_console_enabled = Log::IsConsoleOutputEnabled();

View File

@ -2,7 +2,7 @@
#include "core/host_interface.h"
#include "regtest_settings_interface.h"
class RegTestHostInterface : public HostInterface
class RegTestHostInterface final : public HostInterface
{
public:
RegTestHostInterface();
@ -34,12 +34,22 @@ public:
std::unique_ptr<ByteStream> OpenPackageFile(const char* path, u32 flags) override;
void OnSystemPerformanceCountersUpdated() override;
void OnDisplayInvalidated() override;
protected:
bool AcquireHostDisplay() override;
void ReleaseHostDisplay() override;
std::unique_ptr<AudioStream> CreateAudioStream(AudioBackend backend) override;
void OnSystemCreated() override;
void OnSystemPaused(bool paused) override;
void OnSystemDestroyed() override;
void OnControllerTypeChanged(u32 slot) override;
void SetMouseMode(bool relative, bool hide_cursor) override;
private:
void LoadGameSettingsDatabase();
void InitializeSettings();