aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-04-20 11:57:23 +0000
committerTravis Howell2006-04-20 11:57:23 +0000
commit31ae5e09e8c564c560e66a3aa4779a659ba93b44 (patch)
treee88160913425f44a84e142a1cab0860341087094
parentc07f314b1f99390c27ee2f1d99e4b77fda8cd89b (diff)
downloadscummvm-rg350-31ae5e09e8c564c560e66a3aa4779a659ba93b44.tar.gz
scummvm-rg350-31ae5e09e8c564c560e66a3aa4779a659ba93b44.tar.bz2
scummvm-rg350-31ae5e09e8c564c560e66a3aa4779a659ba93b44.zip
Fix constant scrolling in oracle in FF, when mouse button is pressed
svn-id: r22056
-rw-r--r--engines/simon/oracle.cpp9
-rw-r--r--engines/simon/verb.cpp8
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);