Finally had some time to do some corner office work. The last time I was working on this, I was trying to decide if I should hardcode the dialogue. It's a short game, but I think ultimately that ends up being really annoying, and... you know I have this thing about writing editors, right?
The actual editing takes place in an embedded gvim. That way I get syntax highlighting (and vim commands!) for free. Since most of my old "conversation trees" have been written in ZZT, I based the syntax on that.
The preview takes a background image and font file from the game, and uses the standard gdk drawing tools to render the text. It's supposed to render whatever text you are currently editing, but I still have to code that part.
The dialog file will get compiled down to a binary format that will be easier to interpret on the DS. I have a parser for it using pyparsing
, which might have been a mistake since that was my first attempt with a parser generator and it's very clumsy.
I haven't even started on the interpreter on the DS side. I need to write some more test dialog, and implement a few #commands
for setting flags and such. Once I'm pretty sure I have the right thing, I'll start coding that.