[Scummvm-git-logs] scummvm master -> 0193472e96db166c9f399da07cb18053261a7a62

sev- sev at scummvm.org
Wed Jul 1 16:17:01 UTC 2020


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:
888e80c9b0 DIRECTOR: LINGO: Reduce header dependency
0193472e96 DIRECTOR: LINGO: Reduce remaining include dependencies


Commit: 888e80c9b0875cb776a657537c392e8affed6a30
    https://github.com/scummvm/scummvm/commit/888e80c9b0875cb776a657537c392e8affed6a30
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-01T18:05:05+02:00

Commit Message:
DIRECTOR: LINGO: Reduce header dependency

Changed paths:
    engines/director/lingo/lingo-builtins.cpp
    engines/director/lingo/lingo-bytecode.cpp
    engines/director/lingo/lingo-code.cpp
    engines/director/lingo/lingo-codegen.cpp
    engines/director/lingo/lingo-funcs.cpp
    engines/director/lingo/lingo-object.cpp
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo.cpp
    engines/director/lingo/lingo.h
    engines/director/lingo/xlibs/fileio.cpp


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 703a2afb45..dfedb52411 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -22,12 +22,12 @@
 
 #include "common/system.h"
 
+#include "graphics/macgui/macwindowmanager.h"
+#include "graphics/macgui/macmenu.h"
+
 #include "director/director.h"
 #include "director/cast.h"
 #include "director/castmember.h"
-#include "director/lingo/lingo.h"
-#include "director/lingo/lingo-builtins.h"
-#include "director/lingo/lingo-code.h"
 #include "director/frame.h"
 #include "director/movie.h"
 #include "director/score.h"
@@ -36,9 +36,10 @@
 #include "director/stage.h"
 #include "director/stxt.h"
 #include "director/util.h"
