aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2002-09-24 04:29:54 +0000
committerTravis Howell2002-09-24 04:29:54 +0000
commit2e88cd210caa49b664499961d878d8920def475c (patch)
treea5babf144dd2b02516d88b638c6a74769479eda5 /scumm
parente244ddf42677ca16e917d7609dca0005a41bf0e8 (diff)
downloadscummvm-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
Diffstat (limited to 'scumm')
-rw-r--r--scumm/scummvm.cpp14
1 files changed, 13 insertions, 1 deletions
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) {