[Scummvm-git-logs] scummvm master -> 62535672bb5588db5b8ca8a4168aaaee3d4ce7f2
sev-
noreply at scummvm.org
Thu May 21 23:29:07 UTC 2026
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:
62535672bb DIRECTOR: Config loading for D1/D2
Commit: 62535672bb5588db5b8ca8a4168aaaee3d4ce7f2
https://github.com/scummvm/scummvm/commit/62535672bb5588db5b8ca8a4168aaaee3d4ce7f2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-05-22T01:28:38+02:00
Commit Message:
DIRECTOR: Config loading for D1/D2
Changed paths:
engines/director/cast.cpp
engines/director/detection.cpp
engines/director/types.h
engines/director/util.cpp
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 27bba9a6f27..010210e1bd2 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -321,7 +321,9 @@ void Cast::loadArchive() {
void configLenSanityCheck(uint16 len, uint16 fileVersion) {
int tlen = -1;
- if (fileVersion < kFileVer300) {
+ if (fileVersion < kFileVer200) {
+ tlen = 28; // D1
+ } else if (fileVersion < kFileVer300) {
tlen = 30; // D2
} else if (fileVersion < kFileVer400) {
tlen = 48; // D3
@@ -481,6 +483,8 @@ bool Cast::loadConfig() {
debugC(1, kDebugLoading, "Cast::loadConfig(): field17: %d, field18: %d, field19: %d, movieDepth: %d, field22: %d field23: %d",
_field17, _field18, _field19, _movieDepth, _field22, _field23);
+ } else {
+ _movieDepth = _bitdepth; // D2 and below
}
if (_version >= kFileVer400) {
diff --git a/engines/director/detection.cpp b/engines/director/detection.cpp
index 75ce4715f49..94a25fb560a 100644
--- a/engines/director/detection.cpp
+++ b/engines/director/detection.cpp
@@ -388,7 +388,7 @@ ADDetectedGame DirectorMetaEngineDetection::fallbackDetect(const FileMap &allFil
case MKTAG('V', 'W', 'Z', 'P'): // VideoWorks + Director Overview ("Zorro")
desc->version = 20;
break;
- case MKTAG('V', 'W', 'P', 'R'): // "VideoWorks Pro" = Director
+ case MKTAG('V', 'W', 'P', 'R'): // "VideoWorks Pro" = Director 1.0 / 2.0
desc->version = 100;
break;
case MKTAG('V', 'W', 'M', 'D'): // Director 3.0
diff --git a/engines/director/types.h b/engines/director/types.h
index 7f6da12b2f3..17d84185893 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -358,6 +358,8 @@ enum ChunkType {
};
enum FileVer {
+ kFileVer100 = 0x3ff,
+ kFileVer200 = 0x400,
kFileVer300 = 0x404,
kFileVer310 = 0x405,
kFileVer400 = 0x45B,
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 65d6e7c4b7d..43903f030d0 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -1319,7 +1319,9 @@ uint16 humanVersion(uint16 ver) {
return 310;
if (ver >= kFileVer300)
return 300;
- return 200;
+ if (ver >= kFileVer200)
+ return 200;
+ return 100;
}
Common::Platform platformFromID(uint16 id) {
More information about the Scummvm-git-logs
mailing list