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

sev- noreply at scummvm.org
Fri Oct 3 23:34:55 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
f2bad1d9b8 DIRECTOR: Finished documenting D5 keywords


Commit: f2bad1d9b8493e4d3855d4575be8ad4fe7c7bfef
    https://github.com/scummvm/scummvm/commit/f2bad1d9b8493e4d3855d4575be8ad4fe7c7bfef
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-10-04T01:34:22+02:00

Commit Message:
DIRECTOR: Finished documenting D5 keywords

Changed paths:
  R engines/director/lingo/docs/d4-d5.txt
    engines/director/castmember/text.cpp
    engines/director/lingo/lingo-builtins.cpp
    engines/director/lingo/lingo-events.cpp
    engines/director/lingo/lingo-gr.y
    engines/director/lingo/lingo-object.cpp
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h
    engines/director/types.h


diff --git a/engines/director/castmember/text.cpp b/engines/director/castmember/text.cpp
index f398a895a61..7319f18b863 100644
--- a/engines/director/castmember/text.cpp
+++ b/engines/director/castmember/text.cpp
@@ -828,6 +828,7 @@ void TextCastMember::setField(int field, const Datum &d) {
 		warning("STUB: TextCastMember::setField(): boxDropShadow not implemented");
 		return;
 	case kTheBoxType:
+		// The possible values are #adjust, #scroll, #fixed, and #limit.
 		warning("STUB: TextCastMember::setField(): boxType not implemented");
 		return;
 	case kTheDropShadow:
diff --git a/engines/director/lingo/docs/d4-d5.txt b/engines/director/lingo/docs/d4-d5.txt
deleted file mode 100644
index b3bb4558a9b..00000000000
--- a/engines/director/lingo/docs/d4-d5.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-adjust
-antiAlias
-appFileSpec
-case
-editFocusSprite
-fileType
-fixed
-interface
-is
-limit
-maskMember
-members
-messageLock
-mOpenEditor
-mouseDoubleClick
-mouseEnter
-mouseHitTest
-mouseSprite
-mouseStillDown
-mouseWithin
-music
-otherwise
-parent
-productName
-productVersion
-quickTime
-scroll
-setTrackEnabled
-textWrap
-timeCode
-track
-tracks
-vga
-videoForWindows
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 6dd55d0d070..8f500af981d 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -406,6 +406,9 @@ static const BuiltinProto builtins[] = {
    tempo				//	D5
    transition			//	D5
 
+   Host Info:
+   appFileSpec			//	D5
+
    Types:
 	bitmap
 	button
@@ -4078,6 +4081,8 @@ void LB::b_trackStopTime(int nargs) {
 void LB::b_trackType(int nargs) {
 	g_lingo->printSTUBWithArglist("b_trackType", nargs);
 	g_lingo->dropStack(nargs);
+	// Possible values are #video, #sound, #text, and #music
+	// also #timeCode is present but seemingly not used
 	Datum result("video");
 	result.type = SYMBOL;
 	g_lingo->push(result);
diff --git a/engines/director/lingo/lingo-events.cpp b/engines/director/lingo/lingo-events.cpp
index bc6874e757c..8fbed3354f4 100644
--- a/engines/director/lingo/lingo-events.cpp
+++ b/engines/director/lingo/lingo-events.cpp
@@ -69,10 +69,10 @@ struct EventHandlerType {
 	{ kEventMouseDown,			"mouseDown" },			// D2 w	D3
 	{ kEventRightMouseDown,		"rightMouseDown" },		//				D5
 	{ kEventRightMouseUp,		"rightMouseUp" },		//				D5
-	{ kEventMouseEnter,			"mouseEnter" },			//					D6
+	{ kEventMouseEnter,			"mouseEnter" },			//					D6, present in D5
 	{ kEventMouseLeave,			"mouseLeave" },			//					D6
 	{ kEventMouseUpOutSide,		"mouseUpOutSide" },		// 					D6
-	{ kEventMouseWithin,		"mouseWithin" },		//					D6
+	{ kEventMouseWithin,		"mouseWithin" },		//					D6, present in D5
 
 	{ kEventTimeout,			"timeout" },			// D2 as when
 
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 3c89a2400f7..fc23083a5df 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -149,6 +149,9 @@ static void checkEnd(Common::String *token, Common::String *expect, bool require
 %token tON tMETHOD tENDIF tENDREPEAT tENDTELL
 %token tASSERTERROR
 
+// D5
+// %token tCASE tOTHERWISE
+
 %type<w> tWHEN
 
 // TOP-LEVEL STUFF
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 75fc767fe86..bbc809a4da1 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -919,6 +919,7 @@ void LM::m_moveToFront(int nargs) {
   hitTest
   ilk
   mouseDown
+  mouseHitTest
   mouseTrack
   mouseUp
   setAProp
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 535ac919395..19edc6ea499 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -242,6 +242,7 @@ const TheEntityField fields[] = {
 	{ kTheCastLib,	"selection",	kTheSelectionField,500 },//					D5 p
 
 	// Common cast fields
+	{ kTheCast,		"antiAlias",	kTheAntiAlias,	500 },//					D5 p (?), documented in D7
 	{ kTheCast,		"backColor",	kTheBackColor,	400 },//				D4 p
 	{ kTheCast,		"castLibNum",	kTheCastLibNum,	500 },// 					D5 p
 	{ kTheCast,		"castType",		kTheCastType,	400 },//				D4 p
@@ -274,6 +275,7 @@ const TheEntityField fields[] = {
 	{ kTheSprite,	"movieTime",	kTheMovieTime,	300 },//		D3.1 P
 	{ kTheCast,		"pausedAtStart",kThePausedAtStart,400 },//				D4 p
 	{ kTheCast,		"preLoad",		kThePreLoad,	300 },//		D3.1 p
+	{ kTheSprite,	"setTrackEnabled",kTheSetTrackEnabled, 500 },//				D5 p
 	{ kTheCast,		"sound",		kTheSound,		300 },//		D3.1 p // 0-1 off-on
 	{ kTheSprite,	"startTime",	kTheStartTime,	300 },//		D3.1 p
 	{ kTheSprite,	"stopTime",		kTheStopTime,	300 },//		D3.1 p
@@ -286,6 +288,8 @@ const TheEntityField fields[] = {
 	{ kTheSprite,	"trackText",	kTheTrackText, 500 },//						D5 p
 	{ kTheCast,		"video",		kTheVideo,		400 },//				D4 p
 	{ kTheSprite,	"volume",		kTheVolume,		300 },//		D3.1 p
+	// track, scontains track type, seems to be unused
+	// tracks, number of track, seems to be unused
 
 	// Movie fields
 	{ kTheCast,		"paletteMapping",	kThePaletteMapping,	500 },//			D5 p
@@ -347,6 +351,9 @@ const TheEntityField fields[] = {
 	{ kTheCast,		"chunkSize",	kTheChunkSize,	500 },//					D5 p
 	{ kTheCast,		"transitionType",kTheTransitionType,500 },//				D5 p
 
+	// XtrsaCastMember fields
+	{ kTheCast,		"interface",	kTheInterface,	500 },//					D5 p
+
 	// Field fields
 	{ kTheField,	"alignment",	kTheTextAlign,	500 },//					D5 p
 	{ kTheField,	"font",			kTheTextFont,	500 },//					D5 p
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index e4941d59a33..ae1b3f57675 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -142,6 +142,7 @@ enum TheEntityType {
 	kTheSelEnd,
 	kTheSelStart,
 	kTheSerialNumber,
+	kTheSetTrackEnabled,
 	kTheShiftDown,
 	kTheSoundEntity,
 	kTheSoundEnabled,
@@ -181,6 +182,7 @@ enum TheEntityType {
 enum TheFieldType {
 	kTheNOField = 0,
 	kTheAbbr    = 1,
+	kTheAntiAlias,
 	kTheAutoTab,
 	kTheBackColor,
 	kTheBlend,
@@ -221,6 +223,7 @@ enum TheFieldType {
 	kTheHilite,
 	kTheImmediate,
 	kTheInk,
+	kTheInterface,
 	kTheLast,
 	kTheLeft,
 	kTheLineCount,
diff --git a/engines/director/types.h b/engines/director/types.h
index 66fc029c7f3..2c9405c4cc3 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -308,6 +308,8 @@ enum PaletteType {
 	kClutVivid = -5,
 	kClutNTSC = -6,
 	kClutMetallic = -7,
+	kClutWeb216 = -8,		// D7
+	kClutVGA = -9,			// D7
 	kClutSystemWin = -101,
 	kClutSystemWinD5 = -102
 };




More information about the Scummvm-git-logs mailing list