aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorFlorian Kagerer2009-12-13 20:37:26 +0000
committerFlorian Kagerer2009-12-13 20:37:26 +0000
commit42c306208b7e58a2811b481c26c35f96259dd5f1 (patch)
tree3e34796e507ee0173226fd9bfd1c6e8deb95a3bf /engines/kyra
parentadba314fc679be40f6341764ca9f45d0a027b865 (diff)
downloadscummvm-rg350-42c306208b7e58a2811b481c26c35f96259dd5f1.tar.gz
scummvm-rg350-42c306208b7e58a2811b481c26c35f96259dd5f1.tar.bz2
scummvm-rg350-42c306208b7e58a2811b481c26c35f96259dd5f1.zip
LOL: fixed regression
svn-id: r46366
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/animator_tim.cpp6
-rw-r--r--engines/kyra/lol.cpp2
-rw-r--r--engines/kyra/scene_lol.cpp2
-rw-r--r--engines/kyra/sequences_lol.cpp4
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);
}