aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-01-01 05:13:17 +0000
committerTravis Howell2004-01-01 05:13:17 +0000
commit0392f86001ef84963fb950068f53b114e1d62a7e (patch)
treebaf0e15e5915523e374e2edd4188d05b600a4a6d
parent0d327b3b79287a28974334a0b1e2408d0fb1f54a (diff)
downloadscummvm-rg350-0392f86001ef84963fb950068f53b114e1d62a7e.tar.gz
scummvm-rg350-0392f86001ef84963fb950068f53b114e1d62a7e.tar.bz2
scummvm-rg350-0392f86001ef84963fb950068f53b114e1d62a7e.zip
Add hack to stop invalid opcode in French version of Simon the Sorcerer 1.
This was a bug in original game and causes several bad effects. svn-id: r12063
-rw-r--r--simon/vga.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/simon/vga.cpp b/simon/vga.cpp
index 1f66a58e45..62fcadb702 100644
--- a/simon/vga.cpp
+++ b/simon/vga.cpp
@@ -128,6 +128,14 @@ void SimonEngine::run_vga_script() {
opcode = *_vc_ptr++;
}
+ // HACK Stop ScummVM error when Simon talks to Golum about Stew
+ // in French version of Simon the Sorcerer 1. This was a bug in
+ // the original game, which just ignored the invalid opcodes.
+ // Unfortunately causes no subtitles and a stack of wait timeouts,
+ // which also occured in original game.
+ if (!(_game & GF_SIMON2) && (_language == 2) && opcode == 207)
+ return;
+
if (opcode >= NUM_VIDEO_OP_CODES)
error("Invalid VGA opcode '%d' encountered", opcode);