aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-07-15 09:20:47 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commitc2177f84539472defe31c6fba80ad4a6f3357266 (patch)
tree8b586c50ec2c69119d68b58ee4e36adbcb261ec3 /engines/supernova
parent448db9f4321f5854385e1726284d2ba35c76866f (diff)
downloadscummvm-rg350-c2177f84539472defe31c6fba80ad4a6f3357266.tar.gz
scummvm-rg350-c2177f84539472defe31c6fba80ad4a6f3357266.tar.bz2
scummvm-rg350-c2177f84539472defe31c6fba80ad4a6f3357266.zip
SUPERNOVA: Merge getInput and waitOnInput methods.
Diffstat (limited to 'engines/supernova')
-rw-r--r--engines/supernova/game-manager.cpp51
-rw-r--r--engines/supernova/game-manager.h7
-rw-r--r--engines/supernova/supernova.cpp6
-rw-r--r--engines/supernova/supernova1/rooms.cpp16
-rw-r--r--engines/supernova/supernova1/state.cpp28
-rw-r--r--engines/supernova/supernova2/rooms.cpp75
-rw-r--r--engines/supernova/supernova2/state.cpp20
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);
}