[Scummvm-cvs-logs] scummvm master -> 5b7ad5cd15fc8b99b1a7be7f9bdaa6f4002a8f2c

sev- sev at scummvm.org
Thu Aug 11 08:51:00 CEST 2016


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:
5c09e6f76e DIRECTOR: Lingo: Fixed reference traces for VOID types
5b7ad5cd15 DIRECTOR: Lingo: Added constants 'true' and 'false'


Commit: 5c09e6f76e74204f59f35669f4587769d3ee3794
    https://github.com/scummvm/scummvm/commit/5c09e6f76e74204f59f35669f4587769d3ee3794
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-08-11T08:51:00+02:00

Commit Message:
DIRECTOR: Lingo: Fixed reference traces for VOID types

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



diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index fe1c62f..125365a 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -253,7 +253,7 @@ void Lingo::c_eval() {
 	else if (d.u.sym->type == SYMBOL)
 		d.u.i = d.u.sym->u.i;
 	else if (d.u.sym->type == VOID)
-		d.u.s = new Common::String(*d.u.sym->name);
+		d.u.s = new Common::String(d.u.sym->name);
 	else
 		warning("c_eval: unhandled type: %s", d.type2str());
 


Commit: 5b7ad5cd15fc8b99b1a7be7f9bdaa6f4002a8f2c
    https://github.com/scummvm/scummvm/commit/5b7ad5cd15fc8b99b1a7be7f9bdaa6f4002a8f2c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-08-11T08:51:00+02:00

Commit Message:
DIRECTOR: Lingo: Added constants 'true' and 'false'

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 5001eea..573a005 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -104,7 +104,11 @@ static struct BuiltinProto {
 	// Sound
 	{ "beep",	 		Lingo::b_beep,			0, 1, false },	// D2
 	{ "mci",	 		Lingo::b_mci,			1, 1, false },
-	{ "mciwait",		Lingo::b_mciwait,			1, 1, false },
+	{ "mciwait",		Lingo::b_mciwait,		1, 1, false },
+	// Constants
+	{ "false",			Lingo::b_false,			0, 0, false },	// D2
+	{ "true",			Lingo::b_true,			0, 0, false },	// D2
+
 	{ 0, 0, 0, 0, false }
 };
 
@@ -513,6 +517,8 @@ void Lingo::b_puppetPalette(int nargs) {
 }
 
 void Lingo::b_puppetSound(int nargs) {
+	g_lingo->convertVOIDtoString(0, nargs);
+
 	g_lingo->printStubWithArglist("b_puppetSound", nargs);
 
 	g_lingo->dropStack(nargs);
@@ -594,5 +600,25 @@ void Lingo::b_mciwait(int nargs) {
 	g_lingo->func_mciwait(*d.u.s);
 }
 
+///////////////////
+// Constants
+///////////////////
+void Lingo::b_true(int nargs) {
+	Datum d;
+
+	d.type = INT;
+	d.u.i = 1;
+
+	g_lingo->push(d);
+}
+
+void Lingo::b_false(int nargs) {
+	Datum d;
+
+	d.type = INT;
+	d.u.i = 0;
+
+	g_lingo->push(d);
+}
 
 } // End of namespace Director
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index a42b796..35bdea9 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -322,6 +322,9 @@ public:
 	static void b_mci(int nargs);
 	static void b_mciwait(int nargs);
 
+	static void b_false(int nargs);
+	static void b_true(int nargs);
+
 	void func_mci(Common::String &s);
 	void func_mciwait(Common::String &s);
 	void func_goto(Datum &frame, Datum &movie);






More information about the Scummvm-git-logs mailing list