[Scummvm-git-logs] scummvm branch-2-8 -> 7ee5827e15b8b5aaa8700b682c8d9f162e68ca06
moralrecordings
noreply at scummvm.org
Mon Jan 22 01:05:53 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7ee5827e15 DIRECTOR: Roll back func_goto freezing logic
Commit: 7ee5827e15b8b5aaa8700b682c8d9f162e68ca06
https://github.com/scummvm/scummvm/commit/7ee5827e15b8b5aaa8700b682c8d9f162e68ca06
Author: Scott Percival (code at moral.net.au)
Date: 2024-01-22T09:05:25+08:00
Commit Message:
DIRECTOR: Roll back func_goto freezing logic
This may have been a mistake; freezing isn't necessarily bad, it just
needs to pick up running the same script after loading the new frame.
Will have another go after writing a D4 test with all the known edge
cases. Makes The Dark Eye work again.
Reverts commit 331df0a138fff525b5084776c372bd2868f340d9.
Changed paths:
engines/director/lingo/lingo-funcs.cpp
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index a4dcb3706b3..b3f19d1d494 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -53,11 +53,11 @@ void Lingo::func_goto(Datum &frame, Datum &movie, bool calledfromgo) {
_vm->_skipFrameAdvance = true;
+ // If there isn't already frozen Lingo (e.g. from a previous func_goto we haven't yet unfrozen),
+ // freeze this script context. We'll return to it after entering the next frame.
+ g_lingo->_freezeState = true;
if (movie.type != VOID) {
- // If there isn't already frozen Lingo (e.g. from a previous func_goto we haven't yet unfrozen),
- // freeze this script context. We'll return to it after entering the next movie.
- g_lingo->_freezeState = true;
Common::String movieFilenameRaw = movie.asString();
if (!stage->setNextMovie(movieFilenameRaw))
@@ -95,11 +95,6 @@ void Lingo::func_goto(Datum &frame, Datum &movie, bool calledfromgo) {
return;
}
- if (g_director->getVersion() < 400)
- // If there isn't already frozen Lingo (e.g. from a previous func_goto we haven't yet unfrozen),
- // freeze this script context. We'll return to it after entering the next frame.
- g_lingo->_freezeState = true;
-
if (frame.type == STRING) {
debugC(3, kDebugLingoExec, "Lingo::func_goto(): going to frame \"%s\"", frame.u.s->c_str());
score->setStartToLabel(*frame.u.s);
More information about the Scummvm-git-logs
mailing list