[Scummvm-git-logs] scummvm master -> 56d740b60f374663afd846d60d90b5e43bea7656
rvanlaar
noreply at scummvm.org
Fri Mar 18 23:18:17 UTC 2022
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:
56d740b60f DIRECTOR: LINGO: Implement preLoadEventAbort
Commit: 56d740b60f374663afd846d60d90b5e43bea7656
https://github.com/scummvm/scummvm/commit/56d740b60f374663afd846d60d90b5e43bea7656
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2022-03-19T00:18:03+01:00
Commit Message:
DIRECTOR: LINGO: Implement preLoadEventAbort
preLoadEventAbort is a boolean property. When true pressing keys or clicking the
mouse can or stop preloading of cast member. ScummVM doesn't preload, so
implemented as a no-op.
Changed paths:
engines/director/lingo/lingo-bytecode.cpp
engines/director/lingo/lingo-the.cpp
engines/director/lingo/lingo.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 48504f767a6..9e4b76778cd 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -608,6 +608,8 @@ void LC::cb_theassign2() {
g_lingo->_updateMovieEnabled = bool(value.asInt());
} else if (name == "preloadRam") {
// We always have the unlimited RAM, ignore
+ } else if (name == "preLoadEventAbort") {
+ g_lingo->_preLoadEventAbort = bool(value.asInt());
} else {
warning("BUILDBOT: cb_theassign2 unkown name: %s", name.c_str());
}
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 9b35e8c182f..094610e9876 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -717,7 +717,8 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
d = _perFrameHook;
break;
case kThePreloadEventAbort:
- getTheEntitySTUB(kThePreloadEventAbort);
+ d.type = INT;
+ d.u.i = g_lingo->_preLoadEventAbort;
break;
case kThePreLoadRAM:
d.u.i = 0; // We always have unlimited RAM
@@ -1017,7 +1018,7 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
_perFrameHook = d;
break;
case kThePreloadEventAbort:
- setTheEntitySTUB(kThePreloadEventAbort);
+ g_lingo->_preLoadEventAbort = bool(d.asInt());
break;
case kThePreLoadRAM:
// We always have the unlimited RAM, ignore
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index bad4ab1e181..d68590c7480 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -167,6 +167,7 @@ Lingo::Lingo(DirectorEngine *vm) : _vm(vm) {
_itemDelimiter = ',';
_exitLock = false;
+ _preLoadEventAbort = false;
_searchPath.type = ARRAY;
_searchPath.u.farr = new FArray;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 99d2405b972..f2fc4dc3176 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -381,6 +381,7 @@ public:
Datum _actorList;
Common::u32char_type_t _itemDelimiter;
bool _exitLock;
+ bool _preLoadEventAbort; // no-op, everything is always preloaded
Datum _searchPath;
int _traceLoad; // internal Director verbosity level
bool _updateMovieEnabled;
More information about the Scummvm-git-logs
mailing list