diff options
-rw-r--r-- | engines/simon/oracle.cpp | 9 | ||||
-rw-r--r-- | engines/simon/verb.cpp | 8 |
2 files changed, 9 insertions, 8 deletions
diff --git a/engines/simon/oracle.cpp b/engines/simon/oracle.cpp index 38c10f28d9..40857cc0bf 100644 --- a/engines/simon/oracle.cpp +++ b/engines/simon/oracle.cpp @@ -93,7 +93,6 @@ void SimonEngine::oracleTextUp() { if (_textWindow->scrollY > _oracleMaxScrollY) // For scroll up _oracleMaxScrollY = _textWindow->scrollY; - while(1) { if (_textWindow->scrollY == _oracleMaxScrollY) break; @@ -115,8 +114,9 @@ void SimonEngine::oracleTextUp() { setBitFlag(94, false); bltOracleText(); } - if (_currentBoxNumber != 601 || !_leftButtonDown) + if (_currentBoxNumber != 601 || !getBitFlag(89)) break; + delay(100); } } @@ -128,10 +128,10 @@ void SimonEngine::oracleTextDown() { if (_textWindow->scrollY > _oracleMaxScrollY) // For scroll up _oracleMaxScrollY = _textWindow->scrollY; - while(1) { if (_textWindow->scrollY == 0) break; + for (i = 0; i < 5; i++) { _newLines = 0; _textWindow->textColumn = 0; @@ -149,8 +149,9 @@ void SimonEngine::oracleTextDown() { setBitFlag(93, false); bltOracleText(); } - if (_currentBoxNumber != 600 || !_leftButtonDown) + if (_currentBoxNumber != 600 || !getBitFlag(89)) break; + delay(100); } } diff --git a/engines/simon/verb.cpp b/engines/simon/verb.cpp index 6b0ac8c207..136b4cef72 100644 --- a/engines/simon/verb.cpp +++ b/engines/simon/verb.cpp @@ -591,10 +591,10 @@ void SimonEngine::inventoryUp(WindowBlock *window) { checkUp(window); loadSprite(4, 9, 21, 0 ,0, 0); while(1) { - if (_currentBoxNumber != 0x7FFB || !_leftButtonDown) + if (_currentBoxNumber != 0x7FFB || !getBitFlag(89)) break; checkUp(window); - delay(1); + delay(100); } waitForMark(2); checkUp(window); @@ -618,10 +618,10 @@ void SimonEngine::inventoryDown(WindowBlock *window) { checkDown(window); loadSprite(4, 9, 23, 0, 0, 0); while(1) { - if (_currentBoxNumber != 0x7FFC || !_leftButtonDown) + if (_currentBoxNumber != 0x7FFC || !getBitFlag(89)) break; checkDown(window); - delay(1); + delay(100); } waitForMark(2); checkDown(window); |