-
-#include "graphics/macgui/macwindowmanager.h"
-#include "graphics/macgui/macmenu.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-builtins.h"
+#include "director/lingo/lingo-code.h"
+#include "director/lingo/lingo-gr.h"
 
 namespace Director {
 
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 8b1fa42985..04448c8f4f 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -34,6 +34,7 @@
 #include "director/lingo/lingo-builtins.h"
 #include "director/lingo/lingo-bytecode.h"
 #include "director/lingo/lingo-the.h"
+#include "director/lingo/lingo-gr.h"
 
 namespace Director {
 
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 7a80ba82ec..e4646dd935 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -53,6 +53,7 @@
 #include "director/lingo/lingo-builtins.h"
 #include "director/lingo/lingo-code.h"
 #include "director/lingo/lingo-the.h"
+#include "director/lingo/lingo-gr.h"
 
 namespace Director {
 
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 26fe0d4723..61e3d6c642 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -43,15 +43,17 @@
 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
 // THIS SOFTWARE.
 
+#include "common/endian.h"
+
 #include "director/director.h"
 #include "director/castmember.h"
 #include "director/score.h"
+#include "director/types.h"
+#include "director/util.h"
 #include "director/lingo/lingo.h"
 #include "director/lingo/lingo-builtins.h"
 #include "director/lingo/lingo-code.h"
-#include "director/types.h"
-
-#include "director/util.h"
+#include "director/lingo/lingo-gr.h"
 
 namespace Director {
 
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index d54819b881..0318b3eb76 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -20,6 +20,7 @@
  *
  */
 
+#include "audio/audiostream.h"
 #include "audio/decoders/wave.h"
 #include "common/file.h"
 #include "common/macresman.h"
@@ -28,13 +29,16 @@
 #include "graphics/macgui/macwindowmanager.h"
 
 #include "director/director.h"
-#include "director/lingo/lingo.h"
 #include "director/castmember.h"
 #include "director/movie.h"
 #include "director/score.h"
 #include "director/sound.h"
 #include "director/util.h"
 
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-gr.h"
+
+
 namespace Director {
 
 enum MCITokenType {
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 1806695834..046f406f77 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -20,10 +20,13 @@
  *
  */
 
+#include "common/endian.h"
+
 #include "director/director.h"
 #include "director/lingo/lingo.h"
 #include "director/lingo/lingo-code.h"
 #include "director/lingo/lingo-object.h"
+#include "director/lingo/lingo-gr.h"
 #include "director/lingo/xlibs/fileio.h"
 
 namespace Director {
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 75c0bb5200..13b5a85f11 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -38,7 +38,7 @@
 #include "director/lingo/lingo.h"
 #include "director/lingo/lingo-code.h"
 #include "director/lingo/lingo-the.h"
-
+#include "director/lingo/lingo-gr.h"
 namespace Director {
 
 class Sprite;
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 8f420d9a20..3242b04403 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -25,9 +25,9 @@
 #include "common/str.h"
 #include "common/str-array.h"
 
+#include "graphics/macgui/macwindowmanager.h"
+
 #include "director/director.h"
-#include "director/lingo/lingo.h"
-#include "director/lingo/lingo-code.h"
 #include "director/cast.h"
 #include "director/castmember.h"
 #include "director/frame.h"
@@ -36,7 +36,9 @@
 #include "director/sprite.h"
 #include "director/util.h"
 
-#include "graphics/macgui/macwindowmanager.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-code.h"
+#include "director/lingo/lingo-gr.h"
 
 namespace Director {
 
@@ -288,7 +290,7 @@ void Lingo::addCode(const char *code, int archiveIndex, ScriptType type, uint16
 		contextName = Common::String(scriptName);
 	else
 		contextName = Common::String::format("%d", id);
-	
+
 	ScriptContext *sc = compileLingo(code, archiveIndex, type, id, contextName);
 	_archives[_assemblyArchive].scriptContexts[type][id] = sc;
 }
@@ -296,7 +298,7 @@ void Lingo::addCode(const char *code, int archiveIndex, ScriptType type, uint16
 ScriptContext *Lingo::compileAnonymous(const char *code) {
 	debugC(1, kDebugCompile, "Compiling anonymous lingo\n"
 			"***********\n%s\n\n***********", code);
-	
+
 	return compileLingo(code, kArchNone, kNoneScript, 0, "[anonymous]");
 }
 
@@ -693,6 +695,65 @@ int Lingo::getAlignedType(Datum &d1, Datum &d2) {
 	return opType;
 }
 
+Datum::Datum() {
+	u.s = nullptr;
+	type = VOID;
+	lazy = false;
+	refCount = new int;
+	*refCount = 1;
+}
+
+Datum::Datum(const Datum &d) {
+	type = d.type;
+	lazy = d.lazy;
+	u = d.u;
+	refCount = d.refCount;
+	*refCount += 1;
+}
+
+Datum& Datum::operator=(const Datum &d) {
+	if (this != &d) {
+		reset();
+		type = d.type;
+		u = d.u;
+		refCount = d.refCount;
+		*refCount += 1;
+	}
+	return *this;
+}
+
+Datum::Datum(int val) {
+	u.i = val;
+	type = INT;
+	lazy = false;
+	refCount = new int;
+	*refCount = 1;
+}
+
+Datum::Datum(double val) {
+	u.f = val;
+	type = FLOAT;
+	lazy = false;
+	refCount = new int;
+	*refCount = 1;
+}
+
+Datum::Datum(const Common::String &val) {
+	u.s = new Common::String(val);
+	type = STRING;
+	lazy = false;
+	refCount = new int;
+	*refCount = 1;
+}
+
+Datum::Datum(Object *val) {
+	u.obj = val;
+	type = OBJECT;
+	lazy = false;
+	refCount = new int;
+	*refCount = 1;
+}
+
 void Datum::reset() {
 	if (!refCount)
 		return;
@@ -1120,6 +1181,10 @@ void Lingo::printAllVars() {
 	debugN("\n");
 }
 
+int Lingo::getInt(uint pc) {
+	return (int)READ_UINT32(&((*_currentScript)[pc]));
+}
+
 int Lingo::castIdFetch(Datum &var) {
 	Movie *movie = _vm->getCurrentMovie();
 	if (!movie) {
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 7a98e97270..321d74619c 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -23,17 +23,14 @@
 #ifndef DIRECTOR_LINGO_LINGO_H
 #define DIRECTOR_LINGO_LINGO_H
 
-#include "audio/audiostream.h"
 #include "common/hash-ptr.h"
 #include "common/hash-str.h"
-#include "common/endian.h"
-#include "common/str-array.h"
-
-#include "director/types.h"
-#include "director/lingo/lingo-gr.h"
 
+namespace Audio {
+class AudioStream;
+}
 namespace Common {
-	class SeekableSubReadStreamEndian;
+class SeekableSubReadStreamEndian;
 }
 
 namespace Director {
@@ -120,59 +117,13 @@ struct Datum {	/* interpreter stack type */
 
 	int *refCount;
 
-	Datum() {
-		u.s = nullptr;
-		type = VOID;
-		lazy = false;
-		refCount = new int;
-		*refCount = 1;
-	}
-	Datum(const Datum &d) {
-		type = d.type;
-		lazy = d.lazy;
-		u = d.u;
-		refCount = d.refCount;
-		*refCount += 1;
-	}
-	Datum& operator=(const Datum &d) {
-		if (this != &d) {
-			reset();
-			type = d.type;
-			u = d.u;
-			refCount = d.refCount;
-			*refCount += 1;
-		}
-		return *this;
-	}
-	Datum(int val) {
-		u.i = val;
-		type = INT;
-		lazy = false;
-		refCount = new int;
-		*refCount = 1;
-	}
-	Datum(double val) {
-		u.f = val;
-		type = FLOAT;
-		lazy = false;
-		refCount = new int;
-		*refCount = 1;
-	}
-	Datum(const Common::String &val) {
-		u.s = new Common::String(val);
-		type = STRING;
-		lazy = false;
-		refCount = new int;
-		*refCount = 1;
-	}
-	Datum(Object *val) {
-		u.obj = val;
-		type = OBJECT;
-		lazy = false;
-		refCount = new int;
-		*refCount = 1;
-	}
-
+	Datum();
+	Datum(const Datum &d);
+	Datum& operator=(const Datum &d);
+	Datum(int val);
+	Datum(double val);
+	Datum(const Common::String &val);
+	Datum(Object *val);
 	void reset();
 
 	~Datum() {
@@ -453,7 +404,7 @@ public:
 	inst readInst() { return getInst(_pc++); }
 	inst getInst(uint pc) { return (*_currentScript)[pc]; }
 	int readInt() { return getInt(_pc++); }
-	int getInt(uint pc) { return (int)READ_UINT32(&((*_currentScript)[pc])); }
+	int getInt(uint pc);
 	double readFloat() { double d = getFloat(_pc); _pc += calcCodeAlignment(sizeof(double)); return d; }
 	double getFloat(uint pc) { return *(double *)(&((*_currentScript)[pc])); }
 	char *readString() { char *s = getString(_pc); _pc += calcStringAlignment(s); return s; }
diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 468e10bd2d..e548168a7d 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -26,9 +26,10 @@
 #include "common/savefile.h"
 
 #include "director/director.h"
+#include "director/types.h"
 #include "director/lingo/lingo.h"
+#include "director/lingo/lingo-gr.h"
 #include "director/lingo/xlibs/fileio.h"
-#include "director/types.h"
 
 namespace Director {
 


Commit: 0193472e96db166c9f399da07cb18053261a7a62
    https://github.com/scummvm/scummvm/commit/0193472e96db166c9f399da07cb18053261a7a62
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-01T18:16:21+02:00

Commit Message:
DIRECTOR: LINGO: Reduce remaining include dependencies

Changed paths:
    engines/director/lingo/lingo-bytecode.cpp
    engines/director/lingo/lingo-code.cpp
    engines/director/lingo/lingo-codegen.cpp
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo.cpp
    engines/director/lingo/xlibs/fileio.cpp


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 04448c8f4f..4c8eef38a1 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -27,7 +27,6 @@
 #include "director/director.h"
 #include "director/cast.h"
 #include "director/castmember.h"
-#include "director/score.h"
 #include "director/util.h"
 #include "director/lingo/lingo.h"
 #include "director/lingo/lingo-code.h"
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index e4646dd935..d5be25d086 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -44,13 +44,10 @@
 // THIS SOFTWARE.
 
 #include "director/director.h"
-#include "director/castmember.h"
 #include "director/movie.h"
 #include "director/score.h"
-#include "director/sprite.h"
 #include "director/util.h"
 #include "director/lingo/lingo.h"
-#include "director/lingo/lingo-builtins.h"
 #include "director/lingo/lingo-code.h"
 #include "director/lingo/lingo-the.h"
 #include "director/lingo/lingo-gr.h"
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 61e3d6c642..19f10d0924 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -46,12 +46,7 @@
 #include "common/endian.h"
 
 #include "director/director.h"
-#include "director/castmember.h"
-#include "director/score.h"
-#include "director/types.h"
-#include "director/util.h"
 #include "director/lingo/lingo.h"
-#include "director/lingo/lingo-builtins.h"
 #include "director/lingo/lingo-code.h"
 #include "director/lingo/lingo-gr.h"
 
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 13b5a85f11..e6b5024095 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -20,16 +20,11 @@
  *
  */
 
-#include "common/system.h"
-#include "common/events.h"
-
-#include "graphics/macgui/macwindowmanager.h"
 #include "graphics/macgui/macbutton.h"
 
 #include "director/director.h"
 #include "director/cast.h"
 #include "director/castmember.h"
-#include "director/frame.h"
 #include "director/movie.h"
 #include "director/sound.h"
 #include "director/sprite.h"
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 3242b04403..842e6ff603 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -22,8 +22,6 @@
 
 #include "common/file.h"
 #include "common/config-manager.h"
-#include "common/str.h"
-#include "common/str-array.h"
 
 #include "graphics/macgui/macwindowmanager.h"
 
diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index e548168a7d..8adb3a1762 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -26,7 +26,6 @@
 #include "common/savefile.h"
 
 #include "director/director.h"
-#include "director/types.h"
 #include "director/lingo/lingo.h"
 #include "director/lingo/lingo-gr.h"
 #include "director/lingo/xlibs/fileio.h"




More information about the Scummvm-git-logs mailing list