aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/inter_v2.cpp
diff options
context:
space:
mode:
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;