From b04f59b464eb3707feb357ee85a7a1a6d6a4813d Mon Sep 17 00:00:00 2001 From: sluicebox <22204938+sluicebox@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:10:08 -0700 Subject: [PATCH] AGI: Add Flag Quest version check workaround Fixes bug #15060 --- engines/agi/agi.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index 8dda193a1543..9543eaff9fdb 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -666,7 +666,13 @@ const char *AgiGame::getString(int number) { if (0 <= number && number <= MAX_STRINGS) { return strings[number]; } else { - // Occurs in Flag Quest during startup + // WORKAROUND: Flag Quest detects the interpreter version by comparing + // out of bounds strings to values know to be in memory in Sierra's + // interpreters. The game only starts if a known value matches an + // allowed version. We return the value for version 2.917. Bug #15060 + if (number == 56) { + return ".917"; + } warning("invalid string number: %d", number); return ""; }