diff options
author | lukaslw | 2014-08-04 21:31:19 +0200 |
---|---|---|
committer | lukaslw | 2014-08-04 21:31:19 +0200 |
commit | 2bed872498c22fc21b2a993656802f0c81da2936 (patch) | |
tree | 866b936c73dd758518fb9c7def40540be1dc5dbc | |
parent | f36fbcb97fb012ae4baf99b2de1c9d8ce9ae048f (diff) | |
download | scummvm-rg350-2bed872498c22fc21b2a993656802f0c81da2936.tar.gz scummvm-rg350-2bed872498c22fc21b2a993656802f0c81da2936.tar.bz2 scummvm-rg350-2bed872498c22fc21b2a993656802f0c81da2936.zip |
PRINCE: showHero() - special animations fix
-rw-r--r-- | engines/prince/hero.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/prince/hero.cpp b/engines/prince/hero.cpp index e3493c4966..7bbd6c6599 100644 --- a/engines/prince/hero.cpp +++ b/engines/prince/hero.cpp @@ -200,6 +200,7 @@ void Hero::countDrawPosition() { } int phaseFrameIndex = heroAnim->getPhaseFrameIndex(_phase); Graphics::Surface *heroSurface = heroAnim->getFrame(phaseFrameIndex); + _frameXSize = heroSurface->w; _frameYSize = heroSurface->h; _scaledFrameXSize = getScaledValue(_frameXSize); @@ -647,17 +648,18 @@ void Hero::showHero() { if (_phase < _specAnim->getPhaseCount() - 1) { _phase++; } else { - _phase = 0; - freeHeroAnim(); if (!_talkTime) { _state = kHeroStateStay; } else { _state = kHeroStateTalk; } + return; } } else { _state = kHeroStateStay; } + } else { + freeHeroAnim(); } if (_state == kHeroStateTalk) { |