From 43a90ba9228f079dca91eefcb85daf928f191526 Mon Sep 17 00:00:00 2001 From: sluicebox <22204938+sluicebox@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:02:45 -0800 Subject: [PATCH] AGI: Fix KQ3 mice conversation not occurring Fixes bug #15130 Thanks to @ArthurWalden for reporting Thanks to @OneShortEye for KQ3 expertise and helping reproduce --- engines/agi/cycle.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp index d2d1beeef5a..3f49e6dcc68 100644 --- a/engines/agi/cycle.cpp +++ b/engines/agi/cycle.cpp @@ -136,6 +136,15 @@ void AgiEngine::newRoom(int16 newRoomNr) { if (getGameID() == GID_LSL1) { setFlag(36, 0); // clear "ignore special" flag on every room change } + + // WORKAROUND: KQ3 has a script bug where listening to fish talk in room 31 + // prevents hearing the critical mice conversation on the ship in room 86. + // Each scene uses a series of flag numbers, but they overlap. Bug #15130 + if (getGameID() == GID_KQ3 && newRoomNr == 77) { + for (int16 flag = 193; flag <= 197; flag++) { + setFlag(flag, 0); // clear all mice flags when starting ship voyage + } + } } }