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

sev- noreply at scummvm.org
Thu Dec 1 09:33:03 UTC 2022


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

Summary:
7e52767267 DIRECTOR: LINGO: Allow built-ins to be overridden
cf3a452b32 JANITORIAL: Whitespace fix
a92315368a DIRECTOR: LINGO: Update screen during script execution


Commit: 7e527672672dd1efa84043cebbeccc989f41e497
    https://github.com/scummvm/scummvm/commit/7e527672672dd1efa84043cebbeccc989f41e497
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-12-01T10:32:43+01:00

Commit Message:
DIRECTOR: LINGO: Allow built-ins to be overridden

A good example of it is Panic Parc demo, where the setProp built-in
gets redefined

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 4d3b401c9a5..840b96e0bc5 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1548,14 +1548,16 @@ void LC::call(const Common::String &name, int nargs, bool allowRetVal) {
 	// Handler
 	funcSym = g_lingo->getHandler(name);
 
-	// Builtin
-	if (allowRetVal) {
-		if (g_lingo->_builtinFuncs.contains(name)) {
-			funcSym = g_lingo->_builtinFuncs[name];
-		}
-	} else {
-		if (g_lingo->_builtinCmds.contains(name)) {
-			funcSym = g_lingo->_builtinCmds[name];
+	if (funcSym.type == VOIDSYM) { // The built-ins could be overridden
+		// Builtin
+		if (allowRetVal) {
+			if (g_lingo->_builtinFuncs.contains(name)) {
+				funcSym = g_lingo->_builtinFuncs[name];
+			}
+		} else {
+			if (g_lingo->_builtinCmds.contains(name)) {
+				funcSym = g_lingo->_builtinCmds[name];
+			}
 		}
 	}
 


Commit: cf3a452b32489146d300735b1f3c0eeacc7c3d02
    https://github.com/scummvm/scummvm/commit/cf3a452b32489146d300735b1f3c0eeacc7c3d02
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-12-01T10:32:46+01:00

Commit Message:
JANITORIAL: Whitespace fix

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 85870e30f83..0dd24ed2073 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1376,7 +1376,7 @@ void Score::loadActions(Common::SeekableReadStreamEndian &stream) {
 }
 
 Common::String Score::formatChannelInfo() {
-	Frame &frame = *_frames[_currentFrame]; 
+	Frame &frame = *_frames[_currentFrame];
 	Common::String result;
 	result += Common::String::format("TMPO:   tempo: %d, skipFrameFlag: %d, blend: %d\n",
 		frame._tempo, frame._skipFrameFlag, frame._blend);


Commit: a92315368ab90f8248f1f20d0b1ec952cf73bdf9
    https://github.com/scummvm/scummvm/commit/a92315368ab90f8248f1f20d0b1ec952cf73bdf9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-12-01T10:32:46+01:00

Commit Message:
DIRECTOR: LINGO: Update screen during script execution

This ensures that cursor is updated and is smooth

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


diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 2c9302f2fac..249b7a9b3ac 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -556,6 +556,7 @@ void Lingo::execute() {
 		// process events every so often
 		if (localCounter > 0 && localCounter % 100 == 0) {
 			_vm->processEvents();
+			g_system->updateScreen();
 			if (_vm->getCurrentMovie()->getScore()->_playState == kPlayStopped)
 				break;
 		}




More information about the Scummvm-git-logs mailing list