diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp index ddc3ee7473c..8f30cfe6956 100644 --- a/common/gameDetector.cpp +++ b/common/gameDetector.cpp @@ -375,7 +375,7 @@ static const VersionSettings version_settings[] = { /* Scumm version 5 */ {"monkeyVGA", "Monkey Island 1 (256 color Floppy version)", GID_MONKEY_VGA, 5, 0, 16, - GF_SMALL_HEADER | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT}, + GF_SMALL_HEADER | GF_USE_KEY | GF_ADLIB_DEFAULT}, {"loomcd", "Loom (256 color CD version)", GID_LOOM256, 5, 1, 42, GF_SMALL_HEADER | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT}, {"monkey", "Monkey Island 1", GID_MONKEY, 5, 2, 2, diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 156a37f52ca..2d0bdfdb238 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -340,6 +340,8 @@ void Scumm::checkRange(int max, int min, int no, const char *str) int Scumm::scummLoop(int delta) { + static int counter = 0; + #ifndef _WIN32_WCE if (_debugger) _debugger->on_frame(); @@ -378,7 +380,17 @@ int Scumm::scummLoop(int delta) _vars[VAR_MOUSE_Y] = mouse.y; _vars[VAR_DEBUGMODE] = _debugMode; - if (_features & GF_AUDIOTRACKS) { + if (_gameId == GID_MONKEY_VGA) { + // FIXME: Is all this really necessary now? + if (delta == 1) + _vars[VAR_MI1_TIMER]++; + else if (++counter != 2) + _vars[VAR_MI1_TIMER] += 5; + else { + counter = 0; + _vars[VAR_MI1_TIMER] += 6; + } + } else if (_features & GF_AUDIOTRACKS) { _vars[VAR_MI1_TIMER] = _sound->readCDTimer(); } else if (_features & GF_OLD256) {