diff options
author | Robert Špalek | 2009-10-12 00:15:34 +0000 |
---|---|---|
committer | Robert Špalek | 2009-10-12 00:15:34 +0000 |
commit | 3ef5145b41852ce39494e353ee7c95600d49093e (patch) | |
tree | 71e08e53058ce57e9a586f948834c2bee4bc5c4f /engines/draci/game.cpp | |
parent | 6aaf99ec6756c2ff4d661b88f0aad489784212ac (diff) | |
download | scummvm-rg350-3ef5145b41852ce39494e353ee7c95600d49093e.tar.gz scummvm-rg350-3ef5145b41852ce39494e353ee7c95600d49093e.tar.bz2 scummvm-rg350-3ef5145b41852ce39494e353ee7c95600d49093e.zip |
Reduced huge code duplication by introducing Game::stopObjectAnimations()
svn-id: r44961
Diffstat (limited to 'engines/draci/game.cpp')
-rw-r--r-- | engines/draci/game.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index 52ba2db930..97a9f6b5bc 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -952,10 +952,7 @@ void Game::walkHero(int x, int y) { _hero = _currentRoom._walkingMap.findNearestWalkable(x, y, surface->getRect()); GameObject *dragon = getObject(kDragonObject); - - for (uint i = 0; i < dragon->_anim.size(); ++i) { - _vm->_anims->stop(dragon->_anim[i]); - } + stopObjectAnimations(dragon); debugC(3, kDraciLogicDebugLevel, "Walk to x: %d y: %d", _hero.x, _hero.y); @@ -1297,9 +1294,7 @@ void Game::enterNewRoom(bool force_reload) { // TODO: Make objects capable of stopping their own animations const GameObject *dragon = getObject(kDragonObject); - for (uint i = 0; i < dragon->_anim.size(); ++i) { - _vm->_anims->stop(dragon->_anim[i]); - } + stopObjectAnimations(dragon); // Remember the previous room for returning back from the map. rememberRoomNumAsPrevious(); @@ -1530,6 +1525,12 @@ void Game::deleteAnimationsAfterIndex(int lastAnimIndex) { _vm->_anims->deleteAfterIndex(lastAnimIndex); } +void Game::stopObjectAnimations(const GameObject *obj) { + for (uint i = 0; i < obj->_anim.size(); ++i) { + _vm->_anims->stop(obj->_anim[i]); + } +} + /** * See Game::getMarkedAnimationIndex(). */ |