aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/events.cpp
diff options
context:
space:
mode:
authorStrangerke2013-02-06 19:59:23 +0100
committerStrangerke2013-02-06 19:59:23 +0100
commit7d40d1e2e31d602f0db016040340cc55ff73f0b5 (patch)
treedc15c6b211cedb23b3c20c6be25dc17fce5a605a /engines/hopkins/events.cpp
parent880f00150c250903eb3bfb206abee0ab215d3d52 (diff)
downloadscummvm-rg350-7d40d1e2e31d602f0db016040340cc55ff73f0b5.tar.gz
scummvm-rg350-7d40d1e2e31d602f0db016040340cc55ff73f0b5.tar.bz2
scummvm-rg350-7d40d1e2e31d602f0db016040340cc55ff73f0b5.zip
HOPKINS: Remove two labels and their associated GOTOs from EventsManager
Diffstat (limited to 'engines/hopkins/events.cpp')
-rw-r--r--engines/hopkins/events.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp
index 31b972cdc3..ead8ff0a33 100644
--- a/engines/hopkins/events.cpp
+++ b/engines/hopkins/events.cpp
@@ -380,27 +380,34 @@ void EventsManager::VBL() {
}
_vm->_globals._speed = 2;
+ bool externalLoopFl = false;
do {
while (!_vm->shouldQuit()) {
checkForNextFrameCounter();
+ bool innerLoopFl = false;
while (_breakoutFl || _vm->_globals.iRegul != 1) {
checkForNextFrameCounter();
- if (!_breakoutFl)
- goto LABEL_63;
- if (_rateCounter > 1)
- goto LABEL_65;
+ if (!_breakoutFl) {
+ innerLoopFl = true;
+ break;
+ }
+ if (_rateCounter > 1) {
+ externalLoopFl = true;
+ break;
+ }
}
- if (_vm->_globals._speed != 2)
+ if (innerLoopFl || _vm->_globals._speed != 2)
break;
- if (_rateCounter > 9)
- goto LABEL_65;
+ if (externalLoopFl ||_rateCounter > 9) {
+ externalLoopFl = true;
+ break;
+ }
}
-LABEL_63:
- ;
+ if (externalLoopFl)
+ break;
} while (!_vm->shouldQuit() && _vm->_globals.iRegul == 3 && _rateCounter <= 15);
-LABEL_65:
_vm->_globals._speed = 2;
_rateCounter = 0;
if (!_vm->_graphicsManager._largeScreenFl || _vm->_graphicsManager._scrollStatus == 1) {