diff options
-rw-r--r-- | script_v1.cpp | 1 | ||||
-rw-r--r-- | scummvm.cpp | 15 | ||||
-rw-r--r-- | sdl.cpp | 1 |
3 files changed, 11 insertions, 6 deletions
diff --git a/script_v1.cpp b/script_v1.cpp index aa9108be77..b3b4289302 100644 --- a/script_v1.cpp +++ b/script_v1.cpp @@ -2488,7 +2488,6 @@ void Scumm::decodeParseString() { else offset = 0; delay = (int)((getVarOrDirectWord(0x40) & 0xffff) * 7.5); - if (_gameId == GID_LOOM256) cd_play(this, 1, 0, offset, delay); else diff --git a/scummvm.cpp b/scummvm.cpp index af1d84a66e..c7fe040dc5 100644 --- a/scummvm.cpp +++ b/scummvm.cpp @@ -187,8 +187,7 @@ void Scumm::checkRange(int max, int min, int no, const char *str) { } int Scumm::scummLoop(int delta) { - - + static int counter=0; #ifndef _WIN32_WCE @@ -228,8 +227,16 @@ int Scumm::scummLoop(int delta) { _vars[VAR_MOUSE_Y] = mouse.y; _vars[VAR_DEBUGMODE] = _debugMode; - if (_features & GF_AUDIOTRACKS) - _vars[VAR_MI1_TIMER]+=5; + if (_features & GF_AUDIOTRACKS) { + if (delta) { + if (++counter != 2) + _vars[VAR_MI1_TIMER]+=5; + else { + counter = 0; + _vars[VAR_MI1_TIMER]+=6; + } + } + } else if(_features & GF_OLD256) _vars[VAR_MUSIC_FLAG]++; // ENDERFIX @@ -678,7 +678,6 @@ static int cd_track, cd_num_loops = 0, cd_start_frame, cd_end_frame; static Uint32 cd_end_time, cd_stop_time, cd_next_second; void cd_play(Scumm *s, int track, int num_loops, int start_frame, int end_frame) { - scumm->_vars[14] = 0; #ifdef COMPRESSED_SOUND_FILE |