diff options
-rw-r--r-- | engines/director/director.cpp | 1 | ||||
-rw-r--r-- | engines/director/director.h | 15 | ||||
-rw-r--r-- | engines/director/lingo/lingo.cpp | 10 |
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); |