aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/director.cpp1
-rw-r--r--engines/director/director.h15
-rw-r--r--engines/director/lingo/lingo.cpp10
3 files changed, 15 insertions, 11 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index f2ad5db3cc..389db0f015 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -43,6 +43,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
DebugMan.addDebugChannel(kDebugLingoExec, "lingoexec", "Lingo Execution");
DebugMan.addDebugChannel(kDebugLingoCompile, "lingocompile", "Lingo Compilation");
DebugMan.addDebugChannel(kDebugLingoParse, "lingoparse", "Lingo code parsing");
+ DebugMan.addDebugChannel(kDebugLingoCompileOnly, "compileonly", "Skip Lingo code execution");
DebugMan.addDebugChannel(kDebugLoading, "loading", "Loading");
DebugMan.addDebugChannel(kDebugImages, "images", "Image drawing");
DebugMan.addDebugChannel(kDebugText, "text", "Text rendering");
diff --git a/engines/director/director.h b/engines/director/director.h
index e199ff5942..26824b44b5 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -56,13 +56,14 @@ class Score;
class Cast;
enum {
- kDebugLingoExec = 1 << 0,
- kDebugLingoCompile = 1 << 1,
- kDebugLoading = 1 << 2,
- kDebugImages = 1 << 3,
- kDebugText = 1 << 4,
- kDebugEvents = 1 << 5,
- kDebugLingoParse = 1 << 6
+ kDebugLingoExec = 1 << 0,
+ kDebugLingoCompile = 1 << 1,
+ kDebugLoading = 1 << 2,
+ kDebugImages = 1 << 3,
+ kDebugText = 1 << 4,
+ kDebugEvents = 1 << 5,
+ kDebugLingoParse = 1 << 6,
+ kDebugLingoCompileOnly = 1 << 7
};
struct MovieReference {
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 24cc5fe76b..8dde6dbfe7 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -650,10 +650,12 @@ void Lingo::runTests() {
_hadError = false;
addCode(script, kMovieScript, counter);
- if (!_hadError)
- executeScript(kMovieScript, counter, 0);
- else
- debug(">> Skipping execution");
+ if (!debugChannelSet(-1, kDebugLingoCompileOnly)) {
+ if (!_hadError)
+ executeScript(kMovieScript, counter, 0);
+ else
+ debug(">> Skipping execution");
+ }
free(script);