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

sev- noreply at scummvm.org
Fri Sep 5 16:19:08 UTC 2025


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

Summary:
6ce441dd6e DIRECTOR: DT: Fix warning
d79832c770 DIRECTOR: DT: Fixed sprite ranges when Score is paginated
714e1494f1 DIRECTOR: Clear top bit from thickness when reading
cfa2622355 DIRECTOR: DT: Add code for debugging continuation frames


Commit: 6ce441dd6ea469b6558ab2601c4b163d548b5511
    https://github.com/scummvm/scummvm/commit/6ce441dd6ea469b6558ab2601c4b163d548b5511
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-05T18:18:57+02:00

Commit Message:
DIRECTOR: DT: Fix warning

Changed paths:
    engines/director/debugger/dt-script-d4.cpp


diff --git a/engines/director/debugger/dt-script-d4.cpp b/engines/director/debugger/dt-script-d4.cpp
index 81e218d0363..9bf5336c5d8 100644
--- a/engines/director/debugger/dt-script-d4.cpp
+++ b/engines/director/debugger/dt-script-d4.cpp
@@ -1249,7 +1249,6 @@ private:
 	bool _isScriptInDebug = false;
 	int _renderLineID = 1;
 	bool _scrollTo = false;
-	bool _scrollDone = false;
 };
 
 void renderScriptAST(ImGuiScript &script, bool showByteCode, bool scrollTo) {


Commit: d79832c770534104aa9bdcbf0daa35862b507302
    https://github.com/scummvm/scummvm/commit/d79832c770534104aa9bdcbf0daa35862b507302
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-05T18:18:57+02:00

Commit Message:
DIRECTOR: DT: Fixed sprite ranges when Score is paginated

Changed paths:
    engines/director/debugger/dt-score.cpp


diff --git a/engines/director/debugger/dt-score.cpp b/engines/director/debugger/dt-score.cpp
index 81730f808a8..b91e38eaac0 100644
--- a/engines/director/debugger/dt-score.cpp
+++ b/engines/director/debugger/dt-score.cpp
@@ -156,7 +156,8 @@ static void displayScoreChannel(int ch, int mode, int modeSel) {
 	numFrames = MIN<uint>(numFrames, kMaxColumnsInTable - 2);
 
 	for (int f = 0; f < (int)numFrames; f++) {
-		Frame &frame = *score->_scoreCache[f + _state->_scoreFrameOffset - 1];
+		int rf = f + _state->_scoreFrameOffset - 1;
+		Frame &frame = *score->_scoreCache[rf];
 		Sprite &sprite = *frame._sprites[ch];
 
 		_state->_colors._contColorIndex = frame._sprites[ch]->_colorcode & 0x07;
@@ -165,10 +166,10 @@ static void displayScoreChannel(int ch, int mode, int modeSel) {
 
 		ImGui::TableNextColumn();
 
-		int startCont = _state->_continuationData[ch][f].first;
-		int endCont = _state->_continuationData[ch][f].second;
+		int startCont = _state->_continuationData[ch][rf].first;
+		int endCont = _state->_continuationData[ch][rf].second;
 
-		if (f + _state->_scoreFrameOffset == (int)currentFrameNum)
+		if (rf + 1 == (int)currentFrameNum)
 			ImGui::TableSetBgColor(ImGuiTableBgTarget_CellBg, cell_bg_color);
 
 		if (f == _state->_selectedScoreCast.frame + _state->_scoreFrameOffset - 1 &&
@@ -198,8 +199,8 @@ static void displayScoreChannel(int ch, int mode, int modeSel) {
 		ImGui::PushID((ch + 10 - mode) * 10000 + f);
 
 		// If the frame is not the start, then don't render any text
-		if (f != startCont || !(sprite._castId.member || sprite.isQDShape())) {
-			if (f == endCont && sprite._castId.member && mode == _state->_scoreMode) {
+		if (rf != startCont || !(sprite._castId.member || sprite.isQDShape())) {
+			if (rf == endCont && sprite._castId.member && mode == _state->_scoreMode) {
 				ImGui::PushFont(ImGui::GetIO().FontDefault);
 				ImGui::TextUnformatted("\uf819");
 				ImGui::PopFont();


Commit: 714e1494f1e10cbd31b2470dfc7ae5a1b2c3a418
    https://github.com/scummvm/scummvm/commit/714e1494f1e10cbd31b2470dfc7ae5a1b2c3a418
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-05T18:18:57+02:00

Commit Message:
DIRECTOR: Clear top bit from thickness when reading

It contains unreliable flag of keyframe. We recompute it anyway

Changed paths:
    engines/director/frame.cpp


diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 3ea677d4679..a3a75f19cc5 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -338,7 +338,7 @@ void readSpriteDataD2(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 			if (sprite._puppet) {
 				stream.readByte();
 			} else {
-				sprite._thickness = stream.readByte();
+				sprite._thickness = stream.readByte() & 0x7f;
 			}
 			break;
 		case 5:
@@ -688,7 +688,7 @@ void readSpriteDataD4(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 			if (sprite._puppet) {
 				stream.readByte();
 			} else {
-				sprite._thickness = stream.readByte();
+				sprite._thickness = stream.readByte() & 0x7f;
 			}
 			break;
 		case 5:
@@ -1142,7 +1142,7 @@ void readSpriteDataD5(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 			if (sprite._puppet) {
 				stream.readByte();
 			} else {
-				sprite._thickness = stream.readByte();
+				sprite._thickness = stream.readByte() & 0x7f;
 			}
 			break;
 		case 23:
@@ -1601,7 +1601,7 @@ void readSpriteDataD6(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 			if (sprite._puppet) {
 				stream.readByte();
 			} else {
-				sprite._thickness = stream.readByte();
+				sprite._thickness = stream.readByte() & 0x7f;
 			}
 			break;
 		case 23:
@@ -2054,7 +2054,7 @@ void readSpriteDataD7(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 			if (sprite._puppet) {
 				stream.readByte();
 			} else {
-				sprite._thickness = stream.readByte();
+				sprite._thickness = stream.readByte() & 0x7f;
 			}
 			break;
 		case 23:


Commit: cfa262235539d782b0308a365235e67f86f9399b
    https://github.com/scummvm/scummvm/commit/cfa262235539d782b0308a365235e67f86f9399b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-05T18:18:57+02:00

Commit Message:
DIRECTOR: DT: Add code for debugging continuation frames

Changed paths:
    engines/director/debugger/dt-score.cpp


diff --git a/engines/director/debugger/dt-score.cpp b/engines/director/debugger/dt-score.cpp
index b91e38eaac0..313a71b53ce 100644
--- a/engines/director/debugger/dt-score.cpp
+++ b/engines/director/debugger/dt-score.cpp
@@ -80,6 +80,25 @@ static void buildContinuationData() {
 			}
 
 			_state->_continuationData[ch][f].first = currentContinuation;
+
+#if 0
+			if (ch == 3 && prevSprite && f >= 20 && f < 49) {
+				warning("%02d: st: %d cid: %d sp: %d w: %d h: %d i: %d f: %d b: %d bl: %d in: %d t: %d",
+					f,
+					prevSprite->_spriteType == sprite._spriteType,
+					prevSprite->_castId == sprite._castId,
+					prevSprite->_startPoint == sprite._startPoint,
+					prevSprite->_width == sprite._width,
+					prevSprite->_height == sprite._height,
+					prevSprite->_ink == sprite._ink,
+					prevSprite->_foreColor == sprite._foreColor,
+					prevSprite->_backColor == sprite._backColor,
+					prevSprite->_blendAmount == sprite._blendAmount,
+					prevSprite->_ink == sprite._ink,
+					prevSprite->_thickness == sprite._thickness
+				);
+			}
+#endif
 		}
 
 		currentContinuation = 1;




More information about the Scummvm-git-logs mailing list