mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-06 18:27:26 +00:00
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.
This commit is contained in:
parent
f7d13fdd35
commit
46772a8a32
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user