diff options
author | Denis Kasak | 2009-07-16 12:07:41 +0000 |
---|---|---|
committer | Denis Kasak | 2009-07-16 12:07:41 +0000 |
commit | 1bf574aaa9e956bf6f6bcf730382a5f7967f2aa6 (patch) | |
tree | e790521bb4935eeb1c5ee0f57cfe6e8ceab04d50 /engines | |
parent | ffffc1bea4056e6f00edc935371636352962790b (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/draci/draci.cpp | 3 | ||||
-rw-r--r-- | engines/draci/game.cpp | 15 |
2 files changed, 15 insertions, 3 deletions
diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp index 1575ee2545..3041c70341 100644 --- a/engines/draci/draci.cpp +++ b/engines/draci/draci.cpp @@ -139,9 +139,6 @@ int DraciEngine::go() { _game->init(); - _mouse->setCursorType(kNormalCursor); - _mouse->cursorOn(); - Common::Event event; bool quit = false; while (!quit) { 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]); |