[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