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

npjg nathanael.gentrydb8 at gmail.com
Fri Aug 21 18:35:44 UTC 2020


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:
5c7b8fce47 DIRECTOR: LINGO: Add GetVolume XFCN as builtin
d650738f9f DIRECTOR: Add puppet check on kTheCastNum


Commit: 5c7b8fce4776a22368c421a1f6a6042d5d8de5bc
    https://github.com/scummvm/scummvm/commit/5c7b8fce4776a22368c421a1f6a6042d5d8de5bc
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-21T14:35:12-04:00

Commit Message:
DIRECTOR: LINGO: Add GetVolume XFCN as builtin

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 1a160f5078..4aab48e291 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -269,6 +269,8 @@ static struct BuiltinProto {
 	{ "scummvmAssert",	LB::b_scummvmassert,1, 2, true,  200, HBLTIN },
 	{ "scummvmAssertEqual",	LB::b_scummvmassertequal,2,3,true,200,HBLTIN },
 
+	// XCOD/XFCN (HyperCard), normally exposed
+	{ "GetVolumes", LB::b_getVolumes, 0, 0, true, 400, FBLTIN },
 
 	{ 0, 0, 0, 0, false, 0, VOIDSYM }
 };
@@ -2523,4 +2525,17 @@ void LB::b_scummvmassertequal(int nargs) {
 	assert(result == 1);
 }
 
+void LB::b_getVolumes(int nargs) {
+	ARGNUMCHECK(0);
+
+	// Right now, only "Journeyman Project 2: Buried in Time" is known to check
+	// for its volume name.
+	Datum d;
+	d.type = ARRAY;
+	d.u.farr = new DatumArray;
+	d.u.farr->push_back(Datum("Buried in Time\252 1"));
+
+	g_lingo->push(d);
+}
+
 } // End of namespace Director
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index 956eb6dd94..bb48316844 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -202,6 +202,9 @@ void b_lastwordof(int nargs);
 void b_scummvmassert(int nargs);
 void b_scummvmassertequal(int nargs);
 
+// XCOD/XFCN (HyperCard), normally exposed
+void b_getVolumes(int nargs);
+
 } // End of namespace LB
 
 } // End of namespace Director


Commit: d650738f9fbad1dee3970177d0574ff632656dbb
    https://github.com/scummvm/scummvm/commit/d650738f9fbad1dee3970177d0574ff632656dbb
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-21T14:35:12-04:00

Commit Message:
DIRECTOR: Add puppet check on kTheCastNum

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


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 9a6330b455..04939bbe65 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1278,6 +1278,13 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
 		{
 			int castId = d.asCastId();
 			if (castId != sprite->_castId) {
+				// WORKAROUND: Chop Suey cursor is not marked puppet, so it will flash
+				// unnecessarily on frame change unless it is puppet.
+				if (!sprite->_puppet) {
+					warning("setTheSprite(): kTheCastNum: Sprite %d not a puppet", id);
+					sprite->_puppet = true;
+				}
+
 				g_director->getCurrentWindow()->addDirtyRect(channel->getBbox());
 				channel->setCast(castId);
 				channel->_dirty = true;




More information about the Scummvm-git-logs mailing list