Open main menu

Difference between revisions of "Director"

1,196 bytes added ,  23:01, 31 March 2020
(→‎Development and Running: added debugflags)
Line 40: Line 40:
Point ScummVM to engines/director/lingo/tests, that will create target 'directortest'. Launching it will try to compile and execute all *.lingo files in that directory. The tests can also be run from the command line with:  
Point ScummVM to engines/director/lingo/tests, that will create target 'directortest'. Launching it will try to compile and execute all *.lingo files in that directory. The tests can also be run from the command line with:  
  ./scummvm -d11 -p engines/director/lingo/tests/ directortest
  ./scummvm -d11 -p engines/director/lingo/tests/ directortest
=== Debug flags ===
There is a number of debugflags which could be turned on. The up-to-date list could be found in director.cpp in the DirectorEngine class constructor. You turn the flags with <tt>--debugflags=<flag>,<flag></tt>. Please, denote, that messages are often stored at several levels, so add with something like debug level 5, e.g. <tt>-d5</tt>. Example:
  ./scummvm --debugflags=lingoexec,lingocompile,slow -d6 --start-movie=TABLE.DIR chopsuey
The useful ones are:
* lingoexec -- tracing Lingo execution
* lingocompile -- details about Lingo script compilation
* lingoparse -- turns on Bison grammar trace. Verbose. You should know what you're doing
* compileonly -- useful with test targets when we load all files in the directory. This is how we created that status table of Lingo Workshop movies
* slow -- add 2s delay between every frame. Useful at higher debug levels, so you could see what is going on instead of munching megabytes of logs
* fast -- removes delay between frames
* bytecode -- execute precompiled bytecode instead of compiling Lingo. Lingo Workshop movies have both bytecode and script texts
* loading -- produces tons of deciphered data from movie files.


==External Links==
==External Links==