[Scummvm-git-logs] scummvm master -> c71c4949c10cde46845d25b4b511434c3cf1941d
sev-
noreply at scummvm.org
Mon Aug 4 18:36:07 UTC 2025
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
aebceba712 DIRECTOR: Fix reading castId in `Script::read()`
f504c55491 DIRECTOR: Dump Scripts with names more consistent with ProjectorRays
c71c4949c1 DIRECTOR: Change default script type while dumping scripts
Commit: aebceba712c3f072fea8a8308cff070e33de570e
https://github.com/scummvm/scummvm/commit/aebceba712c3f072fea8a8308cff070e33de570e
Author: Malhar (themalharbdv2046 at gmail.com)
Date: 2025-08-04T20:36:03+02:00
Commit Message:
DIRECTOR: Fix reading castId in `Script::read()`
Changed paths:
engines/director/lingo/lingodec/script.cpp
engines/director/lingo/lingodec/script.h
diff --git a/engines/director/lingo/lingodec/script.cpp b/engines/director/lingo/lingodec/script.cpp
index 77949bb2ae1..1f48ccf09f9 100644
--- a/engines/director/lingo/lingodec/script.cpp
+++ b/engines/director/lingo/lingodec/script.cpp
@@ -36,7 +36,8 @@ void Script::read(Common::SeekableReadStream &stream) {
stream.seek(38);
/* 38 */ scriptFlags = stream.readUint32BE();
/* 42 */ unk42 = stream.readSint16BE();
- /* 44 */ castID = stream.readSint32BE();
+ /* 44 */ unk43 = stream.readSint16BE();
+ /* 46 */ castID = stream.readSint16BE();
/* 48 */ factoryNameID = stream.readSint16BE();
/* 50 */ handlerVectorsCount = stream.readUint16BE();
/* 52 */ handlerVectorsOffset = stream.readUint32BE();
diff --git a/engines/director/lingo/lingodec/script.h b/engines/director/lingo/lingodec/script.h
index 53cb6bcdbd7..591857c6124 100644
--- a/engines/director/lingo/lingodec/script.h
+++ b/engines/director/lingo/lingodec/script.h
@@ -45,7 +45,8 @@ struct Script {
/* 38 */ uint32 scriptFlags;
/* 42 */ int16 unk42;
- /* 44 */ int32 castID;
+ /* 44 */ int16 unk43;
+ /* 46 */ int16 castID;
/* 48 */ int16 factoryNameID;
/* 50 */ uint16 handlerVectorsCount;
/* 52 */ uint32 handlerVectorsOffset;
Commit: f504c55491da2e3f34afdf6bbf33bce0e5e0162d
https://github.com/scummvm/scummvm/commit/f504c55491da2e3f34afdf6bbf33bce0e5e0162d
Author: Malhar (themalharbdv2046 at gmail.com)
Date: 2025-08-04T20:36:03+02:00
Commit Message:
DIRECTOR: Dump Scripts with names more consistent with ProjectorRays
Changed paths:
engines/director/cast.cpp
engines/director/util.cpp
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index fb8bb4808f9..c6f1aa3a853 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -1635,11 +1635,11 @@ void Cast::loadLingoContext(Common::SeekableReadStreamEndian &stream) {
}
}
- // FIXME: castID is set incorrectly for D5+
- Common::Path lingoPath(dumpScriptName(encodePathForDump(_macName).c_str(), scriptType, it->second->castID, "lingo"));
+ Common::String filename = encodePathForDump(_macName);
+ Common::Path lingoPath(dumpScriptName(filename.c_str(), scriptType, it->second->castID, "lingo"));
if (out.open(lingoPath, true)) {
- Common::String decompiled = it->second->scriptText("\n", true);
+ Common::String decompiled = it->second->scriptText("\n", false);
out.writeString(decompiled);
out.flush();
out.close();
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 0e5b04a48b0..24d36ed02e2 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -1152,22 +1152,22 @@ Common::Path dumpScriptName(const char *prefix, int type, int id, const char *ex
switch (type) {
case kNoneScript:
- typeName = "unknown";
+ typeName = "UnknownScript";
break;
case kMovieScript:
- typeName = "movie";
+ typeName = "MovieScript";
break;
case kCastScript:
- typeName = "cast";
+ typeName = "CastScript";
break;
case kEventScript:
- typeName = "event";
+ typeName = "EventScript";
break;
case kScoreScript:
- typeName = "score";
+ typeName = "ScoreScript";
break;
case kParentScript:
- typeName = "parent";
+ typeName = "ParentScript";
break;
default:
error("dumpScriptName(): Incorrect call (type %d)", type);
Commit: c71c4949c10cde46845d25b4b511434c3cf1941d
https://github.com/scummvm/scummvm/commit/c71c4949c10cde46845d25b4b511434c3cf1941d
Author: Malhar (themalharbdv2046 at gmail.com)
Date: 2025-08-04T20:36:03+02:00
Commit Message:
DIRECTOR: Change default script type while dumping scripts
If a cast member associated with a script is not a Script Cast member
type, then the script is a CastScript, not a MovieScript
Changed paths:
engines/director/cast.cpp
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index c6f1aa3a853..a68ecbb35e3 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -1626,12 +1626,14 @@ void Cast::loadLingoContext(Common::SeekableReadStreamEndian &stream) {
if (ConfMan.getBool("dump_scripts")) {
for (auto it = _lingodec->scripts.begin(); it != _lingodec->scripts.end(); ++it) {
Common::DumpFile out;
- ScriptType scriptType = kMovieScript;
+ ScriptType scriptType = kNoneScript;
if (_loadedCast->contains(it->second->castID)) {
CastMember *member = _loadedCast->getVal(it->second->castID);
if (member && member->_type == kCastLingoScript) {
scriptType = ((ScriptCastMember *)member)->_scriptType;
+ } else {
+ scriptType = kCastScript;
}
}
More information about the Scummvm-git-logs
mailing list