In my last post, I mentioned that my next task was to implement a bytecode disassembler for the game’s scripting language (which is, humorously enough, called GPL). The disassembler is now finished, leaving ‘only’ the actual callbacks to be implemented to become a full-fledged GPL interpreter. Comparing a few disassembled scripts with the originals yielded favourable results and since I had the x86 reference implementation, I’m fairly certain I’ve got things right. ?
Completing the disasm also earned me my own branch in the ScummVM repository so I can finally stop juggling patch files around. There are talks on the mailing list about switching over to a DVCS so hopefully these kind of issues can be avoided altogether in the future.
Robert also did some great work in cleaning up the old source code. He translated almost all of the original identifiers from Czech to English so the code is much more readable now. My girlfriend is especially going to appreciate this as I can finally stop pestering her to translate for me (thank you, Nika :D).
Finally, I should probably live up to the “dragons” part of the title: I’ve begun dealing with the graphical subsystem of the game and, as a test, I’ve set up a short animation of the main character (who is a dragon, obviously) that plays itself on engine start. Below is a screenshot of the little guy in action. Well… Not that much action just yet. ?