diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/parallaction/graphics.cpp | 2 | ||||
-rw-r--r-- | engines/parallaction/menu.cpp | 44 | ||||
-rw-r--r-- | engines/parallaction/zone.cpp | 2 |
3 files changed, 21 insertions, 27 deletions
diff --git a/engines/parallaction/graphics.cpp b/engines/parallaction/graphics.cpp index 7474316460..cdbf41eb2c 100644 --- a/engines/parallaction/graphics.cpp +++ b/engines/parallaction/graphics.cpp @@ -285,7 +285,7 @@ void Gfx::clearScreen(Gfx::Buffers buffer) { void Gfx::copyScreen(Gfx::Buffers srcbuffer, Gfx::Buffers dstbuffer) { memcpy(_buffers[dstbuffer], _buffers[srcbuffer], SCREEN_WIDTH*SCREEN_HEIGHT); - if (dstbuffer == kBitFront) updateScreen(); +// if (dstbuffer == kBitFront) updateScreen(); return; } diff --git a/engines/parallaction/menu.cpp b/engines/parallaction/menu.cpp index 7c182a56a5..d0a84c979c 100644 --- a/engines/parallaction/menu.cpp +++ b/engines/parallaction/menu.cpp @@ -130,11 +130,13 @@ void Menu::splash() { _vm->_disk->loadSlide("intro"); _vm->_gfx->setPalette(_vm->_gfx->_palette); _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); + _vm->_gfx->updateScreen(); g_system->delayMillis(2000); _vm->_disk->loadSlide("minintro"); _vm->_gfx->setPalette(_vm->_gfx->_palette); _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); + _vm->_gfx->updateScreen(); g_system->delayMillis(2000); } @@ -203,14 +205,10 @@ uint16 Menu::chooseLanguage() { _vm->_gfx->displayString(60, 30, "SELECT LANGUAGE", 1); - _vm->_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack); - _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2); - _vm->changeCursor(kCursorArrow); do { _vm->updateInput(); - _vm->_gfx->swapBuffers(); if (_mouseButtons == kMouseLeftUp) { for (uint16 _si = 0; _si < 4; _si++) { @@ -242,7 +240,8 @@ uint16 Menu::chooseLanguage() { } } - _vm->waitTime( 1 ); + g_system->delayMillis(30); + _vm->_gfx->updateScreen(); } while (true); @@ -261,41 +260,33 @@ uint16 Menu::selectGame() { _vm->_disk->loadSlide("restore"); _vm->_gfx->setPalette(_vm->_gfx->_palette); - _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); - - _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2); - uint16 _si = 0; uint16 _di = 3; - _vm->updateInput(); + _mouseButtons = kMouseNone; while (_mouseButtons != kMouseLeftUp) { _vm->updateInput(); - _vm->_gfx->swapBuffers(); - _vm->waitTime( 1 ); - _si = 0; - if (_vm->_mousePos.x > 160) - _si = 1; + _si = (_vm->_mousePos.x > 160) ? 1 : 0; - if (_si == _di) continue; + if (_si != _di) { + _di = _si; - _di = _si; - _vm->_gfx->copyScreen(Gfx::kBit2, Gfx::kBitFront); + _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); + if (_si != 0) { + // load a game + _vm->_gfx->displayString(60, 30, loadGameMsg[_language], 1); + } else { + // new game + _vm->_gfx->displayString(60, 30, newGameMsg[_language], 1); + } - if (_si != 0) { - // load a game - _vm->_gfx->displayString(60, 30, loadGameMsg[_language], 1); - } else { - // new game - _vm->_gfx->displayString(60, 30, newGameMsg[_language], 1); } + g_system->delayMillis(30); _vm->_gfx->updateScreen(); - _vm->_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack); - } if (_si == 0) return 0; // new game @@ -421,6 +412,7 @@ void Menu::selectCharacter() { g_system->delayMillis(2000); _vm->_gfx->copyScreen(Gfx::kBit2, Gfx::kBitFront); + _vm->_gfx->updateScreen(); } diff --git a/engines/parallaction/zone.cpp b/engines/parallaction/zone.cpp index d9bd36a1f5..99ef8c60f9 100644 --- a/engines/parallaction/zone.cpp +++ b/engines/parallaction/zone.cpp @@ -310,6 +310,7 @@ void Parallaction::displayCharacterComment(ExamineData *data) { waitUntilLeftClick(); _gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); + _gfx->updateScreen(); return; } @@ -353,6 +354,7 @@ void Parallaction::displayItemComment(ExamineData *data) { _gfx->setHalfbriteMode(false); _gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); + _gfx->updateScreen(); return; } |