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

rvanlaar roland at rolandvanlaar.nl
Fri Jul 31 22:12:11 UTC 2020


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:
f6c0641853 DIRECTOR: Read D3 DigitalVideo


Commit: f6c064185313b6ca1f687b79a3bc07d16e96b778
    https://github.com/scummvm/scummvm/commit/f6c064185313b6ca1f687b79a3bc07d16e96b778
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2020-08-01T00:11:51+02:00

Commit Message:
DIRECTOR: Read D3 DigitalVideo

The following cast options were found to change the flag (12th byte):

Center:           0x01
Scale:            0x02
Sound:            0x08
Loop:             0x10
Direct To Stage   0x20
  Use Controller  0x40

Include comment that bytes 4-7 look like rect information.
However it's bytes and the height would be 0.

Changed paths:
    engines/director/castmember.cpp


diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 937a90578c..cf77d21f2f 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -235,22 +235,33 @@ DigitalVideoCastMember::DigitalVideoCastMember(Cast *cast, uint16 castId, Common
 	_type = kCastDigitalVideo;
 
 	if (version < 4) {
-		warning("STUB: DigitalVideoCastMember: unhandled properties data");
-		for (int i = 0; i < 0xc; i++) {
-			stream.readByte();
-		}
+		warning("STUB: DigitalVideoCastMember: unhandled rect data");
+		if (debugChannelSet(5, kDebugLoading))
+			stream.hexdump(stream.size());
+		for (int i = 0; i < 0x4; i++)
+			stream.readByte(); // 0
+
+		for (int i = 0; i < 0x4; i++)
+			stream.readByte(); // looks rect like, but as bytes not uint16.
+
+		for ( int i = 0; i < 0x3; i++)
+			stream.readByte(); // 0
+
 		_frameRate = 12;
 		_frameRateType = kFrameRateDefault;
 
 		_preload = false;
 		_enableVideo = false;
 		_pausedAtStart = false;
-		_showControls = false;
-		_looping = false;
-		_enableSound = false;
-		_crop = false;
-		_center = false;
-		_directToStage = true;
+
+		byte flag = stream.readByte();
+
+		_showControls = flag & 0x40;
+		_looping = flag & 0x10;
+		_enableSound = flag & 0x08;
+		_crop = !(flag & 0x02);
+		_center = flag & 0x01;
+		_directToStage = flag & 0x20;
 	} else {
 		stream.readByte();
 		_initialRect = Movie::readRect(stream);




More information about the Scummvm-git-logs mailing list