[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