[Scummvm-git-logs] scummvm master -> 41fb255393cc5a894f4af6b23f8a9c4ca7e53c9a

AndywinXp noreply at scummvm.org
Thu Jun 19 21:33:19 UTC 2025


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

Summary:
41fb255393 LASTEXPRESS: Fix sound and subtitles for BE platforms


Commit: 41fb255393cc5a894f4af6b23f8a9c4ca7e53c9a
    https://github.com/scummvm/scummvm/commit/41fb255393cc5a894f4af6b23f8a9c4ca7e53c9a
Author: AndywinXp (andywinxp at gmail.com)
Date: 2025-06-19T23:33:13+02:00

Commit Message:
LASTEXPRESS: Fix sound and subtitles for BE platforms

Changed paths:
    engines/lastexpress/sound/mixer.cpp
    engines/lastexpress/sound/subtitle.cpp


diff --git a/engines/lastexpress/sound/mixer.cpp b/engines/lastexpress/sound/mixer.cpp
index 40817fedf37..ffbfba365ac 100644
--- a/engines/lastexpress/sound/mixer.cpp
+++ b/engines/lastexpress/sound/mixer.cpp
@@ -412,8 +412,8 @@ void static decodeSamples(int32 volumeLevel, int32 stepSizeIdx, int32 initSample
 
 void SoundManager::mix(Slot *slot, int16 *outBuf) {
 	int16 *currentDataPtr = (int16 *)slot->_currentDataPtr;
-	int32 predictorValue = currentDataPtr[0];
-	uint32 stepSizeIndex = currentDataPtr[1] << 6;
+	int32 predictorValue = READ_LE_INT16(&currentDataPtr[0]);
+	uint32 stepSizeIndex = READ_LE_INT16(&currentDataPtr[1]) << 6;
 
 	if (stepSizeIndex > 5632) {
 		slot->_statusFlags |= kSoundFlagDecodeError;
diff --git a/engines/lastexpress/sound/subtitle.cpp b/engines/lastexpress/sound/subtitle.cpp
index 35e119bba01..979ff76bcc9 100644
--- a/engines/lastexpress/sound/subtitle.cpp
+++ b/engines/lastexpress/sound/subtitle.cpp
@@ -110,6 +110,10 @@ void Subtitle::load() {
 		_engine->getArchiveManager()->readHPF(archive, _engine->getSubtitleManager()->_subtitlesData, archive->size);
 		_engine->getArchiveManager()->closeHPF(archive);
 
+		for (int i = 0; i < (archive->size * PAGE_SIZE) / 2; i++) {
+			_engine->getSubtitleManager()->_subtitlesData[i] = READ_LE_UINT16(&_engine->getSubtitleManager()->_subtitlesData[i]);
+		}
+
 		if (_engine->getSubtitleManager()->_subtitlesData[0]) {
 			for (int i = 0; i < _engine->getSubtitleManager()->_subtitlesData[0]; i++) {
 				if (!_data[1])




More information about the Scummvm-git-logs mailing list