[Scummvm-git-logs] scummvm master -> 5ce2dffaeedacbf5248a74344acb1df4308b5479

rvanlaar noreply at scummvm.org
Fri Mar 11 22:24:01 UTC 2022


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
eef834cbf4 DIRECTOR: LINGO: Implement the traceLoad property
5ce2dffaee DIRECTOR: LINGO: implement updateMovieEnabled


Commit: eef834cbf4dc1ec5c49656341b6fae72156ba4f2
    https://github.com/scummvm/scummvm/commit/eef834cbf4dc1ec5c49656341b6fae72156ba4f2
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2022-03-11T23:23:44+01:00

Commit Message:
DIRECTOR: LINGO: Implement the traceLoad property

The traceLoad property can be 0, 1, 2 or 3. It specifies how much
verbosity is shown when loading cast members.

It's a bt useless for ScummVM. We have our own verbosity mechanism.
Furthermore ScummVM loads all casts up front and unload is a no op.

Changed paths:
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo.cpp
    engines/director/lingo/lingo.h


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index eaddc8964a0..f514e73c38e 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -883,7 +883,8 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		getTheEntitySTUB(kTheTrace);
 		break;
 	case kTheTraceLoad:
-		getTheEntitySTUB(kTheTraceLoad);
+		d.type = INT;
+		d.u.i = g_lingo->_traceLoad;
 		break;
 	case kTheTraceLogFile:
 		getTheEntitySTUB(kTheTraceLogFile);
@@ -1115,7 +1116,7 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
 		setTheEntitySTUB(kTheTrace);
 		break;
 	case kTheTraceLoad:
-		setTheEntitySTUB(kTheTraceLoad);
+		g_lingo->_traceLoad = d.asInt();
 		break;
 	case kTheTraceLogFile:
 		setTheEntitySTUB(kTheTraceLogFile);
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index f8e27aeec44..5c53d906678 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -172,6 +172,7 @@ Lingo::Lingo(DirectorEngine *vm) : _vm(vm) {
 	_searchPath.type = ARRAY;
 	_searchPath.u.farr = new FArray;
 
+	_traceLoad = 0;
 	
 	// events
 	_passEvent = false;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 518fbd888a8..48e2d6cd6d5 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -382,6 +382,7 @@ public:
 	Common::u32char_type_t _itemDelimiter;
 	bool _exitLock;
 	Datum _searchPath;
+	int _traceLoad; // internal Director verbosity level
 
 	Datum getTheEntity(int entity, Datum &id, int field);
 	void setTheEntity(int entity, Datum &id, int field, Datum &d);


Commit: 5ce2dffaeedacbf5248a74344acb1df4308b5479
    https://github.com/scummvm/scummvm/commit/5ce2dffaeedacbf5248a74344acb1df4308b5479
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2022-03-11T23:23:44+01:00

Commit Message:
DIRECTOR: LINGO: implement updateMovieEnabled

updateMovieEnabled is a boolean. It's a flag to signal that the changes
in the movie need to be saved when branching to another movie.

The variable is implemented but without any side effect.

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 f18ea536912..f552f0993e7 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -603,6 +603,8 @@ void LC::cb_theassign2() {
 		g_lingo->_actorList = value;
 	} else if (name == "searchPath") {
 		g_lingo->_searchPath = value;
+	} else if (name == "updateMovieEnabled") {
+		g_lingo->_updateMovieEnabled = 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 f514e73c38e..e43729f2e9b 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -890,7 +890,8 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		getTheEntitySTUB(kTheTraceLogFile);
 		break;
 	case kTheUpdateMovieEnabled:
-		getTheEntitySTUB(kTheUpdateMovieEnabled);
+		d.type = INT;
+		d.u.i = g_lingo->_updateMovieEnabled;
 		break;
 	case kTheWindow:
 		g_lingo->push(id);
@@ -1122,7 +1123,7 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
 		setTheEntitySTUB(kTheTraceLogFile);
 		break;
 	case kTheUpdateMovieEnabled:
-		setTheEntitySTUB(kTheUpdateMovieEnabled);
+		g_lingo->_updateMovieEnabled = bool(d.asInt());
 		break;
 	case kTheWindow:
 		g_lingo->push(id);
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 5c53d906678..c13da3a592b 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -166,13 +166,13 @@ Lingo::Lingo(DirectorEngine *vm) : _vm(vm) {
 	_actorList.u.farr = new FArray;
 
 	_itemDelimiter = ',';
-
 	_exitLock = false;
 
 	_searchPath.type = ARRAY;
 	_searchPath.u.farr = new FArray;
 
 	_traceLoad = 0;
+	_updateMovieEnabled = false;
 	
 	// events
 	_passEvent = false;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 48e2d6cd6d5..d5afb31a143 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -383,6 +383,7 @@ public:
 	bool _exitLock;
 	Datum _searchPath;
 	int _traceLoad; // internal Director verbosity level
+	bool _updateMovieEnabled ;
 
 	Datum getTheEntity(int entity, Datum &id, int field);
 	void setTheEntity(int entity, Datum &id, int field, Datum &d);




More information about the Scummvm-git-logs mailing list