aboutsummaryrefslogtreecommitdiff
path: root/engines/draci
diff options
context:
space:
mode:
authorDenis Kasak2009-08-09 04:24:52 +0000
committerDenis Kasak2009-08-09 04:24:52 +0000
commitabedc7e9bb44a13ebf62e0cb37d8e317afc27e28 (patch)
treec6ace596ee2565a57dd9c52110c8e6b95a170968 /engines/draci
parentf68ceeb88cb839f7205a0ba401b8ee329a439122 (diff)
downloadscummvm-rg350-abedc7e9bb44a13ebf62e0cb37d8e317afc27e28.tar.gz
scummvm-rg350-abedc7e9bb44a13ebf62e0cb37d8e317afc27e28.tar.bz2
scummvm-rg350-abedc7e9bb44a13ebf62e0cb37d8e317afc27e28.zip
Moved cursor state setting (when entering a new room) from Game::loadRoom() to Game::start() (just after running the gate program). This fixes a black cursor bug when the game starts (the cursor should not be even displayed then).
svn-id: r43162
Diffstat (limited to 'engines/draci')
-rw-r--r--engines/draci/game.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 8020e29fdb..6c3ee96e98 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -183,6 +183,16 @@ void Game::start() {
// Run the program for the gate the dragon came through
runGateProgram(_newGate);
+
+ // Set cursor state
+ // Need to do this after we set the palette since the cursors use it
+ if (_currentRoom._mouseOn) {
+ debugC(6, kDraciLogicDebugLevel, "Mouse: ON");
+ _vm->_mouse->cursorOn();
+ } else {
+ debugC(6, kDraciLogicDebugLevel, "Mouse: OFF");
+ _vm->_mouse->cursorOff();
+ }
}
// Mimic the original engine by setting the loop status to Ordinary before
@@ -614,16 +624,6 @@ void Game::loadRoom(int roomNum) {
f = _vm->_paletteArchive->getFile(_currentRoom._palette);
_vm->_screen->setPalette(f->_data, 0, kNumColours);
- // Set cursor state
- // Need to do this after we set the palette since the cursors use it
- if (_currentRoom._mouseOn) {
- debugC(6, kDraciLogicDebugLevel, "Mouse: ON");
- _vm->_mouse->cursorOn();
- } else {
- debugC(6, kDraciLogicDebugLevel, "Mouse: OFF");
- _vm->_mouse->cursorOff();
- }
-
// HACK: Create a visible overlay from the walking map so we can test it
byte *wlk = new byte[kScreenWidth * kScreenHeight];
memset(wlk, 255, kScreenWidth * kScreenHeight);