The engine work begins

Ever since classes ended and I started my exam period (until June 25th), I have been dividing my time between working on the project and studying for exams. It’s been really exhausting, but totally worth it!

Here is a recap of what I’ve done:

Add Black/White CLUT8 support to 9patch

Through someqhat of a hack, I have managed to add balck and white support to 9patch, so as to blit into arbitrary MacGui surfaces. So far, I’ts worked great, but I will consider expanding it if/when I need more colors.

Refactor MacWindow

Now, it hides the 9patch from the client, and a simple call to loadBorder() suffices to load the appropriate border. However, I still kept the old manual WAGE borders as a fallback, if no border is specified.

Begin work on the engine

Yes! Finally I got to a point wwhere I felt that I could start hacking away at the engine. Following the information on this page and reading the code of other engines (namely WAGE and Drascula), I have managed to get an engine running that:

  • Can detect Shadowgate (the Zojoi Rerelease).
  • Can load the menus (although we decided to go with static ones for now).
  • Can load the window information (bounds, windowtype, id…).
  • Can load the controls information (enter, exit, hit, go…), although it can’t render it yet, I’m looking on the text drawing code.

It’s been intense, but the more I hack on MacVenture, the more I enjoy it, and the faster I go!

As a last note, I would like to remind of a few things:

  • My schedule is publicly available at Trello. In the Done section you can see the tasks I consider complete. I try to keep it up to date 🙂
  • I have opened a new branch in my repo to hold all things related to the engine.