From 968bfec0677c75943fde080c63ab2e265aefa2b2 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 20 Nov 2014 22:25:01 -0500 Subject: ACCESS: Workaround for original setting animations when none is loaded --- engines/access/animation.cpp | 4 +++- engines/access/scripts.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'engines') 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() { -- cgit v1.2.3