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

sev- noreply at scummvm.org
Tue Aug 26 22:50:13 UTC 2025


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

Summary:
a200d0421c DIRECTOR: Implemented writeSpriteDataD6()


Commit: a200d0421c4803c8a49acef090b9a973e961dc9d
    https://github.com/scummvm/scummvm/commit/a200d0421c4803c8a49acef090b9a973e961dc9d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-27T00:49:54+02:00

Commit Message:
DIRECTOR: Implemented writeSpriteDataD6()

Changed paths:
    engines/director/frame.cpp


diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 6ae71e145c5..3b8117f4b1b 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -1155,7 +1155,7 @@ void readSpriteDataD5(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 }
 
 void writeSpriteDataD5(Common::SeekableWriteStream *writeStream, Sprite &sprite) {
-	// Writing 20 bytes of sprite data
+	// Writing 24 bytes of sprite data
 	// The original data for a certain sprite might be less
 	writeStream->writeByte(sprite._spriteType);			// 0
 
@@ -1378,7 +1378,29 @@ void readSpriteDataD6(Common::SeekableReadStreamEndian &stream, Sprite &sprite,
 }
 
 void writeSpriteDataD6(Common::SeekableWriteStream *writeStream, Sprite &sprite) {
-	warning("STUB: writeSpriteDataD6()");
+	// Writing 24 bytes of sprite data
+	// The original data for a certain sprite might be less
+	writeStream->writeByte(sprite._spriteType);			// 0
+
+	if (sprite._puppet) {
+		for (int i = 1; i < kSprChannelSizeD6; i++)
+			writeStream->writeByte(0);
+	} else {
+		writeStream->writeByte(sprite._inkData);				// 1
+		writeStream->writeByte(sprite._foreColor);				// 2
+		writeStream->writeByte(sprite._backColor);				// 3
+		writeStream->writeSint16BE(sprite._castId.castLib);		// 4, 5
+		writeStream->writeUint16BE(sprite._castId.member);		// 6, 7
+		writeStream->writeUint32BE(sprite._spriteListIdx);		// 8, 9, 10, 11
+		writeStream->writeUint16BE(sprite._startPoint.y);		// 12, 13
+		writeStream->writeUint16BE(sprite._startPoint.x);		// 14, 15
+		writeStream->writeUint16BE(sprite._height);				// 16, 17
+		writeStream->writeUint16BE(sprite._width);				// 18, 19
+		writeStream->writeByte(sprite._colorcode);				// 20
+		writeStream->writeByte(sprite._blendAmount);			// 21
+		writeStream->writeByte(sprite._thickness);				// 22
+		writeStream->writeByte(0);								// 23, unused
+	}
 }
 
 /**************************




More information about the Scummvm-git-logs mailing list