aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/inter_v2.cpp
diff options
context:
space:
mode:
authorSven Hesse2007-07-24 06:11:38 +0000
committerSven Hesse2007-07-24 06:11:38 +0000
commitd95056ce785907ffc01d4523eb8d858ca21f52e6 (patch)
tree8b868d5da980bef50b5a70f141094e5e1570368d /engines/gob/inter_v2.cpp
parentf4fb06845c01c4ad88af4b9293422560fbcbd929 (diff)
downloadscummvm-rg350-d95056ce785907ffc01d4523eb8d858ca21f52e6.tar.gz
scummvm-rg350-d95056ce785907ffc01d4523eb8d858ca21f52e6.tar.bz2
scummvm-rg350-d95056ce785907ffc01d4523eb8d858ca21f52e6.zip
Fixing bug #1749688 ("GOB3: Objects Disappear")
svn-id: r28181
Diffstat (limited to 'engines/gob/inter_v2.cpp')
-rw-r--r--engines/gob/inter_v2.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp
index d69b6fda97..bf103e68ef 100644
--- a/engines/gob/inter_v2.cpp
+++ b/engines/gob/inter_v2.cpp
@@ -134,7 +134,7 @@ void Inter_v2::setupOpcodes() {
/* 00 */
OPCODE(o1_loadMult),
OPCODE(o2_playMult),
- OPCODE(o1_freeMultKeys),
+ OPCODE(o2_freeMultKeys),
{NULL, ""},
/* 04 */
{NULL, ""},
@@ -826,6 +826,17 @@ void Inter_v2::o2_playMult() {
_vm->_mult->playMult(VAR(57), -1, checkEscape & 0x1, 0);
}
+void Inter_v2::o2_freeMultKeys() {
+ uint16 index = load16();
+
+ if (!_vm->_mult->hasMultData(index))
+ return;
+
+ _vm->_mult->setMultData(index);
+ _vm->_mult->freeMultKeys();
+ _vm->_mult->zeroMultData(index);
+}
+
void Inter_v2::o2_setRenderFlags() {
int16 expr;