diff options
author | Martin Kiewitz | 2010-05-17 09:32:16 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-05-17 09:32:16 +0000 |
commit | 4119fdb9a93207f9de5e925e1d095ca5dd6348b1 (patch) | |
tree | 619f752a65bef11bed58e45e9237e4973d97fced | |
parent | 8b59e45e6e8ffdd733abaa53d6ee4eea7ee6bc5d (diff) | |
download | scummvm-rg350-4119fdb9a93207f9de5e925e1d095ca5dd6348b1.tar.gz scummvm-rg350-4119fdb9a93207f9de5e925e1d095ca5dd6348b1.tar.bz2 scummvm-rg350-4119fdb9a93207f9de5e925e1d095ca5dd6348b1.zip |
SCI: adding speed throttler special case for iceman / submarine control room
svn-id: r49056
-rw-r--r-- | engines/sci/engine/kmisc.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 288f8b6387..96241b8b7c 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -56,12 +56,18 @@ reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv) { s->restarting_flags &= ~SCI_GAME_WAS_RESTARTED; } + uint32 neededSleep = 30; + // WORKAROUND: // 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->_gameId == "iceman" && s->currentRoomNumber() == 27) { + s->_throttleTrigger = true; + neededSleep = 60; + } if (s->_throttleTrigger) { // Some games seem to get the duration of main loop initially and then switch of animations for the whole game @@ -74,7 +80,6 @@ reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv) { uint32 curTime = g_system->getMillis(); uint32 duration = curTime - s->_throttleLastTime; - uint32 neededSleep = 30; if (duration < neededSleep) { s->_event->sleep(neededSleep - duration); |