diff options
-rw-r--r-- | engines/access/animation.cpp | 4 | ||||
-rw-r--r-- | engines/access/scripts.cpp | 4 |
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() { |