From 3475fda076779fa79f931b98d24e300fc02b479b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 15 Aug 2014 20:34:09 -0400 Subject: ACCESS: Fixes for updating animation frames --- engines/access/animation.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/access/animation.cpp b/engines/access/animation.cpp index 31e53e5cf0..3a7424f1d0 100644 --- a/engines/access/animation.cpp +++ b/engines/access/animation.cpp @@ -106,6 +106,7 @@ void Animation::anim0() { if (frame == nullptr) { _frameNumber = 0; _currentLoopCount = -1; + frame = calcFrame(); } setFrame(frame); @@ -124,6 +125,7 @@ void Animation::anim1() { if (frame == nullptr) { --_frameNumber; _currentLoopCount = -1; + frame = calcFrame(); } setFrame(frame); @@ -198,7 +200,7 @@ void Animation::anim7() { } AnimationFrame *Animation::calcFrame() { - return _frames[_frameNumber]; + return (_frameNumber < (int)_frames.size()) ? _frames[_frameNumber] : nullptr; } AnimationFrame *Animation::calcFrame1() { @@ -206,6 +208,7 @@ AnimationFrame *Animation::calcFrame1() { } void Animation::setFrame(AnimationFrame *frame) { + assert(frame); _countdownTicks += frame->_frameDelay; setFrame1(frame); } -- cgit v1.2.3