[Scummvm-git-logs] scummvm master -> 859ebfd8074d9c3bae50b4bf933deebca796ef90

neuromancer noreply at scummvm.org
Sun Aug 31 20:59:41 UTC 2025


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

Summary:
d754921013 FREESCAPE: better sound handling for zx concurrent sounds
a963b7272b FREESCAPE: adjust pitch when game is started
859ebfd807 FREESCAPE: removed double sync sound condition


Commit: d7549210133eb105da14f89d83dd92c3a1f33937
    https://github.com/scummvm/scummvm/commit/d7549210133eb105da14f89d83dd92c3a1f33937
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-08-31T23:01:53+02:00

Commit Message:
FREESCAPE: better sound handling for zx concurrent sounds

Changed paths:
    engines/freescape/freescape.h
    engines/freescape/sound.cpp


diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index a85d836a6d4..c35356fc9f4 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -491,7 +491,7 @@ public:
 	void loadSpeakerFxZX(Common::SeekableReadStream *file, int sfxTable, int sfxData);
 	Common::HashMap<uint16, soundSpeakerFx *> _soundsSpeakerFx;
 
-	void playSoundZX(Common::Array<soundUnitZX> *data);
+	void playSoundZX(Common::Array<soundUnitZX> *data, Audio::SoundHandle &handle);
 	Common::HashMap<uint16, Common::Array<soundUnitZX>*> _soundsSpeakerFxZX;
 	int _soundIndexShoot;
 	int _soundIndexCollide;
diff --git a/engines/freescape/sound.cpp b/engines/freescape/sound.cpp
index 77bff5dadea..daf3041ce94 100644
--- a/engines/freescape/sound.cpp
+++ b/engines/freescape/sound.cpp
@@ -325,7 +325,7 @@ void FreescapeEngine::playSound(int index, bool sync, Audio::SoundHandle &handle
 
 		return;
 	} else if (isSpectrum() && !isDriller()) {
-		playSoundZX(_soundsSpeakerFxZX[index]);
+		playSoundZX(_soundsSpeakerFxZX[index], handle);
 		return;
 	}
 
@@ -503,7 +503,7 @@ uint16 FreescapeEngine::playSoundDOSSpeaker(uint16 frequencyStart, soundSpeakerF
 	return freq;
 }
 
-void FreescapeEngine::playSoundZX(Common::Array<soundUnitZX> *data) {
+void FreescapeEngine::playSoundZX(Common::Array<soundUnitZX> *data, Audio::SoundHandle &handle) {
 	for (auto &it : *data) {
 		soundUnitZX value = it;
 
@@ -529,7 +529,7 @@ void FreescapeEngine::playSoundZX(Common::Array<soundUnitZX> *data) {
 	}
 
 	_mixer->stopHandle(_soundFxHandle);
-	_mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundFxHandle, _speaker, -1, kFreescapeDefaultVolume, 0, DisposeAfterUse::NO);
+	_mixer->playStream(Audio::Mixer::kSFXSoundType, &handle, _speaker, -1, kFreescapeDefaultVolume, 0, DisposeAfterUse::NO);
 }
 
 void FreescapeEngine::playSoundDOS(soundSpeakerFx *speakerFxInfo, bool sync, Audio::SoundHandle &handle) {


Commit: a963b7272bc723c6d96386f106b6e9df3c9a1525
    https://github.com/scummvm/scummvm/commit/a963b7272bc723c6d96386f106b6e9df3c9a1525
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-08-31T23:01:53+02:00

Commit Message:
FREESCAPE: adjust pitch when game is started

Changed paths:
    engines/freescape/games/eclipse/eclipse.cpp


diff --git a/engines/freescape/games/eclipse/eclipse.cpp b/engines/freescape/games/eclipse/eclipse.cpp
index 2c060fb3b94..0103cf481d8 100644
--- a/engines/freescape/games/eclipse/eclipse.cpp
+++ b/engines/freescape/games/eclipse/eclipse.cpp
@@ -313,6 +313,8 @@ void EclipseEngine::gotoArea(uint16 areaID, int entranceID) {
 	_lastPosition = _position;
 
 	if (areaID == _startArea && entranceID == _startEntrance) {
+		if (_pitch >= 180)
+			_pitch = 360 - _pitch;
 		playSound(_soundIndexStart, true, _soundFxHandle);
 		if (isEclipse2()) {
 			_gameStateControl = kFreescapeGameStateStart;


Commit: 859ebfd8074d9c3bae50b4bf933deebca796ef90
    https://github.com/scummvm/scummvm/commit/859ebfd8074d9c3bae50b4bf933deebca796ef90
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-08-31T23:01:53+02:00

Commit Message:
FREESCAPE: removed double sync sound condition

Changed paths:
    engines/freescape/language/instruction.cpp


diff --git a/engines/freescape/language/instruction.cpp b/engines/freescape/language/instruction.cpp
index 3695fcadbfd..47e7ff1f40f 100644
--- a/engines/freescape/language/instruction.cpp
+++ b/engines/freescape/language/instruction.cpp
@@ -332,9 +332,6 @@ void FreescapeEngine::executeRedraw(FCLInstruction &instruction) {
 		delay = delay * 10;
 
 	waitInLoop(delay);
-	if (_syncSound) {
-		waitForSounds();
-	}
 }
 
 void FreescapeEngine::executeExecute(FCLInstruction &instruction, bool shot, bool collided, bool activated) {




More information about the Scummvm-git-logs mailing list