diff options
| author | Paul Gilbert | 2014-08-15 20:34:09 -0400 | 
|---|---|---|
| committer | Paul Gilbert | 2014-08-15 20:34:09 -0400 | 
| commit | 3475fda076779fa79f931b98d24e300fc02b479b (patch) | |
| tree | b68f8d063a6d48f4ca5ec6653115b9f21694eea8 | |
| parent | f8d64ae6bc47c0d1ea6efea45c28dd4902780ecb (diff) | |
| download | scummvm-rg350-3475fda076779fa79f931b98d24e300fc02b479b.tar.gz scummvm-rg350-3475fda076779fa79f931b98d24e300fc02b479b.tar.bz2 scummvm-rg350-3475fda076779fa79f931b98d24e300fc02b479b.zip | |
ACCESS: Fixes for updating animation frames
| -rw-r--r-- | engines/access/animation.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
| 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);  } | 
