[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