[Scummvm-git-logs] scummvm master -> f07c7311d580fd25004eae5dd35eebc938614806
sev-
noreply at scummvm.org
Tue Mar 15 20:07:47 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
37c7430864 JANITORIAL: Remove trailing whitespaces
f07c7311d5 DIRECTOR: Implement Sord chunk loading (not used by ScummVM)
Commit: 37c74308641231138df666968aa219b391116207
https://github.com/scummvm/scummvm/commit/37c74308641231138df666968aa219b391116207
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-03-15T21:05:51+01:00
Commit Message:
JANITORIAL: Remove trailing whitespaces
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 2e723c08be8..f48cbbb3283 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -317,7 +317,7 @@ void Score::update() {
if (_waitForChannel) {
if (_soundManager->isChannelActive(_waitForChannel)) {
- keepWaiting = true;
+ keepWaiting = true;
} else {
_waitForChannel = 0;
}
@@ -936,7 +936,7 @@ void Score::loadLabels(Common::SeekableReadStreamEndian &stream) {
ch = '\n';
comment += ch;
}
-
+
label = _movie->getCast()->decodeString(label).encode(Common::kUtf8);
_labels->insert(new Label(label, frame, comment));
Commit: f07c7311d580fd25004eae5dd35eebc938614806
https://github.com/scummvm/scummvm/commit/f07c7311d580fd25004eae5dd35eebc938614806
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-03-15T21:07:15+01:00
Commit Message:
DIRECTOR: Implement Sord chunk loading (not used by ScummVM)
Changed paths:
engines/director/cast.cpp
engines/director/cast.h
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 22be9ea352a..2158680c85c 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -459,7 +459,8 @@ void Cast::loadCast() {
// Score Order List resources
if (_castArchive->hasResource(MKTAG('S', 'o', 'r', 'd'), -1)) {
- debug("STUB: Unhandled 'Sord' resource");
+ loadSord(*(r = _castArchive->getFirstResource(MKTAG('S', 'o', 'r', 'd'))));
+ delete r;
}
// Now process STXTs
@@ -1318,4 +1319,34 @@ Common::U32String Cast::decodeString(const Common::String &str) {
return fixedStr.decode(encoding);
}
+// Score order, 'Sord' resource
+//
+// Enlists all cast members as they're used in the movie
+// It is used for more effective preloading
+//
+// And as such, not currently used by the ScummVM
+void Cast::loadSord(Common::SeekableReadStreamEndian &stream) {
+ stream.readUint32();
+ stream.readUint32();
+ stream.readUint32();
+ stream.readUint32();
+ stream.readUint16();
+ stream.readUint16();
+
+ uint numEntries = 0;
+ uint16 castLibId = 0; // default for pre-D5
+ uint16 memberId;
+ while (!stream.eos()) {
+
+ if (_version >= kFileVer500)
+ castLibId = stream.readUint16LE();
+
+ memberId = stream.readUint16LE();
+
+ numEntries++;
+ }
+
+ debugC(1, kDebugLoading, "Cast::loadSord(): number of entries: %d", numEntries);
+}
+
} // End of namespace Director
diff --git a/engines/director/cast.h b/engines/director/cast.h
index a0ee88a83f8..5c018ece68c 100644
--- a/engines/director/cast.h
+++ b/engines/director/cast.h
@@ -83,6 +83,7 @@ public:
void loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id);
void loadLingoContext(Common::SeekableReadStreamEndian &stream);
void loadExternalSound(Common::SeekableReadStreamEndian &stream);
+ void loadSord(Common::SeekableReadStreamEndian &stream);
void loadCastChildren();
void loadSoundCasts();
More information about the Scummvm-git-logs
mailing list