[Scummvm-cvs-logs] scummvm master -> df5742eee41abe7e74a2b47a0ddcc183bf52fe09
dreammaster
dreammaster at scummvm.org
Sat Feb 21 21:53:33 CET 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
df5742eee4 MADS: Fix player animation when getting blown up by mine
Commit: df5742eee41abe7e74a2b47a0ddcc183bf52fe09
https://github.com/scummvm/scummvm/commit/df5742eee41abe7e74a2b47a0ddcc183bf52fe09
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-02-21T15:52:01-05:00
Commit Message:
MADS: Fix player animation when getting blown up by mine
Changed paths:
engines/mads/player.cpp
engines/mads/sprites.cpp
diff --git a/engines/mads/player.cpp b/engines/mads/player.cpp
index 1622031..8720aee 100644
--- a/engines/mads/player.cpp
+++ b/engines/mads/player.cpp
@@ -240,8 +240,13 @@ void Player::updateFrame() {
return;
Scene &scene = _vm->_game->_scene;
+ assert(scene._sprites[idx] != nullptr);
SpriteAsset &spriteSet = *scene._sprites[idx];
- assert(spriteSet._charInfo);
+
+ // WORKAROUND: Certain cutscenes set up player sprites that don't have any
+ // character info. In such cases, simply ignore player updates
+ if (!spriteSet._charInfo)
+ return;
if (!spriteSet._charInfo->_numEntries) {
_frameNumber = 1;
@@ -515,8 +520,7 @@ void Player::idle() {
return;
SpriteAsset &spriteSet = *scene._sprites[idx];
- assert(spriteSet._charInfo);
- if (spriteSet._charInfo->_numEntries == 0)
+ if (spriteSet._charInfo == nullptr || spriteSet._charInfo->_numEntries == 0)
// No entries, so exit immediately
return;
diff --git a/engines/mads/sprites.cpp b/engines/mads/sprites.cpp
index fd73930..f74edaf 100644
--- a/engines/mads/sprites.cpp
+++ b/engines/mads/sprites.cpp
@@ -371,16 +371,13 @@ int SpriteSets::add(SpriteAsset *asset, int idx) {
if (idx)
idx = idx + 49;
else
- idx = size();
+ idx = _assetCount++;
if (idx >= (int)size())
resize(idx + 1);
- if ((*this)[idx]) {
+ if ((*this)[idx])
delete (*this)[idx];
- } else {
- ++_assetCount;
- }
(*this)[idx] = asset;
return idx;
More information about the Scummvm-git-logs
mailing list