diff options
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(); } |