diff options
author | Martin Kiewitz | 2010-07-30 21:29:45 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-30 21:29:45 +0000 |
commit | 685c124a8e91dcec656258e7d8c11e1a735fe1cf (patch) | |
tree | 8a1a4551a9dcdfa0d77298ee80c22353e89d94da /engines | |
parent | 757f787a270676a38b165705c2e8b118bd5ca96d (diff) | |
download | scummvm-rg350-685c124a8e91dcec656258e7d8c11e1a735fe1cf.tar.gz scummvm-rg350-685c124a8e91dcec656258e7d8c11e1a735fe1cf.tar.bz2 scummvm-rg350-685c124a8e91dcec656258e7d8c11e1a735fe1cf.zip |
SCI: speed throttler cleanup and iceman comment
svn-id: r51518
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kmisc.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 305e202ae9..f2026575de 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -55,16 +55,28 @@ reg_t kGameIsRestarting(EngineState *s, int argc, reg_t *argv) { 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 (g_sci->getGameId() == GID_LSL3 && s->currentRoomNumber() == 290) - s->_throttleTrigger = true; - else if (g_sci->getGameId() == GID_ICEMAN && s->currentRoomNumber() == 27) { - s->_throttleTrigger = true; - neededSleep = 60; + // WORKAROUNDS: + switch (g_sci->getGameId()) { + case GID_LSL3: + // 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->currentRoomNumber() == 290) + s->_throttleTrigger = true; + break; + case GID_ICEMAN: + // In ICEMAN the submarine control room is not animating much, so it runs way too fast + // we calm it down even more otherwise especially fighting against other submarines + // is almost impossible + if (s->currentRoomNumber() == 27) { + s->_throttleTrigger = true; + neededSleep = 60; + } + break; + default: + break; } s->speedThrottler(neededSleep); |