[Scummvm-git-logs] scummvm master -> 3642054399272a9a038fd166ae0baedf48de0110

sev- sev at scummvm.org
Sun Feb 5 23:54:56 CET 2017


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

Summary:
b4f736e058 DIRECTOR: Lingo: Documented D4 "Cast members" Lingo
b1503cc1ef DIRECTOR: Lingo: Documented D4 "Cast window management" Lingo
4e9341ef7b DIRECTOR: Lingo: Added tests for new grammar for built-ins
3642054399 DIRECTOR: Lingo: Documented D4 "Code structures" Lingo


Commit: b4f736e0582f15a1a4dad209d4ecdef4914e683a
    https://github.com/scummvm/scummvm/commit/b4f736e0582f15a1a4dad209d4ecdef4914e683a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-02-05T23:44:51+01:00

Commit Message:
DIRECTOR: Lingo: Documented D4 "Cast members" Lingo

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 71211e3..8fc9de3 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -147,7 +147,7 @@ TheEntityField fields[] = {
 	{ kTheSprite,	"pattern",		kThePattern },		// D2 p
 	{ kTheSprite,	"puppet",		kThePuppet },		// D2 p
 	{ kTheSprite,	"right",		kTheRight },		// D2 p
-	{ kTheSprite,	"scriptNum",	kTheScriptNum },
+	{ kTheSprite,	"scriptNum",	kTheScriptNum },					D4 p
 	{ kTheSprite,	"startTime",	kTheStartTime },
 	{ kTheSprite,	"stretch",		kTheStrech },		// D2 p
 	{ kTheSprite,	"stopTime",		kTheStopTime },
@@ -167,9 +167,9 @@ TheEntityField fields[] = {
 	{ kTheCast,		"name",			kTheName },			//		D3 p
 	{ kTheCast,		"number",		kTheNumber },		//		D3 p
 	{ kTheCast,		"rect",			kTheRect },
-	{ kTheCast,		"purgePriority",kThePurgePriority }, // 0 Never purge, 1 Purge Last, 2 Purge next, 2 Purge normal
+	{ kTheCast,		"purgePriority",kThePurgePriority },//	 			D4 p // 0 Never purge, 1 Purge Last, 2 Purge next, 2 Purge normal
 	{ kTheCast,		"scriptText",	kTheScriptText },
-	{ kTheCast,		"width",		kTheWidth },
+	{ kTheCast,		"width",		kTheWidth },		//				D4 p
 
 	// Shape fields
 	{ kTheCast,		"backColor",	kTheBackColor },


Commit: b1503cc1eff844fdba3b4afd633a6427944a4aeb
    https://github.com/scummvm/scummvm/commit/b1503cc1eff844fdba3b4afd633a6427944a4aeb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-02-05T23:44:51+01:00

Commit Message:
DIRECTOR: Lingo: Documented D4 "Cast window management" Lingo

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index a7a0d8b..f7c1abe 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -133,14 +133,18 @@ static struct BuiltinProto {
 	// Score
 	{ "constrainH",		Lingo::b_constrainH,	2, 2, true },	// D2
 	{ "constrainV",		Lingo::b_constrainV,	2, 2, true },	// D2
-	{ "duplicate-cast",	Lingo::b_duplicateCast,	1, 2, false },	//			D4
+	{ "duplicate",		Lingo::b_duplicate,		1, 2, false },	//			D4
 	{ "editableText",	Lingo::b_editableText,	0, 0, false },	// D2
-	{ "erase-cast",		Lingo::b_eraseCast,		1, 2, false },	//			D4
+	{ "erase",			Lingo::b_erase,			1, 1, false },	//			D4
+	{ "findEmpty",		Lingo::b_findEmpty,		1, 1, true },	//			D4
 		// go													// D2
+	{ "importFileInto",	Lingo::b_importFileInto,2, 2, false },	//			D4
 	{ "installMenu",	Lingo::b_installMenu,	1, 1, false },	// D2
 	{ "label",			Lingo::b_label,			1, 1, true },	// D2
 	{ "marker",			Lingo::b_marker,		1, 1, true },	// D2
+	{ "move",			Lingo::b_move,			1, 2, false },	//			D4
 	{ "moveableSprite",	Lingo::b_moveableSprite,0, 0, false },	// D2
+	{ "pasteClipBoardInto",Lingo::b_pasteClipBoardInto,1, 1, false },	//	D4
 	{ "puppetPalette",	Lingo::b_puppetPalette, -1,0, false },	// D2
 	{ "puppetSound",	Lingo::b_puppetSound,	-1,0, false },	// D2
 	{ "puppetSprite",	Lingo::b_puppetSprite,	-1,0, false },	// D2
@@ -148,6 +152,8 @@ static struct BuiltinProto {
 	{ "puppetTransition",Lingo::b_puppetTransition,-1,0, false },// D2
 	{ "rollOver",		Lingo::b_rollOver,		1, 1, true },	// D2
 	{ "spriteBox",		Lingo::b_spriteBox,		-1,0, false },	// D2
+	{ "unLoad",			Lingo::b_unLoad,		0, 2, false },	//			D4
+	{ "unLoadCast",		Lingo::b_unLoadCast,	0, 2, false },	//			D4
 	{ "updateStage",	Lingo::b_updateStage,	0, 0, false },	// D2
 	{ "zoomBox",		Lingo::b_zoomBox,		-1,0, false },	// D2
 	// Point
@@ -172,6 +178,7 @@ static struct BuiltinProto {
 	{ "true",			Lingo::b_true,			0, 0, false },	// D2
 	{ "version",		Lingo::b_version,		0, 0, false },	//		D3
 	// References
+	{ "cast",			Lingo::b_cast,			1, 1, false },	//			D4
 	{ "field",			Lingo::b_field,			1, 1, false },	//		D3
 	{ "me",				Lingo::b_me,			-1,0, false },	//		D3
 
@@ -180,8 +187,8 @@ static struct BuiltinProto {
 };
 
 static const char *twoWordBuiltins[] = {
-	"duplicate",
-	"erase",
+	//"duplicate",
+	//"erase",
 	"sound",
 	0
 };
@@ -888,8 +895,8 @@ void Lingo::b_constrainV(int nargs) {
 	g_lingo->push(Datum(0));
 }
 
-void Lingo::b_duplicateCast(int nargs) {
-	g_lingo->printSTUBWithArglist("b_duplicateCast", nargs);
+void Lingo::b_duplicate(int nargs) {
+	g_lingo->printSTUBWithArglist("b_duplicate", nargs);
 
 	g_lingo->dropStack(nargs);
 }
@@ -898,8 +905,22 @@ void Lingo::b_editableText(int nargs) {
 	warning("STUB: b_editableText");
 }
 
-void Lingo::b_eraseCast(int nargs) {
-	g_lingo->printSTUBWithArglist("b_eraseCast", nargs);
+void Lingo::b_erase(int nargs) {
+	g_lingo->printSTUBWithArglist("b_erase", nargs);
+
+	g_lingo->dropStack(nargs);
+}
+
+void Lingo::b_findEmpty(int nargs) {
+	g_lingo->printSTUBWithArglist("b_findEmpty", nargs);
+
+	g_lingo->dropStack(nargs);
+
+	g_lingo->push(Datum(0));
+}
+
+void Lingo::b_importFileInto(int nargs) {
+	g_lingo->printSTUBWithArglist("b_importFileInto", nargs);
 
 	g_lingo->dropStack(nargs);
 }
@@ -924,11 +945,23 @@ void Lingo::b_marker(int nargs) {
 	g_lingo->push(marker);
 }
 
+void Lingo::b_move(int nargs) {
+	g_lingo->printSTUBWithArglist("b_move", nargs);
+
+	g_lingo->dropStack(nargs);
+}
+
 void Lingo::b_moveableSprite(int nargs) {
 	Datum d = g_lingo->pop();
 	warning("STUB: b_moveableSprite(%d)", d.u.i);
 }
 
+void Lingo::b_pasteClipBoardInto(int nargs) {
+	g_lingo->printSTUBWithArglist("b_pasteClipBoardInto", nargs);
+
+	g_lingo->dropStack(nargs);
+}
+
 void Lingo::b_puppetPalette(int nargs) {
 	g_lingo->convertVOIDtoString(0, nargs);
 
@@ -975,6 +1008,18 @@ void Lingo::b_spriteBox(int nargs) {
 	g_lingo->dropStack(nargs);
 }
 
+void Lingo::b_unLoad(int nargs) {
+	g_lingo->printSTUBWithArglist("b_unLoad", nargs);
+
+	g_lingo->dropStack(nargs);
+}
+
+void Lingo::b_unLoadCast(int nargs) {
+	g_lingo->printSTUBWithArglist("b_unLoadCast", nargs);
+
+	g_lingo->dropStack(nargs);
+}
+
 void Lingo::b_zoomBox(int nargs) {
 	g_lingo->printSTUBWithArglist("b_zoomBox", nargs);
 
@@ -1154,6 +1199,10 @@ void Lingo::factoryCall(Common::String &name, int nargs) {
 ///////////////////
 // References
 ///////////////////
+void Lingo::b_cast(int nargs) {
+	warning("STUB: b_cast");
+}
+
 void Lingo::b_field(int nargs) {
 	warning("STUB: b_field");
 }
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 8fc9de3..5dea147 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -147,7 +147,7 @@ TheEntityField fields[] = {
 	{ kTheSprite,	"pattern",		kThePattern },		// D2 p
 	{ kTheSprite,	"puppet",		kThePuppet },		// D2 p
 	{ kTheSprite,	"right",		kTheRight },		// D2 p
-	{ kTheSprite,	"scriptNum",	kTheScriptNum },					D4 p
+	{ kTheSprite,	"scriptNum",	kTheScriptNum },	//				D4 p
 	{ kTheSprite,	"startTime",	kTheStartTime },
 	{ kTheSprite,	"stretch",		kTheStrech },		// D2 p
 	{ kTheSprite,	"stopTime",		kTheStopTime },
@@ -160,15 +160,15 @@ TheEntityField fields[] = {
 
 	// Common cast fields
 	{ kTheCast,		"castType",		kTheCastType },		//				D4 p
-	{ kTheCast,		"filename",		kTheFilename },
-	{ kTheCast,		"height",		kTheHeight },
-	{ kTheCast,		"loaded",		kTheLoaded },
-	{ kTheCast,		"modified",		kTheModified },
+	{ kTheCast,		"filename",		kTheFilename },		//				D4 p
+	{ kTheCast,		"height",		kTheHeight },		//				D4 p
+	{ kTheCast,		"loaded",		kTheLoaded },		//				D4 p
+	{ kTheCast,		"modified",		kTheModified },		//				D4 p
 	{ kTheCast,		"name",			kTheName },			//		D3 p
 	{ kTheCast,		"number",		kTheNumber },		//		D3 p
 	{ kTheCast,		"rect",			kTheRect },
 	{ kTheCast,		"purgePriority",kThePurgePriority },//	 			D4 p // 0 Never purge, 1 Purge Last, 2 Purge next, 2 Purge normal
-	{ kTheCast,		"scriptText",	kTheScriptText },
+	{ kTheCast,		"scriptText",	kTheScriptText },	//				D4 p
 	{ kTheCast,		"width",		kTheWidth },		//				D4 p
 
 	// Shape fields
@@ -186,13 +186,13 @@ TheEntityField fields[] = {
 
 	// Bitmap fields
 	{ kTheCast,		"depth",		kTheDepth },
-	{ kTheCast,		"regPoint",		kTheRegPoint },
-	{ kTheCast,		"palette",		kThePalette },
+	{ kTheCast,		"regPoint",		kTheRegPoint },		//				D4 p
+	{ kTheCast,		"palette",		kThePalette },		//				D4 p
 	{ kTheCast,		"picture",		kThePicture },		//		D3 p
 
 	// TextCast fields
 	{ kTheCast,		"hilite",		kTheHilite },		// D2 p
-	{ kTheCast,		"size",			kTheSize },
+	{ kTheCast,		"size",			kTheSize },			//				D4 p
 	{ kTheCast,		"text",			kTheText },			// D2 p
 
 	// Field fields
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 0899bac..3c75dd5 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -382,13 +382,17 @@ public:
 
 	static void b_constrainH(int nargs);
 	static void b_constrainV(int nargs);
-	static void b_duplicateCast(int nargs);
+	static void b_duplicate(int nargs);
 	static void b_editableText(int nargs);
-	static void b_eraseCast(int nargs);
+	static void b_erase(int nargs);
+	static void b_findEmpty(int nargs);
+	static void b_importFileInto(int nargs);
 	static void b_installMenu(int nargs);
 	static void b_label(int nargs);
 	static void b_marker(int nargs);
+	static void b_move(int nargs);
 	static void b_moveableSprite(int nargs);
+	static void b_pasteClipBoardInto(int nargs);
 	static void b_puppetPalette(int nargs);
 	static void b_puppetSound(int nargs);
 	static void b_puppetSprite(int nargs);
@@ -396,6 +400,8 @@ public:
 	static void b_puppetTransition(int nargs);
 	static void b_rollOver(int nargs);
 	static void b_spriteBox(int nargs);
+	static void b_unLoad(int nargs);
+	static void b_unLoadCast(int nargs);
 	static void b_updateStage(int nargs);
 	static void b_zoomBox(int nargs);
 
@@ -449,6 +455,7 @@ public:
 	static void b_factory(int nargs);
 	void factoryCall(Common::String &name, int nargs);
 
+	static void b_cast(int nargs);
 	static void b_field(int nargs);
 	static void b_me(int nargs);
 


Commit: 4e9341ef7b105d2c979fcce83507326a062dc255
    https://github.com/scummvm/scummvm/commit/4e9341ef7b105d2c979fcce83507326a062dc255
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-02-05T23:44:51+01:00

Commit Message:
DIRECTOR: Lingo: Added tests for new grammar for built-ins

Changed paths:
    engines/director/lingo/tests/builtin.lingo


diff --git a/engines/director/lingo/tests/builtin.lingo b/engines/director/lingo/tests/builtin.lingo
index 351efdb..e499a23 100644
--- a/engines/director/lingo/tests/builtin.lingo
+++ b/engines/director/lingo/tests/builtin.lingo
@@ -22,3 +22,9 @@ puppetSprite 15, true
 puppetTempo 30
 puppetTransition 1
 puppetTransition 2,4,20
+
+move cast 1, cast 3
+move cast 3
+put findEmpty(cast 10)
+pasteClipBoardInto cast 2
+put the width of the cast 3


Commit: 3642054399272a9a038fd166ae0baedf48de0110
    https://github.com/scummvm/scummvm/commit/3642054399272a9a038fd166ae0baedf48de0110
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-02-05T23:54:31+01:00

Commit Message:
DIRECTOR: Lingo: Documented D4 "Code structures" Lingo

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index f7c1abe..f5abbca 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -98,6 +98,7 @@ static struct BuiltinProto {
 	{ "dontPassEvent",	Lingo::b_dontPassEvent,	0, 0, false },	// D2
 	{ "delay",	 		Lingo::b_delay,			1, 1, false },	// D2
 	{ "do",		 		Lingo::b_do,			1, 1, false },	// D2
+	{ "halt",	 		Lingo::b_halt,			0, 0, false },	//			D4
 	{ "nothing",		Lingo::b_nothing,		0, 0, false },	// D2
 	{ "pause",			Lingo::b_pause,			0, 0, false },	// D2
 		// play													// D2
@@ -715,6 +716,12 @@ void Lingo::b_do(int nargs) {
 	warning("STUB: b_do(%s)", d.u.s->c_str());
 }
 
+void Lingo::b_halt(int nargs) {
+	b_quit(nargs);
+
+	warning("Movie halted");
+}
+
 void Lingo::b_pause(int nargs) {
 	g_director->_playbackPaused = true;
 
@@ -769,19 +776,13 @@ void Lingo::b_quit(int nargs) {
 }
 
 void Lingo::b_restart(int nargs) {
-	if (g_director->_currentScore)
-		g_director->_currentScore->_stopPlay = true;
-
-	g_lingo->pushVoid();
+	b_quit(nargs);
 
 	warning("Computer restarts");
 }
 
 void Lingo::b_shutDown(int nargs) {
-	if (g_director->_currentScore)
-		g_director->_currentScore->_stopPlay = true;
-
-	g_lingo->pushVoid();
+	b_quit(nargs);
 
 	warning("Computer shuts down");
 }
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 5dea147..d606b76 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -120,6 +120,9 @@ TheEntity entities[] = {
 	{ kTheTimeoutScript,	"timeoutScript",	false },	// D2 p
 	{ kTheTime,				"time",				false },	// 		D3 f
 	{ kTheTimer,			"timer",			false },	// D2 p
+	{ kTheTrace,			"trace",			false },	//				D4 p
+	{ kTheTraceLoad,		"traceLoad",		false },	//				D4 p
+	{ kTheTraceLogFile,		"traceLogFile",		false },	//				D4 p
 	{ kTheWindow,			"window",			false },
 	{ kTheWords,			"words",			false },	//		 D3
 	{ kTheNOEntity, NULL, false }
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 8cec0ce..be501ba 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -118,6 +118,9 @@ enum TheEntityType {
 	kTheTimeoutPlay,
 	kTheTimeoutScript,
 	kTheTimer,
+	kTheTrace,
+	kTheTraceLoad,
+	kTheTraceLogFile,
 	kTheWindow,
 	kTheWords
 };
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 3c75dd5..b327853 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -410,6 +410,7 @@ public:
 	static void b_dontPassEvent(int nargs);
 	static void b_delay(int nargs);
 	static void b_do(int nargs);
+	static void b_halt(int nargs);
 	static void b_nothing(int nargs);
 	static void b_pause(int nargs);
 	static void b_playAccel(int nargs);





More information about the Scummvm-git-logs mailing list