UniSCI with source code!

26/07/2013

After a while from its birth, the UniSCI tool will finally have the page that it deserves! Hidden in the core of the GK2 DVD installer (and also installers for other SCI games, developed by other contributors to the SCI community) this is one of the smartest pieces of C++ code that I ever made in a rush.  Basically, it has to load all data from the 6 CDROMs of the game, join all that stuff, and save it to one big data file. Everything is done automatically — so that the end user feels that it’s just glueing the 6 files together — but there’s a lot of work under the hood.

I still remember when this tool was just sitting in a corner of my mind waiting to be coded. Development took about two weeks of hard work, testing and fixing. There was no documentation about the file formats involved. It was a job about reverse-engineering, disassembling… sometimes even wild guessing!  Luckily, I had no boss limiting my working schedule. At the end, the tool happened to be pretty reliable. Later, it was used even for joining games which it was not conceived for, and I still wonder how that was possible without any debugging involved. Anyway… there are still things to fix, to investigate… as I’ve just been told that the tool is not working for the most recent SCI games.

So I hope that somebody will continue this project from where I left it.  He’ll probably need to learn Italian to understand the comments in the source code.  🙂   Or… he will ask me and I’ll dig into those old days code-adventuring memories.  And I’ll be glad to!

Binary and Source