aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/game.cpp
diff options
context:
space:
mode:
authorDenis Kasak2009-07-16 12:07:41 +0000
committerDenis Kasak2009-07-16 12:07:41 +0000
commit1bf574aaa9e956bf6f6bcf730382a5f7967f2aa6 (patch)
treee790521bb4935eeb1c5ee0f57cfe6e8ceab04d50 /engines/draci/game.cpp
parentffffc1bea4056e6f00edc935371636352962790b (diff)
downloadscummvm-rg350-1bf574aaa9e956bf6f6bcf730382a5f7967f2aa6.tar.gz
scummvm-rg350-1bf574aaa9e956bf6f6bcf730382a5f7967f2aa6.tar.bz2
scummvm-rg350-1bf574aaa9e956bf6f6bcf730382a5f7967f2aa6.zip
Added proper cursor state handling (when in rooms that don't use the mouse). Added a HACK note for running the gates' scripts.
svn-id: r42532
Diffstat (limited to 'engines/draci/game.cpp')
-rw-r--r--engines/draci/game.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 31b2d612fa..c75b1df503 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -142,6 +142,8 @@ void Game::init() {
_vm->_script->run(dragon->_program, dragon->_init);
changeRoom(_info._startRoom);
+
+ _vm->_mouse->setCursorType(kNormalCursor);
}
void Game::loadRoom(int roomNum) {
@@ -190,6 +192,17 @@ void Game::loadRoom(int roomNum) {
debugC(4, kDraciLogicDebugLevel, "_escRoom: %d", _currentRoom._escRoom);
debugC(4, kDraciLogicDebugLevel, "_numGates: %d", _currentRoom._numGates);
+
+ // Set cursor state
+ if (_currentRoom._mouseOn) {
+ debugC(6, kDraciLogicDebugLevel, "Mouse: ON");
+ _vm->_mouse->cursorOn();
+ } else {
+ debugC(6, kDraciLogicDebugLevel, "Mouse: OFF");
+ _vm->_mouse->cursorOff();
+ }
+
+
Common::Array<int> gates;
for (uint i = 0; i < _currentRoom._numGates; ++i) {
@@ -226,6 +239,8 @@ void Game::loadRoom(int roomNum) {
debugC(4, kDraciLogicDebugLevel, "Running room init program...");
_vm->_script->run(_currentRoom._program, _currentRoom._init);
+ // HACK: Gates' scripts shouldn't be run unconditionally
+ // This is for testing
for (uint i = 0; i < _currentRoom._numGates; ++i) {
debugC(6, kDraciLogicDebugLevel, "Running program for gate %d", i);
_vm->_script->run(_currentRoom._program, gates[i]);