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

sev- sev at scummvm.org
Tue Jan 10 21:49:07 CET 2017


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:
2cc9404ea4 DIRECTOR: Lingo: Add time-related stubs. This completes D3 grammar
e87f872122 DIRECTOR: Lingo: Clarify which of 'the entities' need id


Commit: 2cc9404ea47db5de52850f9e1af176a3e138f871
    https://github.com/scummvm/scummvm/commit/2cc9404ea47db5de52850f9e1af176a3e138f871
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-10T21:47:47+01:00

Commit Message:
DIRECTOR: Lingo: Add time-related stubs. This completes D3 grammar

All of the Director 3.0 grammar should be parseable now, albeit buggy,
especially because many stubs do not push their result values
which leads to a stack underflow.

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 52f840d..7597deb 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -97,6 +97,8 @@ static struct BuiltinProto {
 	// Misc
 	{ "alert",	 		Lingo::b_alert,			1, 1, false },	// D2
 	{ "cursor",	 		Lingo::b_cursor,		1, 1, false },	// D2
+	{ "framesToHMS",	Lingo::b_framesToHMS,	4, 4, false },	//		D3
+	{ "HMStoFrames",	Lingo::b_HMStoFrames,	4, 4, false },	//		D3
 	{ "printFrom",	 	Lingo::b_printFrom,		-1,0, false },	// D2
 		// put													// D2
 		// set													// D2
@@ -563,6 +565,22 @@ void Lingo::b_preLoadCast(int nargs) {
 	g_lingo->dropStack(nargs);
 }
 
+void Lingo::b_framesToHMS(int nargs) {
+	g_lingo->printStubWithArglist("b_framesToHMS", nargs);
+
+	g_lingo->dropStack(nargs);
+
+	g_lingo->push(Datum(0));
+}
+
+void Lingo::b_HMStoFrames(int nargs) {
+	g_lingo->printStubWithArglist("b_HMStoFrames", nargs);
+
+	g_lingo->dropStack(nargs);
+
+	g_lingo->push(Datum(0));
+}
+
 void Lingo::b_printFrom(int nargs) {
 	g_lingo->printStubWithArglist("b_printFrom", nargs);
 
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index cd0943f..54a719e 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -341,6 +341,8 @@ public:
 
 	static void b_alert(int nargs);
 	static void b_cursor(int nargs);
+	static void b_framesToHMS(int nargs);
+	static void b_HMStoFrames(int nargs);
 	static void b_printFrom(int nargs);
 	static void b_showGlobals(int nargs);
 	static void b_showLocals(int nargs);


Commit: e87f872122a90465d9fb823206ed91bc71475af0
    https://github.com/scummvm/scummvm/commit/e87f872122a90465d9fb823206ed91bc71475af0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-10T21:48:55+01:00

Commit Message:
DIRECTOR: Lingo: Clarify which of 'the entities' need id

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 fafe22f..9ca90af 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -32,9 +32,9 @@ TheEntity entities[] = {
 	{ kTheBeepOn,			"beepOn",			false },	// D2 property
 	{ kTheButtonStyle,		"buttonStyle",		false },	// D2 p
 	{ kTheCast,				"cast",				true  },	// D3
-	{ kTheCastMembers,		"castmembers",		true  },	//		 D3
+	{ kTheCastMembers,		"castmembers",		false },	//		 D3
 	{ kTheCenterStage,		"centerStage",		false },	// D2 p
-	{ kTheChars,			"chars",			true  },	//		 D3
+	{ kTheChars,			"chars",			false },	//		 D3
 	{ kTheCheckBoxAccess,	"checkBoxAccess",	false },	// D2 p
 	{ kTheCheckBoxType,		"checkBoxType",		false },	// D2 p
 	{ kTheClickOn,			"clickOn",			false },	// D2 function
@@ -53,7 +53,7 @@ TheEntity entities[] = {
 	{ kTheFreeBytes,		"freeBytes",		false },	// D2 f
 	{ kTheFullColorPermit,	"fullColorPermit",	false },	// D2 p
 	{ kTheImageDirect,		"imageDirect",		false },	// D2 p
-	{ kTheItems,			"items",			true  },	//		 D3
+	{ kTheItems,			"items",			false },	//		 D3
 	{ kTheItemDelimiter,	"itemDelimiter",	false },
 	{ kTheKey,				"key",				false },	// D2 f
 	{ kTheKeyCode,			"keyCode",			false },	// D2 f
@@ -64,7 +64,7 @@ TheEntity entities[] = {
 	{ kTheLastFrame,		"lastFrame",		false },
 	{ kTheLastKey,			"lastKey",			false },	// D2 f
 	{ kTheLastRoll,			"lastRoll",			false },	// D2 f
-	{ kTheLines,			"lines",			true  },	//		 D3
+	{ kTheLines,			"lines",			false },	//		 D3
 	{ kTheMachineType,		"machineType",		false },	// D2 f
 	{ kTheMemorySize,		"memorySize",		false },	// D2 f
 	{ kTheMenu,				"menu",				true  },
@@ -119,7 +119,7 @@ TheEntity entities[] = {
 	{ kTheTime,				"time",				false },	// 		D3 f
 	{ kTheTimer,			"timer",			false },	// D2 p
 	{ kTheWindow,			"window",			false },
-	{ kTheWords,			"words",			true  },	//		 D3
+	{ kTheWords,			"words",			false },	//		 D3
 	{ kTheNOEntity, NULL, false }
 };
 





More information about the Scummvm-git-logs mailing list