aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/access/animation.cpp4
-rw-r--r--engines/access/scripts.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/engines/access/animation.cpp b/engines/access/animation.cpp
index de44740c7f..184b015371 100644
--- a/engines/access/animation.cpp
+++ b/engines/access/animation.cpp
@@ -304,6 +304,8 @@ void AnimationManager::loadAnimations(Resource *res) {
Animation *AnimationManager::setAnimation(int animId) {
Animation *anim = findAnimation(animId);
+ if (!anim)
+ return nullptr;
anim->_countdownTicks = anim->_initialTicks;
anim->_frameNumber = 0;
@@ -320,7 +322,7 @@ void AnimationManager::setAnimTimer(Animation *anim) {
}
Animation *AnimationManager::findAnimation(int animId) {
- _animStart = _animation->getAnimation(animId);
+ _animStart = (_animation == nullptr) ? nullptr : _animation->getAnimation(animId);
return _animStart;
}
diff --git a/engines/access/scripts.cpp b/engines/access/scripts.cpp
index 89c8a4d0e6..b7ee4d2278 100644
--- a/engines/access/scripts.cpp
+++ b/engines/access/scripts.cpp
@@ -391,7 +391,9 @@ void Scripts::cmdCheckLoc() {
void Scripts::cmdSetAnim() {
int animId = _data->readByte();
Animation *anim = _vm->_animation->setAnimation(animId);
- _vm->_animation->setAnimTimer(anim);
+
+ if (anim)
+ _vm->_animation->setAnimTimer(anim);
}
void Scripts::cmdDispInv() {