aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2008-04-29 16:24:54 +0000
committerFilippos Karapetis2008-04-29 16:24:54 +0000
commit0de56ea1f9e28a21d8252f1646fc8c4aaa25cb64 (patch)
treea5ec4e0989bcd4981ac437f6b7a04852353f8589 /engines
parent14523bd3bbf82cce9e004e61c8971810d25583e1 (diff)
downloadscummvm-rg350-0de56ea1f9e28a21d8252f1646fc8c4aaa25cb64.tar.gz
scummvm-rg350-0de56ea1f9e28a21d8252f1646fc8c4aaa25cb64.tar.bz2
scummvm-rg350-0de56ea1f9e28a21d8252f1646fc8c4aaa25cb64.zip
Fix for original game bug #1942476 - "AGI: Fan(Get Outta SQ) - Score is lost on restart"
svn-id: r31776
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/agi.h1
-rw-r--r--engines/agi/detection.cpp17
-rw-r--r--engines/agi/op_cmd.cpp10
3 files changed, 27 insertions, 1 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index 938177ce13..9240d562af 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -105,6 +105,7 @@ enum AgiGameID {
GID_SQ2,
GID_XMASCARD,
GID_FANMADE,
+ GID_GETOUTTASQ,
GID_MICKEY, // PreAGI
GID_WINNIE, // PreAGI
GID_TROLL // PreAGI
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 1a396d84fc..8a6aa53909 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -1891,7 +1891,6 @@ static const AGIGameDescription gameDescriptions[] = {
FANMADE("Fu$k Quest 2 - Romancing the Bone (Teaser)", "d288355d71d9bb1639260ccaa3b2fbfe"),
FANMADE("Fu$k Quest 2 - Romancing the Bone", "294beeb7765c7ea6b05ed7b9bf7bff4f"),
FANMADE("Gennadi Tahab Autot - Mission Pack 1 - Kuressaare", "bfa5fe71978e6ccf3d4eedd430124015"),
- FANMADE("Get Outta Space Quest", "aaea5b4a348acb669d13b0e6f22d4dc9"),
FANMADE("Go West, Young Hippie", "ff31484ea465441cb5f3a0f8e956b716"),
FANMADE("Good Man (demo v3.41)", "3facd8a8f856b7b6e0f6c3200274d88c"),
@@ -1911,6 +1910,22 @@ static const AGIGameDescription gameDescriptions[] = {
0x2440,
},
+ {
+ // Get Outta SQ
+ {
+ "agi-fanmade",
+ "Get Outta Space Quest",
+ AD_ENTRY1("logdir", "aaea5b4a348acb669d13b0e6f22d4dc9"),
+ Common::EN_ANY,
+ Common::kPlatformPC,
+ Common::ADGF_NO_FLAGS
+ },
+ GID_GETOUTTASQ,
+ GType_V2,
+ 0,
+ 0x2440,
+ },
+
FANMADE_F("Half-Death - Terror At White-Mesa", "b62c05d0ace878261392073f57ae788c", GF_AGIMOUSE),
FANMADE("Hank's Quest (v1.0 English) - Victim of Society", "64c15b3d0483d17888129100dc5af213"),
FANMADE("Hank's Quest (v1.1 English) - Victim of Society", "86d1f1dd9b0c4858d096e2a60cca8a14"),
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index 7897b57c30..7ecedfbc8c 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -74,6 +74,16 @@ cmd(decrement) {
cmd(assignn) {
_v[p0] = p1;
+
+ // WORKAROUND for a bug in fan game "Get outta SQ"
+ // Total number of points is stored in variable 7, which
+ // is then incorrectly assigned to 0. Thus, when the game
+ // is restarted, "Points 0 of 0" is shown. We set the
+ // variable to the correct value here
+ // Fixes bug #1942476 - "AGI: Fan(Get Outta SQ) - Score
+ // is lost on restart"
+ if (g_agi->getGameID() == GID_GETOUTTASQ && p0 == 7)
+ _v[p0] = 8;
}
cmd(addn) {