diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/supernova/game-manager.cpp | 51 | ||||
-rw-r--r-- | engines/supernova/game-manager.h | 7 | ||||
-rw-r--r-- | engines/supernova/supernova.cpp | 6 | ||||
-rw-r--r-- | engines/supernova/supernova1/rooms.cpp | 16 | ||||
-rw-r--r-- | engines/supernova/supernova1/state.cpp | 28 | ||||
-rw-r--r-- | engines/supernova/supernova2/rooms.cpp | 75 | ||||
-rw-r--r-- | engines/supernova/supernova2/state.cpp | 20 |
7 files changed, 85 insertions, 118 deletions
diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp index cb4d81be65..bf4cbc69c8 100644 --- a/engines/supernova/game-manager.cpp +++ b/engines/supernova/game-manager.cpp @@ -591,7 +591,7 @@ void GameManager::say(const char *text) { _vm->renderBox(0, 141, 320, numRows * 10 - 1, kColorWhite25); for (uint r = 0; r < numRows; ++r) _vm->renderText(row[r], 1, 142 + r * 10, kColorDarkGreen); - waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + wait((t.size() + 20) * _vm->_textSpeed / 10, true); _vm->renderBox(0, 138, 320, 62, kColorBlack); } @@ -608,12 +608,12 @@ void GameManager::reply(const char *text, int aus1, int aus2) { for (int z = (strlen(text) + 20) * _vm->_textSpeed / 40; z > 0; --z) { if (aus1) _vm->renderImage(aus1); - waitOnInput(2); + wait(2, true); if (_keyPressed || _mouseClicked) z = 1; if (aus2) _vm->renderImage(aus2); - waitOnInput(2); + wait(2, true); if (_keyPressed || _mouseClicked) z = 1; } @@ -718,33 +718,10 @@ void GameManager::drawInventory() { } } -int GameManager::getKeyInput() { +void GameManager::getInput(bool onlyKeys) { while (!_vm->shouldQuit()) { updateEvents(); - if (_keyPressed) { - return _key.ascii; - } - g_system->updateScreen(); - g_system->delayMillis(_vm->_delay); - } - return 0; -} - -Common::EventType GameManager::getMouseInput() { - while (!_vm->shouldQuit()) { - updateEvents(); - if (_mouseClicked) - return _mouseClickType; - g_system->updateScreen(); - g_system->delayMillis(_vm->_delay); - } - return Common::EVENT_INVALID; -} - -void GameManager::getInput() { - while (!_vm->shouldQuit()) { - updateEvents(); - if (_mouseClicked || _keyPressed) + if ((_mouseClicked && !onlyKeys) || _keyPressed) break; g_system->updateScreen(); g_system->delayMillis(_vm->_delay); @@ -768,22 +745,16 @@ void GameManager::changeRoom(RoomId id) { } } -void GameManager::wait(int ticks) { - int32 end = _time + ticksToMsec(ticks); - do { - g_system->delayMillis(_vm->_delay); - updateEvents(); - g_system->updateScreen(); - } while (_time < end && !_vm->shouldQuit()); -} - -void GameManager::waitOnInput(int ticks) { +void GameManager::wait(int ticks, bool checkInput) { int32 end = _time + ticksToMsec(ticks); + bool inputEvent = false; do { g_system->delayMillis(_vm->_delay); updateEvents(); g_system->updateScreen(); - } while (_time < end && !_vm->shouldQuit() && !_keyPressed && !_mouseClicked); + if (checkInput) + inputEvent = _keyPressed || _mouseClicked; + } while (_time < end && !_vm->shouldQuit() && !inputEvent); } bool GameManager::waitOnInput(int ticks, Common::KeyCode &keycode) { @@ -897,7 +868,7 @@ void GameManager::edit(Common::String &input, int x, int y, uint length) { _vm->renderBox(_vm->_screen->getTextCursorPos().x, y - 1, 1, 9, kColorWhite99); } - getKeyInput(); + getInput(true); if (_vm->shouldQuit()) break; switch (_key.keycode) { diff --git a/engines/supernova/game-manager.h b/engines/supernova/game-manager.h index 07c1576f39..2ea8d7b9c0 100644 --- a/engines/supernova/game-manager.h +++ b/engines/supernova/game-manager.h @@ -164,11 +164,8 @@ public: void initGui(); virtual bool canSaveGameStateCurrently(); virtual bool genericInteract(Action verb, Object &obj1, Object &obj2); - Common::EventType getMouseInput(); - int getKeyInput(); - void getInput(); - void wait(int ticks); - void waitOnInput(int ticks); + void getInput(bool onlyKeys = false); + void wait(int ticks, bool checkInput = false); bool waitOnInput(int ticks, Common::KeyCode &keycode); void screenShake(); virtual void roomBrightness(); diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp index 894cdce180..431438eb6d 100644 --- a/engines/supernova/supernova.cpp +++ b/engines/supernova/supernova.cpp @@ -417,7 +417,7 @@ void SupernovaEngine::showHelpScreen1() { renderText(kStringHelpOverview6, 105, 155, kColorWhite99); renderText(kStringHelpOverview7, 105, 165, kColorWhite99); paletteFadeIn(); - _gm->getKeyInput(); + _gm->getInput(true); paletteFadeOut(); @@ -435,7 +435,7 @@ void SupernovaEngine::showHelpScreen2() { setCurrentImage(27); renderImage(0); paletteFadeIn(); - _gm->getKeyInput(); + _gm->getInput(true); paletteFadeOut(); @@ -559,7 +559,7 @@ Common::Error SupernovaEngine::showTextReader(const char *extension) { break; _screen->renderText(line, 6, y, kColorWhite99); } - _gm->getKeyInput(); + _gm->getInput(true); switch (_gm->_key.keycode) { case Common::KEYCODE_ESCAPE: exitReader = true; diff --git a/engines/supernova/supernova1/rooms.cpp b/engines/supernova/supernova1/rooms.cpp index af86450fb8..a419ec9bf9 100644 --- a/engines/supernova/supernova1/rooms.cpp +++ b/engines/supernova/supernova1/rooms.cpp @@ -762,10 +762,10 @@ void ShipSleepCabin::animation() { void ShipSleepCabin::onEntrance() { if (_gm->_state._dream && (_gm->_rooms[CAVE]->getObject(1)->_exitRoom == MEETUP3)) { _vm->renderMessage(kStringShipSleepCabin14); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringShipSleepCabin15); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringShipSleepCabin16); _gm->_state._dream = false; @@ -2084,7 +2084,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) { _vm->renderMessage(kStringArsanoEntrance20); else { _vm->renderMessage(kStringArsanoEntrance21); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringArsanoEntrance22); _gm->takeObject(*getObject(16)); @@ -2131,7 +2131,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) { _gm->_rooms[AIRLOCK]->getObject(4)->setProperty(WORN); _gm->_rooms[AIRLOCK]->getObject(5)->setProperty(WORN); _gm->_rooms[AIRLOCK]->getObject(6)->setProperty(WORN); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); } return false; @@ -2445,7 +2445,7 @@ bool ArsanoRoger::interact(Action verb, Object &obj1, Object &obj2) { _vm->_screen->setGuiBrightness(255); _vm->paletteBrightness(); _vm->renderMessage(kStringArsanoRoger39); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setGuiBrightness(0); _vm->paletteBrightness(); @@ -2462,7 +2462,7 @@ bool ArsanoRoger::interact(Action verb, Object &obj1, Object &obj2) { getObject(6)->_click = 7; _vm->paletteFadeIn(); _vm->renderMessage(kStringArsanoRoger40); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); } else return false; @@ -2689,7 +2689,7 @@ bool ArsanoMeetup2::interact(Action verb, Object &obj1, Object &obj2) { _gm->wait(18); _vm->renderMessage(kStringArsanoMeetup2_12); _gm->great(0); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->paletteFadeOut(); g_system->fillScreen(kColorBlack); @@ -3998,7 +3998,7 @@ bool AxacussElevator::interact(Action verb, Object &obj1, Object &obj2) { _vm->_screen->setGuiBrightness(255); _vm->paletteBrightness(); _vm->renderMessage(kStringAxacussElevator_3); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setGuiBrightness(0); _vm->paletteBrightness(); diff --git a/engines/supernova/supernova1/state.cpp b/engines/supernova/supernova1/state.cpp index 443053dadc..ee1fe46aa0 100644 --- a/engines/supernova/supernova1/state.cpp +++ b/engines/supernova/supernova1/state.cpp @@ -501,7 +501,7 @@ void GameManager1::telomat(int nr) { _vm->renderRoom(*_currentRoom); _vm->paletteBrightness(); _vm->renderMessage(kStringTelomat17, kMessageTop, name2[i]); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); if (_state._nameSeen[nr]) { Common::String string = _vm->getGameString(kStringTelomat2); @@ -513,7 +513,7 @@ void GameManager1::telomat(int nr) { switch (dialog(3, rows1, dial1, 1)) { case 1: _vm->renderMessage(kStringTelomat18, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); if ((_state._destination == 255) && !_rooms[BCORRIDOR]->isSectionVisible(7)) { _state._eventTime = _time + ticksToMsec(150); @@ -523,7 +523,7 @@ void GameManager1::telomat(int nr) { } break; case 0: _vm->renderMessage(kStringTelomat19, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); if (dialog(4, rows2, dial2, 0) != 3) { wait(10); @@ -688,7 +688,7 @@ void GameManager1::supernovaEvent() { CursorMan.showMouse(false); if (_currentRoom->getId() <= CAVE) { _vm->renderMessage(kStringSupernova1); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->paletteFadeOut(); changeRoom(MEETUP); @@ -701,7 +701,7 @@ void GameManager1::supernovaEvent() { _vm->paletteFadeIn(); } _vm->renderMessage(kStringSupernova2); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->setCurrentImage(26); _vm->renderImage(0); @@ -714,23 +714,23 @@ void GameManager1::supernovaEvent() { if (_currentRoom->getId() == GLIDER) { _vm->renderMessage(kStringSupernova3); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->_screen->setGuiBrightness(0); _vm->paletteBrightness(); _vm->renderRoom(*_currentRoom); _vm->paletteFadeIn(); _vm->renderMessage(kStringSupernova4, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringSupernova5, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringSupernova6, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringSupernova7, kMessageTop); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); changeRoom(MEETUP2); _rooms[MEETUP2]->setSectionVisible(1, true); @@ -740,7 +740,7 @@ void GameManager1::supernovaEvent() { _inventory.remove(*(_rooms[ROGER]->getObject(8))); } else { _vm->renderMessage(kStringSupernova8); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->_screen->setGuiBrightness(0); _vm->paletteBrightness(); @@ -1164,10 +1164,10 @@ bool GameManager1::genericInteract(Action verb, Object &obj1, Object &obj2) { saveTime(); _vm->renderMessage(kStringGenericInteract_10); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringGenericInteract_11); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->setCurrentImage(2); _vm->renderImage(0); @@ -1368,7 +1368,7 @@ bool GameManager1::genericInteract(Action verb, Object &obj1, Object &obj2) { _vm->renderMessage(kStringGenericInteract_30); else if ((verb == ACTION_LOOK) && (obj1._id == BOOK2)) { _vm->renderMessage(kStringGenericInteract_31); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringGenericInteract_32); } else diff --git a/engines/supernova/supernova2/rooms.cpp b/engines/supernova/supernova2/rooms.cpp index 38d83b5fdb..b058f047cc 100644 --- a/engines/supernova/supernova2/rooms.cpp +++ b/engines/supernova/supernova2/rooms.cpp @@ -233,7 +233,6 @@ bool Intro2::tvDialogue() { if(!_gm->talk(8, 6, 7, kMessageLeft, kStringIntroTV2)) return false; - debug("%d", _vm->shouldQuit()); _vm->renderImage(10); @@ -483,7 +482,7 @@ bool Street::interact(Action verb, Object &obj1, Object &obj2) { } else if (verb == ACTION_WALK && obj1._id == REAR_STREET) { Common::String text = _vm->getGameString(kStringOnlyShop); _vm->renderMessage(text); - _gm->waitOnInput((text.size() + 20) * _vm->_textSpeed / 10); + _gm->wait((text.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); return false; } else @@ -595,7 +594,7 @@ bool Cabin2::interact(Action verb, Object &obj1, Object &obj2) { _vm->_screen->setViewportBrightness(255); Common::String text = _vm->getGameString(kStringWillPassOut); _vm->renderMessage(text); - _gm->waitOnInput((text.size() + 20) * _vm->_textSpeed / 10); + _gm->wait((text.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); _vm->paletteFadeOut(); _vm->saveGame(kSleepAutosaveSlot, "autosave"); @@ -1021,19 +1020,19 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) { _gm->dialog(3, _gm->_dials, dialStage1, 0); _gm->dialog(2, _gm->_dials, dialStage2, 0); _vm->renderMessage(kStringCheckout20, 100, 70); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringCheckout21, 200, 40); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->say(kStringCheckout22); _gm->dialog(3, _gm->_dials, dialStage3, 0); _vm->renderMessage(kStringCheckout23, 120, 70); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->say(kStringCheckout24); _vm->renderMessage(kStringCheckout25, 40, 100); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->dialog(2, _gm->_dials, dialStage4, 0); _vm->playSound(kAudioStage1); @@ -1064,10 +1063,10 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) { _vm->removeMessage(); _vm->playSound(kAudioStage2); _vm->renderMessage(kStringCheckout26, 180, 50); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringCheckout28, 50, 110); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->say(kStringCheckout29); _vm->renderRoom(*this); @@ -1080,7 +1079,7 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) { } } else { _vm->renderMessage(kStringCheckout32); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringCheckout33); } @@ -1382,22 +1381,22 @@ void Checkout::appearance() { _vm->_screen->setGuiBrightness(255); _vm->paletteBrightness(); _vm->renderMessage(kStringAppearance22); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance23); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance24); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance25); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance26); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance27); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setViewportBrightness(0); _vm->_screen->setGuiBrightness(0); @@ -1429,16 +1428,16 @@ void Checkout::appearance() { _vm->_screen->setGuiBrightness(255); _vm->paletteBrightness(); _vm->renderMessage(kStringAppearance28); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance29); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance30); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringAppearance31); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->changeRoom(SHIP); _gm->_state._dark = true; @@ -1601,7 +1600,7 @@ bool Elevator2::interact(Action verb, Object &obj1, Object &obj2) { _gm->wait(3); _vm->renderImage(1 + kSectionInvert); _vm->renderMessage(kStringElevator12); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderImage(1); _gm->wait(3); @@ -1617,7 +1616,7 @@ bool Elevator2::interact(Action verb, Object &obj1, Object &obj2) { _vm->_system->fillScreen(kColorBlack); _vm->_screen->setViewportBrightness(255); _vm->renderMessage(kStringElevator14); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setViewportBrightness(0); _vm->setCurrentImage(26); @@ -1723,7 +1722,7 @@ void Elevator2::jobDescription() { _gm->reply(kStringElevator32, 1, 1 + kSectionInvert); _vm->setCurrentImage(30); _vm->renderImage(0); - _gm->waitOnInput(72); + _gm->wait(72, true); _gm->reply(kStringElevator33, 0, 0); _gm->reply(kStringElevator34, 0, 0); _gm->reply(kStringElevator35, 0, 0); @@ -1767,7 +1766,7 @@ void Elevator2::jobDescription() { _vm->_system->fillScreen(kColorBlack); _vm->_screen->setViewportBrightness(255); _vm->renderMessage(kStringElevator55); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setViewportBrightness(0); _gm->_state._tipsy = false; @@ -1783,10 +1782,10 @@ void Elevator2::jobDescription() { _vm->renderImage(0); _vm->paletteFadeIn(); _vm->renderMessage(kStringElevator56); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringElevator57); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringElevator58); _gm->drawGUI(); @@ -1836,7 +1835,7 @@ bool Apartment::interact(Action verb, Object &obj1, Object &obj2) { _vm->playSound(kAudioSuccess2); } else { _vm->renderMessage(kStringApartment3); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringApartment4); } @@ -2035,27 +2034,27 @@ bool Ship::interact(Action verb, Object &obj1, Object &obj2) { _vm->renderImage(0); _gm->wait(16); _vm->renderMessage(kStringShip7, kMessageRight); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->reply(kStringShip8, 1, 1 + kSectionInvert); _vm->renderMessage(kStringShip9, kMessageRight); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->reply(kStringShip10, 1, 1 + kSectionInvert); _gm->reply(kStringShip11, 1, 1 + kSectionInvert); _gm->reply(kStringShip12, 1, 1 + kSectionInvert); _gm->reply(kStringShip13, 1, 1 + kSectionInvert); _vm->renderMessage(kStringShip14, kMessageRight); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->reply(kStringShip15, 1, 1 + kSectionInvert); _vm->renderMessage(kStringShip16, kMessageRight); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->reply(kStringAha, 1, 1 + kSectionInvert); _gm->reply(kStringShip17, 1, 1 + kSectionInvert); _vm->renderMessage(kStringShip18, kMessageRight); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->reply(kStringShip19, 1, 1 + kSectionInvert); _gm->wait(16); @@ -2120,7 +2119,7 @@ void Ship::outro() { do { volume = _vm->_sound->getVolume() - 10; _vm->_sound->setVolume(volume); - _gm->waitOnInput(1); + _gm->wait(1, true); } while (volume > 10 && !_vm->shouldQuit()); Common::Event event; event.type = Common::EVENT_RTL; @@ -2280,7 +2279,7 @@ void PyrEntrance::animation() { if (_gm->_state._pyraS == 8 && _gm->_state._pyraZ == 5) { if (g_system->getMillis() >= _waitTime) { // around 1 minute _vm->renderMessage(kStringPyramid4); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _gm->_state._pyraZ++; _gm->_state._pyraDirection = 0; @@ -3773,14 +3772,14 @@ void Museum::onEntrance() { _gm->_state._alarmOn = false; _gm->_state._haste = false; _vm->renderMessage(kStringMuseum1); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _gm->_state._sirenOn = false; _vm->stopSound(); _vm->paletteFadeOut(); _vm->_system->fillScreen(kColorBlack); _vm->_screen->setViewportBrightness(255); _vm->renderMessage(kStringMuseum2); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setViewportBrightness(0); _vm->setCurrentImage(26); @@ -3825,7 +3824,7 @@ bool Museum::interact(Action verb, Object &obj1, Object &obj2) { } } else _vm->renderMessage(kStringMuseum12); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->paletteFadeOut(); _vm->_system->fillScreen(kColorBlack); @@ -3833,7 +3832,7 @@ bool Museum::interact(Action verb, Object &obj1, Object &obj2) { _vm->_screen->setGuiBrightness(255); _vm->_screen->paletteBrightness(); _vm->renderMessage(kStringMuseum13); - _gm->waitOnInput(_gm->_messageDuration); + _gm->wait(_gm->_messageDuration, true); _vm->removeMessage(); _vm->_screen->setViewportBrightness(0); _vm->_screen->setGuiBrightness(0); diff --git a/engines/supernova/supernova2/state.cpp b/engines/supernova/supernova2/state.cpp index 8f6b8d6c41..26f83ffb4d 100644 --- a/engines/supernova/supernova2/state.cpp +++ b/engines/supernova/supernova2/state.cpp @@ -475,7 +475,7 @@ bool GameManager2::genericInteract(Action verb, Object &obj1, Object &obj2) { _currentRoom == _rooms[CITY2]) { Common::String t = _vm->getGameString(kStringTaxiArrives); _vm->renderMessage(t); - waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + wait((t.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); taxi(); } else @@ -578,7 +578,7 @@ bool GameManager2::genericInteract(Action verb, Object &obj1, Object &obj2) { _vm->setCurrentImage(30); _vm->renderImage(0); //karte_an = true - waitOnInput(100000); + wait(100000, true); //karte_an = false _vm->removeMessage(); _vm->renderRoom(*_currentRoom); @@ -757,7 +757,7 @@ void GameManager2::taxiUnknownDestination() { _vm->renderImage(0); _vm->renderImage(1); _vm->renderImage(4); - waitOnInput(_vm->_textSpeed * 3); + wait(_vm->_textSpeed * 3, true); _vm->renderImage(invertSection(4)); _vm->renderImage(0); _vm->renderImage(1); @@ -774,7 +774,7 @@ void GameManager2::taxiPayment(int price, int destination) { } else if (_state._money < price) { Common::String t = _vm->getGameString(kStringNotEnoughMoney); _vm->renderMessage(t); - waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + wait((t.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); leaveTaxi(); } else { @@ -790,7 +790,7 @@ void GameManager2::taxiPayment(int price, int destination) { _vm->playSound(kAudioTaxiLeaving); while(_vm->_sound->isPlaying()) wait(1); - waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + wait((t.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); _vm->paletteFadeOut(); @@ -804,7 +804,7 @@ void GameManager2::taxiPayment(int price, int destination) { _vm->playSound(kAudioTaxiArriving); while(_vm->_sound->isPlaying()) wait(1); - waitOnInput((t2.size() + 20) * _vm->_textSpeed / 10); + wait((t2.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); _vm->paletteFadeOut(); @@ -883,7 +883,7 @@ void GameManager2::taxi() { else { Common::String t = _vm->getGameString(kStringCheater); _vm->renderMessage(t); - waitOnInput((t.size() + 20) * _vm->_textSpeed / 10); + wait((t.size() + 20) * _vm->_textSpeed / 10, true); _vm->removeMessage(); leaveTaxi(); @@ -978,7 +978,7 @@ bool GameManager2::talkRest(int mod1, int mod2, int rest) { void GameManager2::pyramidEnd() { _vm->renderMessage(kStringPyramid0); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->paletteFadeOut(); _vm->loadGame(kSleepAutosaveSlot); @@ -1278,7 +1278,7 @@ void GameManager2::caught() { void GameManager2::caught2() { _vm->renderMessage(kStringMuseum8); _vm->playSound(kAudioCaught); - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _state._sirenOn = false; _mapOn = false; @@ -1359,7 +1359,7 @@ bool GameManager2::crackDoor(int time) { if (_dead) return false; if (_state._alarmOn != _alarmBefore) { - waitOnInput(_messageDuration); + wait(_messageDuration, true); _vm->removeMessage(); _vm->renderMessage(kStringMuseum16); } |