End of GSoC

Hey everyone, GSoC has come to an end and I would just like to say that it’s been a great experience for me. I’ve learned a whole lot. I’d like to say thank you to Max for having been such a great mentor for me, always there when I needed help, and giving good advice. And thanks to everyone else who has helped me along the way as well.

I’ve provided a project summary which summarizes most everything that I’ve done this summer, as well as a list of things that could be done to further build upon this project. I think I will probably stick around for a while and work on some of these things in my spare time as well.

Nearing the end

Since last post I have added RTL support for Tinsel. I’m currently working on getting meta-info for savestates such as thumbnails, save date, etc. to display in the launcher’s ‘Load’ dialog. I’m also working on adding support for deleting savestates from the launcher. Those two things I would really like to get done.

I would also like to implement the idea that Sev had, which was to add some engine flags for determining which engines support loading from the launcher. That way users would not be confused when there’s a load button, but some of the games won’t load without any explanation. These could possibly be used for RTL as well, so that engines which have a problem won’t give the user the option to RTL from the GMM.

Progress with Savestate Mgmt

Hey everyone. As I mentioned, the past week I’ve been working on implementing some savestate management features, namely loading games directly from savestates ‘-x’, and listing savestates ‘–list-saves’. Some engines already supported these features, and I have added support for some of the engines that didn’t. I’ve added ‘-x’ support for LURE and PARALLACTION, and I’m still working on AGOS and GOB. I’ve added ‘–list-saves’ support for quite a few engines as well.

Monday, July 21, 2008

The past week, after gaining much understanding of how sound is implemented in the engines, I have made some progress getting the settings in the Options dialog to function correctly as well as implemented properly for most engines. Learning how the sound should be implemented and finding the common ground between all of the engines was a challenging part of the Global Main Menu portion of my task.

In the following engines, modifying the sound settings through the GMM works very well, meaning that the volume for music, sfx, and speech can all be adjusted separately:

Sunday, July 13, 2008

Well, it looks like I ended up doing the opposite of what I had planned.

Most of my progress has actually been made in improving the implementation of the Global Main Menu. I have gotten rid of the Quit and RTL flags that were being used by the engines. This is better because previously the Quit flag had to be made public, and the GMM code needed to access these flags, which was not good.

Wednesday, July 2, 2008

It’s been about a week and a half since my last post, I had meant to make an update sooner (sorry, time has just been flying by). I have implemented the Global Main Menu, and it is coming up in all of the engines. We are able to ‘Quit’ and ‘Return to Launcher’ from the GMM, and there are ‘About’ and ‘Options’ dialogs as well. Also, the sound settings for most engines are configurable through the GMM’s Options dialog. I am still working on getting the sound settings to work for the following engines: AGI, LURE, QUEEN, and SCUMM.

Friday, June 20, 2008

Ok, I made a little bit more progress with the return to launcher feature. SAGA, SWORD1, and SWORD2 can now be added to the list of working engines.

As for PARALLACTION, with some significant effort we have learned the cause of the aforementioned memory leaks, however I will be coming back to that problem as well as the KYRA engine later, probably in a couple of weeks.

Monday, June 9, 2008

As of now the following engines are returning to the launcher:

  • AGOS
  • AGI
  • CINE
  • GOB
  • LURE
  • SKY

There are just a few issues I need to look at for a couple of them.

Tuesday, May 27, 2008

Coding phase has officially begun as of yesterday. The past couple of weeks have served as a good introduction for me. I have become more familiar with the ScummVM code, the ScummVM community, and the tools that I will be using regularly to complete this project. I feel like I have already learned a lot.

Thursday, May 15, 2008

Since last post I’ve installed at least one game for each engine. A couple of these I own or were available for free, and for the rest I’ve installed the demos available on the ScummVM website.

I’ve modified the main run loop to return to the launcher when an engine exits. I am now working on getting the AGOS engine to properly and cleanly return to the launcher. I’ve already identified and fixed a few memory leaks using Valgrind.