Yesterday final list of Google Summer of Code was settled down. Six students for ScummVM this year, and they have exciting skills.
Christopher Page will drive Return to Launcher / Global Savestate task. It is a long awaited one, when users finally will have possibility to return to launcher after their game play. The main obstacle with this feature was that the engines did not clean up after themselves well and produced leaks, instability and all. There was an infamous commit from Endy four years ago to loop the launcher which was revoked in a half year and lead to certain controversy, but now we are going to get a proper support for this feature. Additionally the student will implement loading of save games from the launcher, will add support for thumbnails view to all engine saves which will add more to ScummVM experience.
Next task is.... FreeSCI plugin, ta-da. Sami Zerrade is the student for it. Again, this does not mean that FreeSCI will be merged into ScummVM. It is some kind of a cross-project task and most of the code will land down in FreeSCI repository. Of course, it will require ScummVM OSystem to be somewhat extended and perhaps our make system rearranged a bit, and this will bring two projects close as never before. Basically if the student will be successful with his task, FreeSCI project is going to turn into an external ScummVM plugin and will have most (all?) of its hardware abstraction layer stripped down in favor of ScummVM OSystem. We think that perhaps we will share even the port builders between the projects, but this all is need to be discussed in more details first. In short, see FreeSCI on NDS and PSP soon!
GUI overhaul is an exciting task by Vicent Pere Marti Guardiola. The goal is to turn our GUI into vector based format, add TTF font rendering, perhaps add some way to easily translate the interface and tons of other rewrites. API will stay as is, or will be minimally changed, but we expect that GUI will be much more flexible and configurable. Another goal is to make it scalable enough so that even smaller ports like NDS and SymbianOS could run it.
Stephen Kennedy will implement Virtual keyboard and Keyboard mapper. This was our failure last year when that student did not write any significant code, and moreover, he tried to trick us. We are in a really big demand of these two features, and we are looking forward to unify our ports. Even desktops will benefit from it as there are tablet PCs and of course, users could want to remap default keys. The appoach promises to be flexible enough for engine developers to cover all supported games.
Amiga sound formats, including TFMX support. Yes, full support for Amiga Monkey Island is on the go. Also within this task first C++ implementation of MaxTrax player used in Legend of Kyrandia 1 and other games is going to be implemented. We will see what other formats Marwan Hilmi will manage to cover.
And finally, our last year successful student Kari Salminen aka Buddha is going to add Support for Operation Stealth. The CinE engine was for a while in ScummVM, but only Future Wars was supported so far. There are big misses in opcodes and other parts of the engine which make Operation Stealth not completable, but I am sure that Kari will manage to finish it.
Thus, stay alert and see that at the end of the year, probably on second major release from now (we are at 6 months release cycle) , ScummVM will be greatly improved.