From 35c2469c0bd6e6af75c5642f52efd6e014abf4f5 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sun, 17 Jan 2010 20:17:00 +0000 Subject: SCI: speed throttler - hardcoded exception for room 290/lsl3, should fix pushup count later in the game svn-id: r47346 --- engines/sci/engine/kmisc.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 7f1572d671..ef0e4d444c 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -56,9 +56,16 @@ reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv) { s->restarting_flags &= ~SCI_GAME_WAS_RESTARTED; } - // Some games seem to get the duration of main loop initially and then switch of animations for the whole game - // based on that (qfg2, iceman). We are now running full speed initially to avoid that. + // LSL3 calculates a machinespeed variable during game startup (right after the filthy questions) + // This one would go through w/o throttling resulting in having to do 1000 pushups or something + // Another way of handling this would be delaying incrementing of "machineSpeed" selector + if (s->_gameId == "lsl3" && s->currentRoomNumber() == 290) + s->_throttleTrigger = true; + if (s->_throttleTrigger) { + // Some games seem to get the duration of main loop initially and then switch of animations for the whole game + // based on that (qfg2, iceman). We are now running full speed initially to avoid that. + // It seems like we dont need to do that anymore //if (s->_throttleCounter < 50) { // s->_throttleCounter++; // return s->r_acc; -- cgit v1.2.3