[Scummvm-git-logs] scummvm master -> a2c4f71b039a60504bdb459f4472067c321d3b9b

rvanlaar noreply at scummvm.org
Fri Sep 13 14:22:55 UTC 2024


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:
a41f0c4cb8 DIRECTOR: Add BUILDBOT error on cast read < stream
a2c4f71b03 DIRECTOR: Implement the runMode for D5


Commit: a41f0c4cb819f0dc781130681615d222e16eb6a8
    https://github.com/scummvm/scummvm/commit/a41f0c4cb819f0dc781130681615d222e16eb6a8
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2024-09-13T16:09:11+02:00

Commit Message:
DIRECTOR: Add BUILDBOT error on cast read < stream

BUILDBOT will now error when reading a castmember
and not having reached the end of the castmember
data stream.

Changed paths:
    engines/director/cast.cpp


diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index d949a61bb15..cfe83c3a375 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -1099,6 +1099,10 @@ void Cast::loadCastData(Common::SeekableReadStreamEndian &stream, uint16 id, Res
 		warning("BUILDBOT: Read past dataStream for id: %d type: %s", id, castType2str((CastType) castType));
 	}
 
+	if (castStream.pos() < castStream.size()) {
+		warning("BUILDBOT: Left over bytes in dataStream for id: %d type: %s", id, castType2str((CastType) castType));
+	}
+
 	if (_loadedCast->contains(id)) { // Skip unhandled casts
 		debugCN(3, kDebugLoading, "Children: ");
 		for (uint child = 0; child < res->children.size(); child++) {


Commit: a2c4f71b039a60504bdb459f4472067c321d3b9b
    https://github.com/scummvm/scummvm/commit/a2c4f71b039a60504bdb459f4472067c321d3b9b
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2024-09-13T16:15:16+02:00

Commit Message:
DIRECTOR: Implement the runMode for D5

Documentation for the runMode mentions it should return:
	Author when running in Director,
	Projector when running as a Projector,
	Plugin when running as Shockwave and
	Java Applet when running as a Java Applet.

For ScummVM we'll always return Projector since Projector executables
are what we mainly target.

In the scummvm configuration file it's possible to set the runMode
via a config option called: `director_runMode`.

Changed paths:
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 0d5d5cf48a9..8e03adb6f97 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -128,6 +128,7 @@ TheEntity entities[] = {
 	{ kTheRightMouseUp,		"rightMouseUp",		false, 500, true },	//					D5 f
 	{ kTheRollOver,			"rollOver",			false, 500, true },	//					D5 f, undocumented
 	{ kTheRomanLingo,		"romanLingo",		false, 300, false },	//		D3.1 p
+	{ kTheRunMode, 			"runMode",			false, 500, false },//					D5 f, documented in D6
 	{ kTheScummvmVersion,	"scummvmVersion",	false, 200, true }, // 					ScummVM only
 	{ kTheSearchCurrentFolder,"searchCurrentFolder",false,400, true },//			D4 f
 	{ kTheSearchPath,		"searchPath",		false, 400, true },	//			D4 f
@@ -792,6 +793,13 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		d = g_lingo->_romanLingo;
 		warning("BUILDBOT: the romanLingo is get, value is %d", g_lingo->_romanLingo);
 		break;
+	case kTheRunMode:
+		if (ConfMan.hasKey("director_runMode"))
+			d = Datum(ConfMan.get("director_runMode"));
+		else {
+			d = Datum("Projector");
+		}
+		break;
 	case kTheScummvmVersion:
 		d = _vm->getVersion();
 		break;
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 9602bbd09a7..e50347042f9 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -112,6 +112,7 @@ enum TheEntityType {
 	kTheRightMouseUp,
 	kTheRollOver,
 	kTheRomanLingo,
+	kTheRunMode,
 	kTheScummvmVersion,			// set the Director version via lingo in tests
 	kTheSearchCurrentFolder,
 	kTheSearchPath,




More information about the Scummvm-git-logs mailing list