Made several attempts executing Spencer.lua dialog file.
With fddnm built with heightened debug mode, I was able to parse Spencer.
However, it was apparent that nodes were missing. Another debugging method
employed was to use Lua comment block markers to isolate which node(s) were
problematic(fddnm would fail with a segmentation fault).
General problem...
Dialog nodes with involved if/elseif/else structures or compound if clauses will
cause the fddnm to fail.
fddnm is structured using regular expressions to find "consistent patterns" in
the dialog files and go from there.
As dialog complexity has increased, defining a regex pattern for every
conceivable use case in the dialog files is not supportable.
Parsing dialog code and produce a graphical output was a "nice idea". However,
without resorting to something like boost::spirit or bison/yacc, I do not feel
fddnm will be able to handle all use cases going forward.
Recommend removal of fddnm from source tree.
RB to follow. |