aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/draci/game.cpp2
-rw-r--r--engines/draci/game.h4
-rw-r--r--engines/draci/script.cpp4
3 files changed, 8 insertions, 2 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 0f78f18880..36b5890a82 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -134,7 +134,7 @@ Game::Game(DraciEngine *vm) : _vm(vm) {
}
void Game::init() {
- loadObject(0);
+ loadObject(kDragonObject);
_vm->_script->run(getObject(0)->_program, getObject(0)->_init);
diff --git a/engines/draci/game.h b/engines/draci/game.h
index 5ba0626557..e47f14bd98 100644
--- a/engines/draci/game.h
+++ b/engines/draci/game.h
@@ -35,6 +35,10 @@ namespace Draci {
class DraciEngine;
+enum {
+ kDragonObject
+};
+
enum StructSizes {
personSize = sizeof(uint16) * 2 + sizeof(byte)
};
diff --git a/engines/draci/script.cpp b/engines/draci/script.cpp
index d0fad493fe..4b05c46b30 100644
--- a/engines/draci/script.cpp
+++ b/engines/draci/script.cpp
@@ -234,8 +234,10 @@ void Script::start(Common::Queue<int> &params) {
int animID = params.pop() - 1;
GameObject *obj = _vm->_game->getObject(objID);
+
+ bool visible = (objID == kDragonObject || obj->_visible);
- if ( ((objID == 0) || (obj->_visible)) && (obj->_location == _vm->_game->getRoomNum()))
+ if (visible && (obj->_location == _vm->_game->getRoomNum()))
_vm->_anims->play(animID);
}