[Scummvm-git-logs] scummvm master -> 5a917c3c247eb9c96719077d1d1cdbb5e33f81d1

djsrv dservilla at gmail.com
Mon Aug 2 23:41:00 UTC 2021


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:
b8a7902907 DIRECTOR: LINGO: Include undefined handler's name in warning
5a917c3c24 DIRECTOR: LINGO: Fix Video Disc XObj name


Commit: b8a790290713e1b7953038b0344e2cb0c31329e5
    https://github.com/scummvm/scummvm/commit/b8a790290713e1b7953038b0344e2cb0c31329e5
Author: djsrv (dservilla at gmail.com)
Date: 2021-08-02T19:37:19-04:00

Commit Message:
DIRECTOR: LINGO: Include undefined handler's name in warning

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


diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 531395f109..5819e5c6fd 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1498,7 +1498,10 @@ void LC::call(const Symbol &funcSym, int nargs, bool allowRetVal) {
 	Datum target = funcSym.target;
 
 	if (funcSym.type == VOIDSYM) {
-		g_lingo->lingoError("Call to undefined handler. Dropping %d stack items", nargs);
+		if (funcSym.name)
+			g_lingo->lingoError("Call to undefined handler '%s'. Dropping %d stack items", funcSym.name->c_str(), nargs);
+		else
+			g_lingo->lingoError("Call to undefined handler. Dropping %d stack items", nargs);
 
 		for (int i = 0; i < nargs; i++)
 			g_lingo->pop();
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index a81374f6b8..1087a70bcd 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -235,16 +235,19 @@ Common::String LingoArchive::getName(uint16 id) {
 }
 
 Symbol Lingo::getHandler(const Common::String &name) {
+	Symbol sym;
 	if (!_eventHandlerTypeIds.contains(name)) {
 		// local functions
 		if (_currentScriptContext && _currentScriptContext->_functionHandlers.contains(name))
 			return _currentScriptContext->_functionHandlers[name];
 
-		Symbol sym = g_director->getCurrentMovie()->getHandler(name);
+		sym = g_director->getCurrentMovie()->getHandler(name);
 		if (sym.type != VOIDSYM)
 			return sym;
 	}
-	return Symbol();
+	sym.type = VOIDSYM;
+	sym.name = new Common::String(name);
+	return sym;
 }
 
 void LingoArchive::addCode(const Common::U32String &code, ScriptType type, uint16 id, const char *scriptName) {


Commit: 5a917c3c247eb9c96719077d1d1cdbb5e33f81d1
    https://github.com/scummvm/scummvm/commit/5a917c3c247eb9c96719077d1d1cdbb5e33f81d1
Author: djsrv (dservilla at gmail.com)
Date: 2021-08-02T19:40:32-04:00

Commit Message:
DIRECTOR: LINGO: Fix Video Disc XObj name

Changed paths:
    engines/director/lingo/xlibs/videodiscxobj.cpp


diff --git a/engines/director/lingo/xlibs/videodiscxobj.cpp b/engines/director/lingo/xlibs/videodiscxobj.cpp
index 99adafb2ca..250d0a8132 100644
--- a/engines/director/lingo/xlibs/videodiscxobj.cpp
+++ b/engines/director/lingo/xlibs/videodiscxobj.cpp
@@ -108,7 +108,7 @@
 
 namespace Director {
 
-static const char *xlibName = "Videodisc";
+static const char *xlibName = "LaserDisc";
 
 static MethodProto xlibMethods[] = {
 	{ "new",			VideodiscXObj::m_new,			 3, 3,	200 },	// D2
@@ -155,7 +155,7 @@ void VideodiscXObj::close(int type) {
 }
 
 
-VideodiscXObject::VideodiscXObject(ObjectType ObjectType) :Object<VideodiscXObject>("Videodisc") {
+VideodiscXObject::VideodiscXObject(ObjectType ObjectType) :Object<VideodiscXObject>("LaserDisc") {
 	_objType = ObjectType;
 }
 




More information about the Scummvm-git-logs mailing list