[Scummvm-git-logs] scummvm master -> 037eee36fddc70294d0cbc0bb813a9cf3de3299c
sev-
noreply at scummvm.org
Sun Aug 31 21:01:28 UTC 2025
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
557e1267b9 DIRECTOR: Improved debug output on loading
89f78aa80e DIRECTOR: Load TextCastMembers for D6+
66a48559fd DIRECTOR: Clarified CastInfo for RTE resources
87f8f12b15 COMMON: Added toString() methods for Common::Point and Common::Rect
037eee36fd DIRECTOR: Improve debug output on loading
Commit: 557e1267b9ff98635bd95a8ceafcdaf44e6c7f98
https://github.com/scummvm/scummvm/commit/557e1267b9ff98635bd95a8ceafcdaf44e6c7f98
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-31T23:01:07+02:00
Commit Message:
DIRECTOR: Improved debug output on loading
Changed paths:
engines/director/cast.cpp
engines/director/score.cpp
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 8dc766ad01e..81e43ae97b6 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -1893,16 +1893,16 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
} else {
ci->imageQuality = READ_BE_INT32(castInfo.strings[21].data);
- dumpS = Common::String::format("imageQuality: %d (0x%08X) ", ci->imageQuality, ci->imageQuality) + dumpS;
+ dumpS = Common::String::format("imageQuality: %d (0x%08X), ", ci->imageQuality, ci->imageQuality) + dumpS;
}
// fallthrough
case 20:
ci->comments = castInfo.strings[20].readString();
- dumpS = Common::String::format("comments: '%s' ", ci->comments.c_str()) + dumpS;
+ dumpS = Common::String::format("comments: '%s', ", ci->comments.c_str()) + dumpS;
// fallthrough
case 19:
ci->modifiedBy = castInfo.strings[19].readString();
- dumpS = Common::String::format("modifiedBy: '%s' ", ci->modifiedBy.c_str()) + dumpS;
+ dumpS = Common::String::format("modifiedBy: '%s', ", ci->modifiedBy.c_str()) + dumpS;
// fallthrough
case 18:
if (castInfo.strings[18].len != 4) {
@@ -1910,7 +1910,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
Common::hexdump(castInfo.strings[18].data, castInfo.strings[18].len);
} else {
ci->modifiedTime = READ_BE_INT32(castInfo.strings[18].data);
- dumpS = Common::String::format("modifiedTime: %d (0x%08X) ", ci->modifiedTime, ci->modifiedTime) + dumpS;
+ dumpS = Common::String::format("modifiedTime: %d (0x%08X), ", ci->modifiedTime, ci->modifiedTime) + dumpS;
}
// fallthrough
case 17:
@@ -1919,12 +1919,12 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
Common::hexdump(castInfo.strings[17].data, castInfo.strings[17].len);
} else {
ci->creationTime = READ_BE_INT32(castInfo.strings[17].data);
- dumpS = Common::String::format("creationTime: %d (0x%08X) ", ci->creationTime, ci->creationTime) + dumpS;
+ dumpS = Common::String::format("creationTime: %d (0x%08X), ", ci->creationTime, ci->creationTime) + dumpS;
}
// fallthrough
case 16:
ci->mediaFormatName = castInfo.strings[2].readString();
- dumpS = Common::String::format("mediaFormatName: '%s' ", ci->mediaFormatName.c_str()) + dumpS;
+ dumpS = Common::String::format("mediaFormatName: '%s', ", ci->mediaFormatName.c_str()) + dumpS;
// fallthrough
case 15:
if (castInfo.strings[15].len) {
@@ -1933,7 +1933,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
Common::hexdump(castInfo.strings[15].data, castInfo.strings[15].len);
} else {
memcpy(ci->guid, castInfo.strings[15].data, 16);
- dumpS = "guid: <data> " + dumpS;
+ dumpS = "guid: <data>, " + dumpS;
}
}
// fallthrough
@@ -1943,7 +1943,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
Common::hexdump(castInfo.strings[14].data, castInfo.strings[14].len);
ci->dvWindowInfo = Common::Array<byte>(castInfo.strings[14].data, castInfo.strings[14].len);
- dumpS = "dvWindowInfo: <data> " + dumpS;
+ dumpS = "dvWindowInfo: <data>, " + dumpS;
}
// fallthrough
case 13:
@@ -1952,7 +1952,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
ci->scriptRect = Movie::readRect(*entryStream);
delete entryStream;
- dumpS = Common::String::format("scriptRect: [%d,%d,%d,%d] ", ci->scriptRect.left, ci->scriptRect.top, ci->scriptRect.right, ci->scriptRect.bottom) + dumpS;
+ dumpS = Common::String::format("scriptRect: [%d,%d,%d,%d], ", ci->scriptRect.left, ci->scriptRect.top, ci->scriptRect.right, ci->scriptRect.bottom) + dumpS;
}
// fallthrough
case 12:
@@ -1964,7 +1964,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
ci->xtraRect.bottom = READ_BE_INT32(castInfo.strings[12].data + 8);
ci->xtraRect.right = READ_BE_INT32(castInfo.strings[12].data + 12);
- dumpS = "xtraRect: <data> " + dumpS;
+ dumpS = "xtraRect: <data>, " + dumpS;
}
// fallthrough
case 11:
@@ -1972,14 +1972,14 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
warning("Cast::loadCastInfo(): BUILDBOT: bptable for castid %d", id);
Common::hexdump(castInfo.strings[11].data, castInfo.strings[11].len);
ci->bpTable = Common::Array<byte>(castInfo.strings[11].data, castInfo.strings[11].len);
- dumpS = "bpTable: <data> " + dumpS;
+ dumpS = "bpTable: <data>, " + dumpS;
}
// fallthrough
case 10:
if (castInfo.strings[10].len) {
Common::hexdump(castInfo.strings[10].data, castInfo.strings[10].len);
ci->xtraDisplayName = castInfo.strings[10].readString(false); // C string
- dumpS = Common::String::format("xtraDisplayName: '%s' ", ci->xtraDisplayName.c_str()) + dumpS;
+ dumpS = Common::String::format("xtraDisplayName: '%s', ", ci->xtraDisplayName.c_str()) + dumpS;
}
// fallthrough
case 9:
@@ -1989,7 +1989,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
Common::hexdump(castInfo.strings[9].data, castInfo.strings[9].len);
} else {
memcpy(ci->xtraGuid, castInfo.strings[9].data, 16);
- dumpS = "xtraGUID: <data> " + dumpS;
+ dumpS = "xtraGUID: <data>, " + dumpS;
}
}
// fallthrough
@@ -1998,7 +1998,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
entryStream = new Common::MemoryReadStreamEndian(castInfo.strings[8].data, castInfo.strings[8].len, stream.isBE());
ci->rteEditInfo.read(entryStream);
delete entryStream;
- dumpS = Common::String::format("rteEditInfo: { %s } ", ci->rteEditInfo.toString().c_str()) + dumpS;
+ dumpS = Common::String::format("rteEditInfo: { %s }, ", ci->rteEditInfo.toString().c_str()) + dumpS;
}
// fallthrough
case 7:
@@ -2006,7 +2006,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
entryStream = new Common::MemoryReadStreamEndian(castInfo.strings[7].data, castInfo.strings[7].len, stream.isBE());
ci->textEditInfo.read(entryStream);
delete entryStream;
- dumpS = Common::String::format("textEditInfo: { %s } ", ci->textEditInfo.toString().c_str()) + dumpS;
+ dumpS = Common::String::format("textEditInfo: { %s }, ", ci->textEditInfo.toString().c_str()) + dumpS;
}
// fallthrough
case 6:
@@ -2019,7 +2019,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
ci->scriptStyle.read(*entryStream, this);
delete entryStream;
- dumpS = "scriptStyle: <data> " + dumpS;
+ dumpS = "scriptStyle: <data>, " + dumpS;
}
// fallthrough
case 5:
@@ -2027,7 +2027,7 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
entryStream = new Common::MemoryReadStreamEndian(castInfo.strings[5].data, castInfo.strings[5].len, stream.isBE());
ci->scriptEditInfo.read(entryStream);
delete entryStream;
- dumpS = Common::String::format("scriptEditInfo: { %s } ", ci->scriptEditInfo.toString().c_str()) + dumpS;
+ dumpS = Common::String::format("scriptEditInfo: { %s }, ", ci->scriptEditInfo.toString().c_str()) + dumpS;
}
// fallthrough
case 4:
@@ -2035,30 +2035,30 @@ void Cast::loadCastInfo(Common::SeekableReadStreamEndian &stream, uint16 id) {
if (_version < kFileVer500) {
ci->fileType = castInfo.strings[4].readString();
- dumpS = Common::String::format("fileType: '%s' ", ci->fileType.c_str()) + dumpS;
+ dumpS = Common::String::format("fileType: '%s', ", ci->fileType.c_str()) + dumpS;
} else {
ci->propInit = castInfo.strings[4].readString();
- dumpS = Common::String::format("propInit: '%s' ", ci->propInit.c_str()) + dumpS;
+ dumpS = Common::String::format("propInit: '%s', ", ci->propInit.c_str()) + dumpS;
}
// fallthrough
case 3:
ci->fileName = castInfo.strings[3].readString();
- dumpS = Common::String::format("fileName: '%s' ", ci->fileName.c_str()) + dumpS;
+ dumpS = Common::String::format("fileName: '%s', ", ci->fileName.c_str()) + dumpS;
// fallthrough
case 2:
ci->directory = castInfo.strings[2].readString();
- dumpS = Common::String::format("directory: '%s' ", ci->directory.c_str()) + dumpS;
+ dumpS = Common::String::format("directory: '%s', ", ci->directory.c_str()) + dumpS;
// fallthrough
case 1:
ci->name = castInfo.strings[1].readString();
- dumpS = Common::String::format("name: '%s' ", ci->name.c_str()) + dumpS;
+ dumpS = Common::String::format("name: '%s', ", ci->name.c_str()) + dumpS;
// fallthrough
case 0:
ci->script = castInfo.strings[0].readString(false);
if (!ci->script.empty()) {
- dumpS = Common::String::format("script: %d bytes ", ci->script.size()) + dumpS;
+ dumpS = Common::String::format("script: %d bytes, ", ci->script.size()) + dumpS;
}
// fallthrough
case -1:
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 608e28b2e3f..bbe400befd8 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1759,7 +1759,7 @@ void Score::loadFrames(Common::SeekableReadStreamEndian &stream, uint16 version)
int32 ver = (int32)_framesStream->readUint32();
uint32 listStart = _framesStream->readUint32();
- debugC(1, kDebugLoading, "Score::loadFrames(): len: %d, version: %d, listStart: 0x%x",
+ debugC(1, kDebugLoading, "Score::loadFrames(): D6+ len: %d, version: %d, listStart: 0x%x",
_framesStreamSize, ver, listStart);
_framesStream->seek(listStart);
Commit: 89f78aa80e3416c3011b9a521c7efa92afedcffd
https://github.com/scummvm/scummvm/commit/89f78aa80e3416c3011b9a521c7efa92afedcffd
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-31T23:01:07+02:00
Commit Message:
DIRECTOR: Load TextCastMembers for D6+
Changed paths:
engines/director/castmember/text.cpp
diff --git a/engines/director/castmember/text.cpp b/engines/director/castmember/text.cpp
index 49d1dcb0513..c79d77e01d5 100644
--- a/engines/director/castmember/text.cpp
+++ b/engines/director/castmember/text.cpp
@@ -117,7 +117,7 @@ TextCastMember::TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadSt
if (debugChannelSet(2, kDebugLoading)) {
_initialRect.debugPrint(2, "TextCastMember(): rect:");
}
- } else if (version >= kFileVer400 && version < kFileVer600) {
+ } else if (version >= kFileVer400 && version < kFileVer1100) {
_flags1 = flags1;
_borderSize = stream.readByte();
_gutterSize = stream.readByte();
@@ -147,7 +147,7 @@ TextCastMember::TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadSt
_initialRect.debugPrint(2, "TextCastMember(): rect:");
}
} else {
- warning("Text/ButtonCastMember(): >D5 isn't handled");
+ warning("STUB: Text/ButtonCastMember: Text not yet supported for version v%d (%d)", humanVersion(_cast->_version), _cast->_version);
}
if (asButton) {
Commit: 66a48559fdbfbc6af29d23b9cf20c9e1d57f88ef
https://github.com/scummvm/scummvm/commit/66a48559fdbfbc6af29d23b9cf20c9e1d57f88ef
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-31T23:01:07+02:00
Commit Message:
DIRECTOR: Clarified CastInfo for RTE resources
Changed paths:
engines/director/castmember/richtext.cpp
engines/director/castmember/richtext.h
diff --git a/engines/director/castmember/richtext.cpp b/engines/director/castmember/richtext.cpp
index c3f7eade8cf..0b53046c346 100644
--- a/engines/director/castmember/richtext.cpp
+++ b/engines/director/castmember/richtext.cpp
@@ -40,7 +40,7 @@ RichTextCastMember::RichTextCastMember(Cast *cast, uint16 castId, Common::Seekab
_pf32 = Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0);
- if (version >= kFileVer500 && version < kFileVer600) {
+ if (version >= kFileVer500 && version < kFileVer1100) {
if (debugChannelSet(5, kDebugLoading)) {
debugC(5, kDebugLoading, "RichTextCastMember():");
stream.hexdump(stream.size());
@@ -48,9 +48,14 @@ RichTextCastMember::RichTextCastMember(Cast *cast, uint16 castId, Common::Seekab
_initialRect = Movie::readRect(stream);
_boundingRect = Movie::readRect(stream);
- stream.seek(8, SEEK_CUR);
+ _antialiasFlag = stream.readByte();
+ _cropFlags = stream.readByte();
+ _scrollPos = stream.readUint16BE();
+ _antialiasFontSize = stream.readUint16BE();
+ _displayHeight = stream.readUint16BE();
+
uint8 r = 0, g = 0, b = 0;
- stream.readByte();
+ stream.readByte(); // skip one byte
r = stream.readByte();
g = stream.readByte();
b = stream.readByte();
@@ -61,7 +66,7 @@ RichTextCastMember::RichTextCastMember(Cast *cast, uint16 castId, Common::Seekab
b = (stream.readUint16BE() >> 8);
_bgColor = _pf32.RGBToColor(r, g, b);
} else {
- warning("RichTextCastMember(): >D5 isn't handled");
+ warning("STUB: RichTextCastMember: RTE not yet supported for version v%d (%d)", humanVersion(_cast->_version), _cast->_version);
}
_type = kCastRichText;
diff --git a/engines/director/castmember/richtext.h b/engines/director/castmember/richtext.h
index 92ad1293e09..7764c1fda64 100644
--- a/engines/director/castmember/richtext.h
+++ b/engines/director/castmember/richtext.h
@@ -54,9 +54,17 @@ public:
private:
Common::U32String _plainText;
Graphics::PixelFormat _pf32;
+ Picture *_picture;
+
+ // _initialRect
+ // _boundingRect
+ byte _antialiasFlag;
+ byte _cropFlags;
+ uint16 _scrollPos;
+ uint16 _antialiasFontSize; // Seems to be always 12
+ uint16 _displayHeight;
uint32 _foreColor;
uint32 _bgColor;
- Picture *_picture;
};
} // End of namespace Director
Commit: 87f8f12b1505de31efc5d0d193972130fe417530
https://github.com/scummvm/scummvm/commit/87f8f12b1505de31efc5d0d193972130fe417530
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-31T23:01:07+02:00
Commit Message:
COMMON: Added toString() methods for Common::Point and Common::Rect
Changed paths:
common/rect.h
diff --git a/common/rect.h b/common/rect.h
index 3592dc5b2b4..fc263e9f56e 100644
--- a/common/rect.h
+++ b/common/rect.h
@@ -25,6 +25,7 @@
#include "common/scummsys.h"
#include "common/util.h"
#include "common/debug.h"
+#include "common/str.h"
#define PRINT_RECT(x) (x).left,(x).top,(x).right,(x).bottom
@@ -119,6 +120,13 @@ struct PointBase {
return uint(diffx * diffx + diffy * diffy);
}
+
+ /**
+ * Return string representation of the point.
+ */
+ String toString() const {
+ return String::format("%d, %d", x, y);
+ }
};
struct Point : public PointBase<int16, Point > {
@@ -437,6 +445,13 @@ struct RectBase {
debugC(debuglevel, debugChannel, "%s %d, %d, %d, %d", caption, left, top, right, bottom);
}
+ /**
+ * Return string representation of the rectangle.
+ */
+ String toString() const {
+ return String::format("%d, %d, %d, %d", left, top, right, bottom);
+ }
+
/**
* Create a rectangle around the given center.
* @note The center point is rounded up and left when given an odd width and height.
Commit: 037eee36fddc70294d0cbc0bb813a9cf3de3299c
https://github.com/scummvm/scummvm/commit/037eee36fddc70294d0cbc0bb813a9cf3de3299c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-08-31T23:01:07+02:00
Commit Message:
DIRECTOR: Improve debug output on loading
Changed paths:
engines/director/castmember/castmember.h
engines/director/castmember/richtext.cpp
engines/director/castmember/text.cpp
diff --git a/engines/director/castmember/castmember.h b/engines/director/castmember/castmember.h
index f5815b55953..ad6d3f110a4 100644
--- a/engines/director/castmember/castmember.h
+++ b/engines/director/castmember/castmember.h
@@ -154,8 +154,8 @@ struct EditInfo {
void write(Common::WriteStream *stream);
Common::String toString() {
- return Common::String::format("rect: [%d,%d,%d,%d] selStart: %d selEnd: %d version: %d rulerFlag: %d valid: %d",
- rect.left, rect.top, rect.right, rect.bottom, selStart, selEnd, version, rulerFlag, valid);
+ return Common::String::format("rect: [%s] selStart: %d selEnd: %d version: %d rulerFlag: %d valid: %d",
+ rect.toString().c_str(), selStart, selEnd, version, rulerFlag, valid);
}
};
diff --git a/engines/director/castmember/richtext.cpp b/engines/director/castmember/richtext.cpp
index 0b53046c346..f4d238a4520 100644
--- a/engines/director/castmember/richtext.cpp
+++ b/engines/director/castmember/richtext.cpp
@@ -65,6 +65,16 @@ RichTextCastMember::RichTextCastMember(Cast *cast, uint16 castId, Common::Seekab
g = (stream.readUint16BE() >> 8);
b = (stream.readUint16BE() >> 8);
_bgColor = _pf32.RGBToColor(r, g, b);
+
+ debugC(3, kDebugLoading, " RichTextCastMember(): initialRect: [%s], boundingRect: [%s], antialiasFlag: 0x%02x, cropFlags: 0x%02x, scrollPos: %d, antialiasFontSize: %d, displayHeight: %d",
+ _initialRect.toString().c_str(),
+ _boundingRect.toString().c_str(),
+ _antialiasFlag,
+ _cropFlags,
+ _scrollPos,
+ _antialiasFontSize,
+ _displayHeight);
+ debugC(3, kDebugLoading, " RichTextCastMember(): foreColor: 0x%08x, bgColor: 0x%08x", _foreColor, _bgColor);
} else {
warning("STUB: RichTextCastMember: RTE not yet supported for version v%d (%d)", humanVersion(_cast->_version), _cast->_version);
}
diff --git a/engines/director/castmember/text.cpp b/engines/director/castmember/text.cpp
index c79d77e01d5..08154563267 100644
--- a/engines/director/castmember/text.cpp
+++ b/engines/director/castmember/text.cpp
@@ -143,9 +143,7 @@ TextCastMember::TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadSt
_flags1, _borderSize, _gutterSize, _boxShadow, _textType, _textAlign);
debugC(2, kDebugLoading, "TextCastMember(): background rgb: 0x%04x 0x%04x 0x%04x, shadow: %d flags: %d textHeight: %d",
_bgpalinfo1, _bgpalinfo2, _bgpalinfo3, _textShadow, _textFlags, _textHeight);
- if (debugChannelSet(2, kDebugLoading)) {
- _initialRect.debugPrint(2, "TextCastMember(): rect:");
- }
+ debugC(2, kDebugLoading, "TextCastMember(): rect: [%s]", _initialRect.toString().c_str());
} else {
warning("STUB: Text/ButtonCastMember: Text not yet supported for version v%d (%d)", humanVersion(_cast->_version), _cast->_version);
}
More information about the Scummvm-git-logs
mailing list