[Scummvm-git-logs] scummvm master -> 59bafaf777c9238c7a28216d6a2d1c6fde695ba8

sev- sev at scummvm.org
Sat May 23 11:52:19 UTC 2020


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:
0a5ff97e2a DIRECTOR: LINGO: Fix potential crash in c_of()
11daea8b15 DIRECTOR: Count frames drawn by Lingo when 'fewframesonly' is set
7cc2bc5796 DIRECTOR: LINGO: Make cursor responsive for Lingo-controlled rendering
59bafaf777 DIRECTOR: LINGO: Stop code execution as soon as quit is requested


Commit: 0a5ff97e2a16dbe5f473c99b6c76182b3d82968c
    https://github.com/scummvm/scummvm/commit/0a5ff97e2a16dbe5f473c99b6c76182b3d82968c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-23T13:52:07+02:00

Commit Message:
DIRECTOR: LINGO: Fix potential crash in c_of()

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 1d0fee12da..e9e3acacff 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -882,7 +882,7 @@ void LC::c_of() {
 		result = result.substr(first - 1, last - first);
 	}
 
-	*target.u.s = result;
+	target = Datum(result);
 
 	g_lingo->push(target);
 }


Commit: 11daea8b157f206ec22bcbcc4cd9aebe9a7b2d42
    https://github.com/scummvm/scummvm/commit/11daea8b157f206ec22bcbcc4cd9aebe9a7b2d42
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-23T13:52:07+02:00

Commit Message:
DIRECTOR: Count frames drawn by Lingo when 'fewframesonly' is set

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 0421d618c6..f38bab1568 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1818,6 +1818,9 @@ void LB::b_updateStage(int nargs) {
 	}
 
 	score->renderFrame( score->getCurrentFrame(), false, true);
+
+	if (debugChannelSet(-1, kDebugFewFramesOnly))
+		score->_framesRan++;
 }
 
 
diff --git a/engines/director/score.h b/engines/director/score.h
index 3ccd459158..1510a6a81d 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -186,6 +186,8 @@ public:
 
 	Graphics::MacWindow *_window;
 
+	uint16 _framesRan; // used by kDebugFewFramesOnly
+
 private:
 	uint16 _versionMinor;
 	uint16 _versionMajor;
@@ -198,7 +200,6 @@ private:
 	uint16 _castArrayStart;
 	uint16 _currentFrame;
 	uint16 _nextFrame;
-	uint16 _framesRan; // used by kDebugFewFramesOnly
 	int _currentLabel;
 	uint32 _flags;
 	uint16 _castArrayEnd;


Commit: 7cc2bc57963fd95e479295bd14cf81339552c2b3
    https://github.com/scummvm/scummvm/commit/7cc2bc57963fd95e479295bd14cf81339552c2b3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-23T13:52:07+02:00

Commit Message:
DIRECTOR: LINGO: Make cursor responsive for Lingo-controlled rendering

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


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index f38bab1568..063d43f90e 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1818,6 +1818,7 @@ void LB::b_updateStage(int nargs) {
 	}
 
 	score->renderFrame( score->getCurrentFrame(), false, true);
+	g_director->processEvents();
 
 	if (debugChannelSet(-1, kDebugFewFramesOnly))
 		score->_framesRan++;


Commit: 59bafaf777c9238c7a28216d6a2d1c6fde695ba8
    https://github.com/scummvm/scummvm/commit/59bafaf777c9238c7a28216d6a2d1c6fde695ba8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-23T13:52:07+02:00

Commit Message:
DIRECTOR: LINGO: Stop code execution as soon as quit is requested

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


diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index efa9de2594..7e39ac9896 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -84,6 +84,9 @@ void Lingo::execute(uint pc) {
 			warning("Lingo::execute(): Bad PC (%d)", _pc);
 			break;
 		}
+
+		if (_vm->getCurrentScore() && _vm->getCurrentScore()->_stopPlay)
+			break;
 	}
 }
 




More information about the Scummvm-git-logs mailing list