aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-05-03 12:54:37 +0000
committerTravis Howell2006-05-03 12:54:37 +0000
commitd84f744e2df9f08146e87c0dbc90e51e8b6ab319 (patch)
tree22c86a0bc1dfe6abb8aff8a2fff76006c831bb0a
parent31444d3d35426d2435efa7ce4f35c647e82eace8 (diff)
downloadscummvm-rg350-d84f744e2df9f08146e87c0dbc90e51e8b6ab319.tar.gz
scummvm-rg350-d84f744e2df9f08146e87c0dbc90e51e8b6ab319.tar.bz2
scummvm-rg350-d84f744e2df9f08146e87c0dbc90e51e8b6ab319.zip
Add work around for glitches that occurs on map, when Simon rides lion to the goblin camp, in non-English versions of Simon2
svn-id: r22305
-rw-r--r--engines/simon/subroutine.cpp10
-rw-r--r--engines/simon/vga.cpp2
2 files changed, 11 insertions, 1 deletions
diff --git a/engines/simon/subroutine.cpp b/engines/simon/subroutine.cpp
index 6181bda5d4..46cd0c5c22 100644
--- a/engines/simon/subroutine.cpp
+++ b/engines/simon/subroutine.cpp
@@ -235,6 +235,16 @@ int SimonEngine::startSubroutine(Subroutine *sub) {
if (++_recursionDepth > 40)
error("Recursion error");
+ // WORKAROUND: Bit Flag 171 isn't set when Simon rides the lion to the
+ // goblin camp in non-English versions. Bit Flag 171 is required to display
+ // the red trail between locations on the map, during the ride.
+ if (getGameType() == GType_SIMON2) {
+ if (sub->id == 13020)
+ setBitFlag(171, true);
+ if (sub->id == 13021)
+ setBitFlag(171, false);
+ }
+
sl = (SubroutineLine *)((byte *)sub + sub->first);
while ((byte *)sl != (byte *)sub) {
diff --git a/engines/simon/vga.cpp b/engines/simon/vga.cpp
index 3c53027e67..6494fbd583 100644
--- a/engines/simon/vga.cpp
+++ b/engines/simon/vga.cpp
@@ -2276,7 +2276,7 @@ void SimonEngine::vc62_fastFadeOut() {
void SimonEngine::vc63_fastFadeIn() {
if (getGameType() == GType_FF) {
- _paletteColorCount = 256;
+ _paletteColorCount = 256;
} else {
_paletteColorCount = 208;
if (_windowNum != 4) {