diff options
author | Sven Hesse | 2007-07-24 06:11:38 +0000 |
---|---|---|
committer | Sven Hesse | 2007-07-24 06:11:38 +0000 |
commit | d95056ce785907ffc01d4523eb8d858ca21f52e6 (patch) | |
tree | 8b868d5da980bef50b5a70f141094e5e1570368d /engines/gob/inter_v2.cpp | |
parent | f4fb06845c01c4ad88af4b9293422560fbcbd929 (diff) | |
download | scummvm-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.cpp | 13 |
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; |