diff options
author | Travis Howell | 2002-09-24 04:29:54 +0000 |
---|---|---|
committer | Travis Howell | 2002-09-24 04:29:54 +0000 |
commit | 2e88cd210caa49b664499961d878d8920def475c (patch) | |
tree | a5babf144dd2b02516d88b638c6a74769479eda5 | |
parent | e244ddf42677ca16e917d7609dca0005a41bf0e8 (diff) | |
download | scummvm-rg350-2e88cd210caa49b664499961d878d8920def475c.tar.gz scummvm-rg350-2e88cd210caa49b664499961d878d8920def475c.tar.bz2 scummvm-rg350-2e88cd210caa49b664499961d878d8920def475c.zip |
Add emergency patch for 'RFC: Timer-based CD audio sync' patch so monkeyvga works again.
svn-id: r5012
-rw-r--r-- | common/gameDetector.cpp | 2 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp index ddc3ee7473..8f30cfe695 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 156a37f52c..2d0bdfdb23 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) { |