aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/cycle.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2016-02-03 01:32:57 +0100
committerMartin Kiewitz2016-02-03 01:32:57 +0100
commit8271058a4598e25096fe305f2c0beb7d2613e178 (patch)
tree15d09329fae16381d7d360e7a3981998771f34a7 /engines/agi/cycle.cpp
parent9fecbe58a1f99edc0dc067564e4fd53730faa933 (diff)
downloadscummvm-rg350-8271058a4598e25096fe305f2c0beb7d2613e178.tar.gz
scummvm-rg350-8271058a4598e25096fe305f2c0beb7d2613e178.tar.bz2
scummvm-rg350-8271058a4598e25096fe305f2c0beb7d2613e178.zip
AGI: Implement messageBox() as inner loop
Also remove _game.keypress, _game.msgBoxTicks
Diffstat (limited to 'engines/agi/cycle.cpp')
-rw-r--r--engines/agi/cycle.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index c9f109b8b3..29c97babbc 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -237,8 +237,6 @@ int AgiEngine::mainCycle(bool onlyCheckForEvents) {
} else {
// inner loop active
// call specific workers
- _game.keypress = 0;
-
switch (_game.cycleInnerLoopType) {
case CYCLE_INNERLOOP_GETSTRING: // loop called from TextMgr::stringEdit()
case CYCLE_INNERLOOP_GETNUMBER:
@@ -269,6 +267,12 @@ int AgiEngine::mainCycle(bool onlyCheckForEvents) {
}
break;
+ case CYCLE_INNERLOOP_MESSAGEBOX:
+ if (key) {
+ _text->messageBox_CharPress(key);
+ }
+ break;
+
default:
break;
}
@@ -278,9 +282,6 @@ int AgiEngine::mainCycle(bool onlyCheckForEvents) {
if (_menu->delayedExecuteActive()) {
_menu->execute();
}
-
- if (_game.msgBoxTicks > 0)
- _game.msgBoxTicks--;
}
_gfx->updateScreen();
@@ -347,7 +348,7 @@ int AgiEngine::playGame() {
inGameTimerUpdate();
if (_passedPlayTimeCycles >= getVar(VM_VAR_TIME_DELAY)) {
- _passedPlayTimeCycles = 0;
+ inGameTimerResetPassedCycles();
interpretCycle();