[Scummvm-cvs-logs] SF.net SVN: scummvm:[42908] scummvm/branches/gsoc2009-draci/engines/draci/ script.cpp
dkasak13 at users.sourceforge.net
dkasak13 at users.sourceforge.net
Wed Jul 29 22:41:53 CEST 2009
Revision: 42908
http://scummvm.svn.sourceforge.net/scummvm/?rev=42908&view=rev
Author: dkasak13
Date: 2009-07-29 20:41:53 +0000 (Wed, 29 Jul 2009)
Log Message:
-----------
* Removed some code I forgot to remove in Game::startPlay() (a call to AnimationManager::play())
* Fixed logic checking for object visibility in various GPL commands (I originally misinterpreted the original engine code).
Modified Paths:
--------------
scummvm/branches/gsoc2009-draci/engines/draci/script.cpp
Modified: scummvm/branches/gsoc2009-draci/engines/draci/script.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/script.cpp 2009-07-29 20:35:50 UTC (rev 42907)
+++ scummvm/branches/gsoc2009-draci/engines/draci/script.cpp 2009-07-29 20:41:53 UTC (rev 42908)
@@ -275,9 +275,9 @@
GameObject *obj = _vm->_game->getObject(objID);
- bool visible = (objID == kDragonObject || obj->_visible);
+ bool visible = (obj->_location == _vm->_game->getRoomNum() && obj->_visible);
- if (visible && (obj->_location == _vm->_game->getRoomNum())) {
+ if (objID == kDragonObject || visible) {
int animID = obj->_anims[0];
Animation *anim = _vm->_anims->getAnimation(animID);
ret = anim->currentFrameNum();
@@ -355,9 +355,9 @@
Animation *anim = _vm->_anims->getAnimation(animID);
anim->registerCallback(&Animation::stopAnimation);
- bool visible = (objID == kDragonObject || obj->_visible);
+ bool visible = (obj->_location == _vm->_game->getRoomNum() && obj->_visible);
- if (visible && (obj->_location == _vm->_game->getRoomNum())) {
+ if (objID == kDragonObject || visible) {
_vm->_anims->play(animID);
}
}
@@ -382,19 +382,19 @@
anim->registerCallback(&Animation::exitGameLoop);
_vm->_game->setLoopStatus(kStatusStrange);
- _vm->_anims->play(animID);
+
+ bool visible = (obj->_location == _vm->_game->getRoomNum() && obj->_visible);
+
+ if (objID == kDragonObject || visible) {
+ _vm->_anims->play(animID);
+ }
+
_vm->_game->loop();
_vm->_game->setExitLoop(false);
_vm->_anims->stop(animID);
_vm->_game->setLoopStatus(kStatusOrdinary);
anim->registerCallback(&Animation::doNothing);
-
- bool visible = (objID == kDragonObject || obj->_visible);
-
- if (visible && (obj->_location == _vm->_game->getRoomNum())) {
- _vm->_anims->play(animID);
- }
}
void Script::c_If(Common::Queue<int> ¶ms) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list