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

sev- noreply at scummvm.org
Wed Aug 5 09:30:52 UTC 2026


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

Summary:
1108387043 DIRECTOR: Fix trail sprites erased by tween-flag dirtying
b4e08769b3 DIRECTOR: Keep 0x0 digital-video sprites invisible


Commit: 110838704325aa8c3cfea82101bef39296930545
    https://github.com/scummvm/scummvm/commit/110838704325aa8c3cfea82101bef39296930545
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-08-05T11:30:47+02:00

Commit Message:
DIRECTOR: Fix trail sprites erased by tween-flag dirtying

The channel dirty check compared the raw _thickness byte, so toggling
only the tween bit (kTTweened) dirtied the channel and triggered a stage
erase that wiped un-owned trail residue. Mask to kTThickness so the
tween flag alone no longer dirties the channel.

Changed paths:
    engines/director/channel.cpp


diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index ada056cfea8..73a8e877666 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -304,7 +304,8 @@ bool Channel::isDirty(Sprite *nextSprite) {
 		isDirtyFlag |= _sprite->_castId != nextSprite->_castId ||
 			_sprite->_ink != nextSprite->_ink || _sprite->_backColor != nextSprite->_backColor ||
 			_sprite->_foreColor != nextSprite->_foreColor ||
-			_sprite->_blendAmount != nextSprite->_blendAmount || _sprite->_thickness != nextSprite->_thickness;
+			_sprite->_blendAmount != nextSprite->_blendAmount ||
+			(_sprite->_thickness & kTThickness) != (nextSprite->_thickness & kTThickness);
 		if (!_sprite->_moveable)
 			isDirtyFlag |= _sprite->getPosition() != nextSprite->getPosition();
 		if (isStretched() && !hasTextCastMember(_sprite))


Commit: b4e08769b39efb1a90a40fe7116b7dc08f529a20
    https://github.com/scummvm/scummvm/commit/b4e08769b39efb1a90a40fe7116b7dc08f529a20
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-08-05T11:30:47+02:00

Commit Message:
DIRECTOR: Keep 0x0 digital-video sprites invisible

setSpriteCasts() resets a non-stretched score sprite to its cast's
dimensions; for a digital video that forced an intentionally 0x0
(invisible) sprite to the native movie size, drawing it where the score
meant nothing. Skip the resize when the video sprite is 0x0.

Changed paths:
    engines/director/sprite.cpp


diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index 5aa96c6fa79..cd001b885a9 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -630,6 +630,14 @@ void Sprite::setCast(CastMemberID memberID, bool replaceDims) {
 			case kCastShape:
 			case kCastText:
 				break;
+			case kCastDigitalVideo:
+				// A video the score sizes to 0x0 is intentionally invisible (a
+				// hidden timing/audio clock); keep it, don't force native size.
+				if (_width > 0 && _height > 0) {
+					_width = dims.width();
+					_height = dims.height();
+				}
+				break;
 			case kCastBitmap:
 			default:
 				_width = dims.width();




More information about the Scummvm-git-logs mailing list