Features over features

It has been too long, and I apologize for that, but like a Protoss player taking a base, many things got ready at once in a short short time (I just bought Starcraft II). So, without further ado, here are the occurrences and features of this past week.

Please ignore the graphical noise in the following screenshots, since it’s due to an issue with my display, not the rendering.

The MacGUI PR got merged

The very first thing I did on GSoC was to take the GUI system from WAGE and extract it to graphics, so that I (and hopefully some other devs) could use it for our engines. Over the course of the development I added some things to it, the most important being the support for custom bitmap-based 9patch borders (using _sev’s code).

Just today, the PR issued to merge this extraction to graphics has been merged, so hopefully somebody will find it useful. I know I certainly did.

The save/load system

I had the saving and loading functionality implemented already (luckily in MacVenture it’s pretty straightforward), but it was a pile of hacks that only worked in one savefile and just for Shadowgate. After some work, and much inspiration from WAGE and Drascula, I added support for ScummVM’s saving dialogs and metadata, which is included at the end of the file so as to try and make the savefiles compatible. However, I have no way to test this, since I do not own a Macintosh.

You can see the results of the new save system here:

A glitch in the matrix…

I added detection for Dèjá Vu and Dèjá Vu II, which would be fairly straightforward were not for the fact that all the Dèjá Vu game files had special characters in their names (D?j? Game, I’m looking at you), so I just couldn’t open them. I have a couple of proper solutions in mind, and I have to look at how Dráscula deals with Spanish tildes, but for now it rests as a dirty hack that takes the problem characters (è and á) and just transforms them to ascii.

Here is a screenshot of Dèjá Vu…

And here is a screenshot of Dèjá Vu II: Lost in Las Vegas. Note the recurring theme of the coat.

Sound!

That is one unfortunate thumbnail, but it is actually the first sound I could find in Dèjá Vu. I implemented the sound system, which has about half a dozen formats, so that now we have sound. I haven’t tested all the formats, only the ones checked here.

Packed borders

Lastly, I implemented the system to read the border files from a file called macventure.zip. Eventually, I’d like to have this file bundled with ScummVM, like Dráscula or Wintermute, but for now just downloading it from here and placing it in a folder findable from ScummVM (the game folder or the extra path) should suffice.

In addition, if you have the games and would like to play, I wrote a short guide here.

As always, I try to keep my Trello updated, and I actually sometimes stream development too, on Twitch.

So long, and happy gaming 🙂