[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