aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2019-09-30 00:43:06 +0300
committerFilippos Karapetis2019-09-30 00:47:10 +0300
commit6d6dd2ed62b08a89b15982160ef79faef340d524 (patch)
tree25b37fac4ed501577e5f968000de6a6afa1af283
parentea3a4159aa2594aa41468558d83adfe57d3da516 (diff)
downloadscummvm-rg350-6d6dd2ed62b08a89b15982160ef79faef340d524.tar.gz
scummvm-rg350-6d6dd2ed62b08a89b15982160ef79faef340d524.tar.bz2
scummvm-rg350-6d6dd2ed62b08a89b15982160ef79faef340d524.zip
SCI: Add fanmade game "Zork: The Great Underground Empire"
Bug #11051
-rw-r--r--engines/sci/detection_tables.h1
-rw-r--r--engines/sci/engine/workarounds.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index 611027833a..409db39a47 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -5201,6 +5201,7 @@ static const struct ADGameDescription SciGameDescriptions[] = {
FANMADE("The Legend of the Lost Jewel", "ba1bca315e3818c5626eda51bcfbcccf", 636, "9b0736d69924af0cff32a0f78db96855", 300398),
FANMADE("The Sect of Achturan", "130ee6a9137005cdd4a26c38fa21576a", 1626, "1faf42afbfdb782f61ceaa1ee6243b76", 961705),
FANMADE("Winter Wonderland", "c1ffaf8327462effd4ad21eeed9eea59", 504, "5d48666dc62f90d852a1d0de6e69195f", 305076),
+ FANMADE11("Zork: The Great Underground Empire", "65f0731485faca4ee568b74e2f59d850", 3518, "e5d4790b6e8fa1b9a9691b22d541012b", 2460903),
// FIXME: The vga demo does not have a resource.000/001 file.
//FANMADE_V("SCI VGA Demo", "00b1abd87bad356b90fcdfcb6132c26f", 8, "", 0, 0),
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index a2e85043a5..d589c6604f 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -78,6 +78,7 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = {
{ GID_CAMELOT, 92, 92, 0, "endingCartoon2", "changeState", sig_arithmetic_camelot_1, 0, 0, { WORKAROUND_FAKE, 0 } }, // op_lai: during the ending, sub gets called with no parameters, uses parameter 1 which is theGrail in this case - bug #5237
{ GID_ECOQUEST2, 100, 0, 0, "Rain", "points", sig_arithmetic_ecoq2_1, 0, 0, { WORKAROUND_FAKE, 0 } }, // op_or: when giving the papers to the customs officer, gets called against a pointer instead of a number - bug #4939, Spanish version - bug #5750
{ GID_FANMADE, 516, 983, 0, "Wander", "setTarget", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // op_mul: The Legend of the Lost Jewel Demo (fan made): called with object as second parameter when attacked by insects - bug #5124
+ { GID_FANMADE, -1, 935, 0, "Scaler", "init", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // op_mul: Zork: The Great Underground Empire (fan made): called with object as second parameter when changing rooms
{ GID_GK1, 800,64992, 0, "Fwd", "doit", NULL, 0, 0, { WORKAROUND_FAKE, 1 } }, // op_gt: when Mosely finds Gabriel and Grace near the end of the game, compares the Grooper object with 7
{ GID_HOYLE4, 700, -1, 1, "Code", "doit", NULL, 0, 0, { WORKAROUND_FAKE, 1 } }, // op_add: while bidding in Bridge, an object ("Bid") is added to an object in another segment ("hand3")
{ GID_ICEMAN, 199, 977, 0, "Grooper", "doit", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // op_add: While dancing with the girl