[Scummvm-git-logs] scummvm branch-2-8 -> 498042daaabc078fb0fd8825e88ef771ecb28965

AndywinXp noreply at scummvm.org
Sun Mar 10 08:30:45 UTC 2024


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
498042daaa SCUMM: HE: Disable speech timer code


Commit: 498042daaabc078fb0fd8825e88ef771ecb28965
    https://github.com/scummvm/scummvm/commit/498042daaabc078fb0fd8825e88ef771ecb28965
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-03-10T09:30:39+01:00

Commit Message:
SCUMM: HE: Disable speech timer code

It's not in any HE executable, and it caused bad memory accesses...

Changed paths:
    engines/scumm/sound.cpp


diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index d1b153c25f7..5d4d3718b92 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -109,7 +109,7 @@ Sound::Sound(ScummEngine *parent, Audio::Mixer *mixer, bool useReplacementAudioT
 	// This timer targets every talkie game, except for LOOM CD
 	// which is handled differently, and except for COMI which
 	// handles lipsync within Digital iMUSE.
-	if (_vm->_game.version >= 5 && _vm->_game.version <= 7) {
+	if (_vm->_game.version >= 5 && _vm->_game.version <= 7 && _vm->_game.heversion == 0) {
 		startSpeechTimer();
 	}
 }
@@ -120,7 +120,7 @@ Sound::~Sound() {
 	free(_offsetTable);
 	delete _loomSteamCDAudioHandle;
 	delete _talkChannelHandle;
-	if (_vm->_game.version >= 5 && _vm->_game.version <= 7) {
+	if (_vm->_game.version >= 5 && _vm->_game.version <= 7 && _vm->_game.heversion == 0) {
 		stopSpeechTimer();
 	}
 }
@@ -639,7 +639,8 @@ void Sound::processSfxQueues() {
 			finished = !_mixer->isSoundHandleActive(*_talkChannelHandle);
 		}
 
-		if ((uint) act < 0x80 && ((_vm->_game.version == 8) || (_vm->_game.version <= 7 && !_vm->_string[0].no_talk_anim))) {
+		if (_vm->_game.heversion == 0 &&
+			((uint)act < 0x80 && ((_vm->_game.version == 8) || (_vm->_game.version <= 7 && !_vm->_string[0].no_talk_anim)))) {
 			a = _vm->derefActor(act, "processSfxQueues");
 			if (a->isInCurrentRoom()) {
 				if (finished || (isMouthSyncOff(_curSoundPos) && _mouthSyncMode)) {




More information about the Scummvm-git-logs mailing list