diff options
-rw-r--r-- | engines/kyra/animator_tim.cpp | 6 | ||||
-rw-r--r-- | engines/kyra/lol.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/scene_lol.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/sequences_lol.cpp | 4 |
4 files changed, 9 insertions, 5 deletions
diff --git a/engines/kyra/animator_tim.cpp b/engines/kyra/animator_tim.cpp index d9ca83d665..3fbda7c45d 100644 --- a/engines/kyra/animator_tim.cpp +++ b/engines/kyra/animator_tim.cpp @@ -65,7 +65,7 @@ TimAnimator::~TimAnimator() { } void TimAnimator::init(int animIndex, Movie *wsa, int x, int y, int wsaCopyParams, int frameDelay) { - TimAnimator::Animation *anim = &_animations[animIndex]; + Animation *anim = &_animations[animIndex]; anim->wsa = wsa; anim->x = x; anim->y = y; @@ -76,7 +76,7 @@ void TimAnimator::init(int animIndex, Movie *wsa, int x, int y, int wsaCopyParam } void TimAnimator::reset(int animIndex, bool clearStruct) { - TimAnimator::Animation *anim = &_animations[animIndex]; + Animation *anim = &_animations[animIndex]; if (!anim) return; anim->field_D = 0; @@ -98,7 +98,7 @@ void TimAnimator::reset(int animIndex, bool clearStruct) { } void TimAnimator::displayFrame(int animIndex, int page, int frame, int flags) { - TimAnimator::Animation *anim = &_animations[animIndex]; + Animation *anim = &_animations[animIndex]; if ((anim->wsaCopyParams & 0x4000) != 0) page = 2; // WORKAROUND for some bugged scripts that will try to display frames of non-existent animations diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 4808223020..7fb2ff2701 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -1794,7 +1794,7 @@ void LoLEngine::createTransparencyTables() { } void LoLEngine::updateSequenceBackgroundAnimations() { - if (_updateFlags & 8) + if (_updateFlags & 8 || !_animator) return; for (int i = 0; i < 6; i++) diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp index 75bd813fe9..e5aebc9188 100644 --- a/engines/kyra/scene_lol.cpp +++ b/engines/kyra/scene_lol.cpp @@ -1881,7 +1881,7 @@ void LoLEngine::drawVcnBlocks() { horizontalFlip = true; } - shift = _vcnShift? _vcnShift[remainder] : _blockBrightness; + shift = _vcnShift ? _vcnShift[remainder] : _blockBrightness; src = &_vcnBlocks[remainder << 5]; if (horizontalFlip) { diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp index 3e92f5b36d..ca5c09acb7 100644 --- a/engines/kyra/sequences_lol.cpp +++ b/engines/kyra/sequences_lol.cpp @@ -255,6 +255,7 @@ void LoLEngine::showIntro() { delete _tim; _tim = 0; + _animator = 0; _screen->fadePalette(_screen->getPalette(1), 30, 0); } @@ -379,6 +380,7 @@ int LoLEngine::chooseCharacter() { delete _tim; _tim = 0; + _animator = 0; return _charSelection; } @@ -1144,6 +1146,8 @@ void LoLEngine::showOutro(int character, bool maxDifficulty) { _tim->clearLangData(); delete _tim; _tim = timBackUp; + _animator = 0; + setupEpilogueData(false); } |