[Scummvm-git-logs] scummvm master -> 9d7fc01ba07f2d622e26d9847355c6ce9181b57b

moralrecordings noreply at scummvm.org
Wed Jan 31 03:32:38 UTC 2024


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

Summary:
9d7fc01ba0 DIRECTOR: Re-add sprite copy before applying delta frames


Commit: 9d7fc01ba07f2d622e26d9847355c6ce9181b57b
    https://github.com/scummvm/scummvm/commit/9d7fc01ba07f2d622e26d9847355c6ce9181b57b
Author: Scott Percival (code at moral.net.au)
Date: 2024-01-31T11:31:28+08:00

Commit Message:
DIRECTOR: Re-add sprite copy before applying delta frames

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 84f436fd1c3..1c9919fe8c3 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -413,6 +413,13 @@ void Score::updateCurrentFrame() {
 	}
 
 	if (_curFrameNumber != nextFrameNumberToLoad) {
+		// Load the current sprite information into the _currentFrame data store.
+		// This is specifically because of delta updates; loading the next frame
+		// in the score applies delta changes to _currentFrame, and ideally we want
+		// those deltas to be applied over the top of whatever the current state is.
+		for (uint ch = 0; ch < _channels.size(); ch++)
+			*_currentFrame->_sprites[ch] = *_channels[ch]->_sprite;
+
 		// this copies in the frame data and updates _curFrameNumber
 		loadFrame(nextFrameNumberToLoad, true);
 	}




More information about the Scummvm-git-logs mailing list