From 92038da3d5f0f71011be43459216d238ac64f80c Mon Sep 17 00:00:00 2001 From: Stenzek Date: Thu, 18 Jul 2024 00:29:35 +1000 Subject: [PATCH] CDROM: Handle speed change while reading Fixes level music in Croc 2 demo. --- src/core/cdrom.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/cdrom.cpp b/src/core/cdrom.cpp index 8a16829bb..2807bbdec 100644 --- a/src/core/cdrom.cpp +++ b/src/core/cdrom.cpp @@ -1638,6 +1638,12 @@ void CDROM::ExecuteCommand(void*, TickCount ticks, TickCount ticks_late) s_drive_state_names[static_cast(s_drive_state)], change_ticks, s_mode.double_speed ? "double" : "single"); s_drive_event->Delay(change_ticks); + + if (IsReadingOrPlaying()) + { + WARNING_LOG("Speed change while reading/playing, reads will be temporarily delayed."); + s_drive_event->SetInterval(GetTicksForRead()); + } } else {