aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-09-03 22:51:27 +0000
committerFilippos Karapetis2010-09-03 22:51:27 +0000
commit976458058d354942ceddc18643748cd0e1adf0be (patch)
treeef03bcd9a7ad62b4d71a962c4182c72dd6b8f287
parente4c07925ecde598507c27b5be5a373bf333e70dd (diff)
downloadscummvm-rg350-976458058d354942ceddc18643748cd0e1adf0be.tar.gz
scummvm-rg350-976458058d354942ceddc18643748cd0e1adf0be.tar.bz2
scummvm-rg350-976458058d354942ceddc18643748cd0e1adf0be.zip
SCI: Fixed bug #3058865 - "Jones in the Fast Lane CD: Graphics Missing"
svn-id: r52511
-rw-r--r--engines/sci/engine/kevent.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp
index 5fb2948a4b..9d48174078 100644
--- a/engines/sci/engine/kevent.cpp
+++ b/engines/sci/engine/kevent.cpp
@@ -176,8 +176,18 @@ reg_t kGetEvent(EngineState *s, int argc, reg_t *argv) {
// Wait a bit here, so that the CPU isn't maxed out when the game
// is waiting for user input (e.g. when showing text boxes) - bug
- // #3037874.
- g_system->delayMillis(10);
+ // #3037874. This works when games do benchmarking at the beginning,
+ // because most of them call kAnimate for benchmarking without
+ // calling kGetEvent in between (rightly so).
+ if (g_sci->getGameId() == GID_JONES && g_sci->getEngineState()->currentRoomNumber() == 764) {
+ // Jones CD is an exception, as it incorrectly calls GetEvent
+ // while benchmarking. Thus, don't delay here for room 764 in
+ // Jones (the speed test room), otherwise speed testing will
+ // fail and the game won't show any views, as it will think that
+ // the user has a slow machine - bug #3058865
+ } else {
+ g_system->delayMillis(10);
+ }
return s->r_acc;
}