diff options
author | Johannes Schickel | 2008-04-23 19:24:02 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-04-23 19:24:02 +0000 |
commit | 69bdd29976738b246247adfdc399295cf006b943 (patch) | |
tree | 55a1860775a9d978fd4449f86d30fa661a6bcf7e /engines/kyra/kyra_v2.cpp | |
parent | 1267ed09db3fa264822d321112a46957adc52875 (diff) | |
download | scummvm-rg350-69bdd29976738b246247adfdc399295cf006b943.tar.gz scummvm-rg350-69bdd29976738b246247adfdc399295cf006b943.tar.bz2 scummvm-rg350-69bdd29976738b246247adfdc399295cf006b943.zip |
- Implemented idle animation/talk handling in kyra3
- Implemented opcodes: 110: o3_runTemporaryScript
- fixed idle animation handling in kyra2
svn-id: r31673
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r-- | engines/kyra/kyra_v2.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index 93dfc73109..1d61a12b8b 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -1268,8 +1268,12 @@ void KyraEngine_v2::runTemporaryScript(const char *filename, int unk1, int unk2, uint8 *fileData = 0; if (newShapes) { + if (_newShapeFiledata) { + resetNewShapes(_newShapeCount, _newShapeFiledata); + _newShapeFiledata = 0; + _newShapeCount = 0; + } _newShapeFiledata = _res->fileData(_newShapeFilename, 0); - assert(_newShapeFiledata); } fileData = _newShapeFiledata; @@ -1660,7 +1664,7 @@ void KyraEngine_v2::processNewShapes(int unk1, int unk2) { uint32 delayEnd = _system->getMillis() + _newShapeDelay * _tickLength; - while ((!skipFlag() || unk1) && _system->getMillis() < delayEnd) { + while ((!skipFlag() || !unk1) && _system->getMillis() < delayEnd) { if (_chatText) updateWithText(); else @@ -1687,8 +1691,6 @@ void KyraEngine_v2::processNewShapes(int unk1, int unk2) { updateCharacterAnim(0); } - resetSkipFlag(); - _newShapeFlag = -1; resetCharacterAnimDim(); } |