[Scummvm-git-logs] scummvm branch-2-8 -> 9e3f357264ecdd1e31c4e9243624a86d3a21e619

elasota noreply at scummvm.org
Sat Mar 2 09:13:35 UTC 2024


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

Summary:
6e454a5474 MTROPOLIS: Permit empty mToon frames.  Fixes error on MTI credits.
6100b7259a VCRUISE: Fix inventory not rendering after cutscene.
4ad3d5dec7 VCRUISE: Fix crash when executing music volume ramp while music is muted
5096cb94ca VCRUISE: Fix music mute not persisting through save states
14bbdd064c MTROPOLIS: Fix list shuffle not shuffling the first element
9e3f357264 NEWS: Add V-Cruise and mTropolis fix notes.  Fix mTropolis capitalization.


Commit: 6e454a54741a10a2cc015df310d8792530320b96
    https://github.com/scummvm/scummvm/commit/6e454a54741a10a2cc015df310d8792530320b96
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T03:20:00-05:00

Commit Message:
MTROPOLIS: Permit empty mToon frames.  Fixes error on MTI credits.

Changed paths:
    engines/mtropolis/assets.cpp


diff --git a/engines/mtropolis/assets.cpp b/engines/mtropolis/assets.cpp
index 64c28574580..9ec0ae4d249 100644
--- a/engines/mtropolis/assets.cpp
+++ b/engines/mtropolis/assets.cpp
@@ -211,16 +211,29 @@ template<class TNumber, uint32 TLiteralMask, uint32 TTransparentRowSkipMask>
 bool CachedMToon::decompressMToonRLE(const RleFrame &frame, const Common::Array<TNumber> &coefsArray, Graphics::ManagedSurface &surface, bool isBottomUp, bool isKeyFrame, uint hackFlags) {
 	assert(sizeof(TNumber) == surface.format.bytesPerPixel);
 
+	size_t w = surface.w;
+	size_t h = surface.h;
+
 	size_t size = coefsArray.size();
-	if (size == 0)
-		return false;
+	if (size == 0) {
+		if (isKeyFrame) {
+			TNumber fillColor = 0;
+			if (surface.format.bytesPerPixel > 1)
+				fillColor = surface.format.RGBToColor(0, 0, 0);
+
+			for (size_t y = 0; y < h; y++) {
+				TNumber *rowData = static_cast<TNumber *>(surface.getBasePtr(0, y));
+				for (size_t x = 0; x < w; x++)
+					rowData[x] = fillColor;
+			}
+		}
+		return true;
+	}
 
 	const TNumber *coefs = &coefsArray[0];
 
 	size_t x = 0;
 	size_t y = 0;
-	size_t w = surface.w;
-	size_t h = surface.h;
 
 	if (w != frame.width || h != frame.height)
 		return false;
@@ -371,6 +384,11 @@ void CachedMToon::loadRLEFrames(const Common::Array<uint8> &data) {
 
 		size_t baseOffset = frameDef.dataOffset;
 
+		if (frameDef.compressedSize == 0) {
+			rleFrame.isKeyframe = (i == 0);	// ???
+			continue;
+		}
+
 		if (frameDef.compressedSize < 20)
 			error("Invalid compressed data size");
 


Commit: 6100b7259a2b67b1fad9804f38be380f869ee2c2
    https://github.com/scummvm/scummvm/commit/6100b7259a2b67b1fad9804f38be380f869ee2c2
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T03:21:32-05:00

Commit Message:
VCRUISE: Fix inventory not rendering after cutscene.

Changed paths:
    engines/vcruise/runtime.cpp


diff --git a/engines/vcruise/runtime.cpp b/engines/vcruise/runtime.cpp
index 14d81c26a3a..54d3fc9a7b5 100644
--- a/engines/vcruise/runtime.cpp
+++ b/engines/vcruise/runtime.cpp
@@ -2216,7 +2216,7 @@ void Runtime::terminateScript() {
 			return;
 	}
 
-	drawCompass();
+	redrawTray();
 
 	if (exitToMenu && _gameState == kGameStateIdle) {
 		quitToMenu();
@@ -4669,7 +4669,9 @@ bool Runtime::isTrayVisible() const {
 		// This is important in some situations, e.g. after "reuniting" with Hannah in the lower temple, if you go left,
 		// a ghost will give you a key.  Since that animation has sound, you'll return to idle in that animation,
 		// which will keep the tray hidden because it has sound.
-		if (_gameID == GID_REAH && _loadedAnimationHasSound)
+		//
+		// Ignore this condition if we're at the last frame (fixes inventory not drawing after trading weights in Reah)
+		if (_gameID == GID_REAH && _loadedAnimationHasSound && _animDisplayingFrame != _animLastFrame)
 			return false;
 
 		// Don't display tray during the intro cinematic.


Commit: 4ad3d5dec76dcc1c1ae423377197196bc7facafb
    https://github.com/scummvm/scummvm/commit/4ad3d5dec76dcc1c1ae423377197196bc7facafb
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T03:22:48-05:00

Commit Message:
VCRUISE: Fix crash when executing music volume ramp while music is muted

Changed paths:
    engines/vcruise/runtime.cpp


diff --git a/engines/vcruise/runtime.cpp b/engines/vcruise/runtime.cpp
index 54d3fc9a7b5..3474dfb137c 100644
--- a/engines/vcruise/runtime.cpp
+++ b/engines/vcruise/runtime.cpp
@@ -3872,7 +3872,8 @@ void Runtime::updateSounds(uint32 timestamp) {
 			newVolume += static_cast<int32>(ramp);
 
 		if (newVolume != _musicVolume) {
-			_musicPlayer->setVolume(applyVolumeScale(newVolume));
+			if (_musicPlayer)
+				_musicPlayer->setVolume(applyVolumeScale(newVolume));
 			_musicVolume = newVolume;
 		}
 


Commit: 5096cb94caa1c2aaa85f95c89b0c861e51d69809
    https://github.com/scummvm/scummvm/commit/5096cb94caa1c2aaa85f95c89b0c861e51d69809
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T03:23:25-05:00

Commit Message:
VCRUISE: Fix music mute not persisting through save states

Changed paths:
    engines/vcruise/runtime.cpp


diff --git a/engines/vcruise/runtime.cpp b/engines/vcruise/runtime.cpp
index 3474dfb137c..72c97ed6fd2 100644
--- a/engines/vcruise/runtime.cpp
+++ b/engines/vcruise/runtime.cpp
@@ -5522,8 +5522,8 @@ void Runtime::restoreSaveGameSnapshot() {
 	_musicActive = mainState->musicActive;
 
 	if (_musicActive) {
-		bool musicMutedBeforeRestore = (_musicMute && _musicMuteDisabled);
-		bool musicMutedAfterRestore = (_musicMute && mainState->musicMuteDisabled);
+		bool musicMutedBeforeRestore = (_musicMute && !_musicMuteDisabled);
+		bool musicMutedAfterRestore = (_musicMute && !mainState->musicMuteDisabled);
 		bool isNewTrack = (_scoreTrack != mainState->scoreTrack);
 
 		_musicMuteDisabled = mainState->musicMuteDisabled;


Commit: 14bbdd064c79a04d3edc0f3a44454a356926f995
    https://github.com/scummvm/scummvm/commit/14bbdd064c79a04d3edc0f3a44454a356926f995
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T03:24:07-05:00

Commit Message:
MTROPOLIS: Fix list shuffle not shuffling the first element

Changed paths:
    engines/mtropolis/plugin/standard.cpp


diff --git a/engines/mtropolis/plugin/standard.cpp b/engines/mtropolis/plugin/standard.cpp
index 9521e25b661..fd148edd0cf 100644
--- a/engines/mtropolis/plugin/standard.cpp
+++ b/engines/mtropolis/plugin/standard.cpp
@@ -2915,8 +2915,8 @@ bool ListVariableModifier::readAttribute(MiniscriptThread *thread, DynamicValue
 
 		size_t listSize = storage->_list->getSize();
 		for (size_t i = 1; i < listSize; i++) {
-			size_t sourceIndex = i;
-			size_t destIndex = sourceIndex + rng->getRandomNumber(static_cast<uint>(listSize - 1 - i));
+			size_t sourceIndex = i - 1;
+			size_t destIndex = sourceIndex + rng->getRandomNumber(static_cast<uint>(listSize - i));
 			if (sourceIndex != destIndex) {
 				DynamicValue srcValue;
 				DynamicValue destValue;


Commit: 9e3f357264ecdd1e31c4e9243624a86d3a21e619
    https://github.com/scummvm/scummvm/commit/9e3f357264ecdd1e31c4e9243624a86d3a21e619
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2024-03-02T04:13:01-05:00

Commit Message:
NEWS: Add V-Cruise and mTropolis fix notes.  Fix mTropolis capitalization.

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index 13b23d276a0..61debc05cce 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -15,8 +15,9 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Added MT32/LAPC-1 support for Xeen engine.
    - Fixed Xeen regression which caused some sound effects to stop abruptly.
 
- MTROPOLIS:
+ mTropolis:
    - Fixed crash in Muppet Treasure Island on some platforms.
+   - Fixed jewel puzzle in Muppet Treasure Island not being randomized.
 
  NANCY:
    - Fixed the telephone hints in Secrets Can Kill.
@@ -47,6 +48,10 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Fix Ultima VIII invalid placement of items within containers.
    - Fix Ultima VIII never-ending lava sounds.
 
+ V-Cruise:
+   - Fixed crash in Reah: Face the Unknown and Schizm: Mysterious Journey
+     when music is muted.
+
  Android port:
    - Fixed crash in built-in help with German language.
 




More information about the Scummvm-git-logs mailing list