diff options
author | Vladimir Menshakov | 2011-06-13 11:35:58 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:40 +0200 |
commit | 308fcf0953ab4974d997710debdaa72b0b44ed3e (patch) | |
tree | de551c82f619c4974b4ae1a2023d08f60e1696b1 /engines/dreamweb/dreamweb.cpp | |
parent | 92a11ea59d36e46a2a0cc0beaeac98310efed433 (diff) | |
download | scummvm-rg350-308fcf0953ab4974d997710debdaa72b0b44ed3e.tar.gz scummvm-rg350-308fcf0953ab4974d997710debdaa72b0b44ed3e.tar.bz2 scummvm-rg350-308fcf0953ab4974d997710debdaa72b0b44ed3e.zip |
DREAMWEB: added setSpeed, CTRL-F shortcut and removed erik's comment because it's good idea :)
Diffstat (limited to 'engines/dreamweb/dreamweb.cpp')
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index ecab4337c1..b3bae38d24 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -66,6 +66,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam DebugMan.addDebugChannel(kDebugSaveLoad, "SaveLoad", "Track Save/Load Function"); _outSaveFile = 0; _inSaveFile = 0; + _speed = 1; } DreamWebEngine::~DreamWebEngine() { @@ -73,10 +74,6 @@ DreamWebEngine::~DreamWebEngine() { delete _console; } -// Let's see if it's a good idea to emulate VSYNC interrupts with a timer like -// this. There's a chance we'll miss interrupts, which could be countered by -// counting them instead of just flagging them, but we'll see... - static void vSyncInterrupt(void *refCon) { DreamWebEngine *vm = (DreamWebEngine *)refCon; @@ -126,6 +123,15 @@ void DreamWebEngine::processEvents() { keyHandled = true; } break; + case Common::KEYCODE_f: + if (event.kbd.flags & Common::KBD_CTRL) { + if (_speed != 10) + setSpeed(10); + else + setSpeed(1); + keyHandled = true; + } + break; default: break; } @@ -166,6 +172,13 @@ Common::Error DreamWebEngine::run() { return Common::kNoError; } +void DreamWebEngine::setSpeed(uint speed) { + debug(0, "setting speed %u", speed); + _speed = speed; + getTimerManager()->removeTimerProc(vSyncInterrupt); + getTimerManager()->installTimerProc(vSyncInterrupt, 1000000 / 70 / speed, this); +} + void DreamWebEngine::openFile(const Common::String &name) { processEvents(); closeFile(); |