aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r--engines/kyra/kyra_v2.cpp10
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();
}