[Scummvm-git-logs] scummvm master -> af841a27c756ad27cb204a6567eb53d0e8f8642f

dwatteau noreply at scummvm.org
Wed Jan 18 19:54:05 UTC 2023


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

Summary:
7a522f5ec3 SCUMM: FT: Make the Kick Stand bar music workaround an optional enhancement
af841a27c7 SCUMM: DIMUSE: Fix signed integer overflow warning from UBSan


Commit: 7a522f5ec3aab5488306253ef067d2c4f4744215
    https://github.com/scummvm/scummvm/commit/7a522f5ec3aab5488306253ef067d2c4f4744215
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2023-01-18T20:45:05+01:00

Commit Message:
SCUMM: FT: Make the Kick Stand bar music workaround an optional enhancement

The bug also happens with the original interpreter, but the workaround
is backported from the 2017 remaster, and so it probably qualifies as an
enhancement, if one really wants to be as close as possible to the
original experience and the original bugs.

Changed paths:
    engines/scumm/imuse_digi/dimuse_scripts.cpp


diff --git a/engines/scumm/imuse_digi/dimuse_scripts.cpp b/engines/scumm/imuse_digi/dimuse_scripts.cpp
index cea405ea4a8..d630b904e6c 100644
--- a/engines/scumm/imuse_digi/dimuse_scripts.cpp
+++ b/engines/scumm/imuse_digi/dimuse_scripts.cpp
@@ -483,7 +483,7 @@ void IMuseDigital::playFtMusic(const char *songName, int transitionType, int vol
 					// WORKAROUND for bug in the original: at the beginning of the game, going in
 					// and out of the bar a couple of times breaks and temporarily stops the music
 					// Here, we override the fade out, just like the remastered does
-					if (oldSoundId == soundId && soundId == 622) {
+					if (oldSoundId == soundId && soundId == 622 && _vm->_enableEnhancements) {
 						diMUSEFadeParam(soundId, DIMUSE_P_VOLUME, volume, 200);
 					}
 				} else if (diMUSEStartStream(soundId, 126, DIMUSE_BUFFER_MUSIC)) {


Commit: af841a27c756ad27cb204a6567eb53d0e8f8642f
    https://github.com/scummvm/scummvm/commit/af841a27c756ad27cb204a6567eb53d0e8f8642f
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2023-01-18T20:50:33+01:00

Commit Message:
SCUMM: DIMUSE: Fix signed integer overflow warning from UBSan

UBSan would report this when starting Full Throttle, for example:

  runtime error: signed integer overflow: 2147287044 + 393204 cannot be
     represented in type 'int'

Change checked by AndywinXp.

Changed paths:
    engines/scumm/imuse_digi/dimuse_internalmixer.cpp


diff --git a/engines/scumm/imuse_digi/dimuse_internalmixer.cpp b/engines/scumm/imuse_digi/dimuse_internalmixer.cpp
index 882cc42842f..b78115c7c55 100644
--- a/engines/scumm/imuse_digi/dimuse_internalmixer.cpp
+++ b/engines/scumm/imuse_digi/dimuse_internalmixer.cpp
@@ -74,8 +74,8 @@ static const int8 _stereoVolumeTable[284] = {
 int IMuseDigiInternalMixer::init(int bytesPerSample, int numChannels, uint8 *mixBuf, int mixBufSize, int sizeSampleKB, int mixChannelsNum) {
 	int amplitudeValue;
 	int waveMixChannelsCount;
-	int softLdenominator;
-	int softLnumerator;
+	uint softLdenominator;
+	uint softLnumerator;
 	int softLcurValue;
 	int zeroCenterOffset;
 




More information about the Scummvm-git-logs mailing list