[Scummvm-devel] MD5s of Scumm data files

Max Horn max at quendi.de
Mon Dec 8 15:48:01 CET 2003


Yo folks,

recently we had some discussion on #scummvm regarding making a table of 
MD5 checksum of game data files (right now restricted to scumm, though 
this could easily be applied to other engines, if desired).

The idea: Collect MD5s of the data files of all supported games in all 
existing variants (of course this is quite a big number considering all 
the localizations etc.). For most purposes, taking the MD5 of one file 
(the "first" data file, so 00.LFL/000.LFL/*.000/*.la0/*.he0/*.sm0) is 
sufficient, for some others it's better to have the MD5 of all

The reason(s): Having these MD5 values opens up various possibilities:
* Perfect auto detection: Using this, ScummVM could look at a 00.LFL 
file and automatically find out whether it's Zak/V1/PC/German or 
Indy3/Mac/English. No need for specifying --platform/--language 
anymore. This is a very useful improvement, IMHO
* We could store the MD5 in the savegames; this allows for better error 
checking (and it means you get a meaningful error instead of a crash if 
you load a FOA/german savegame in FOA/english)
* Of course our table would initially not be complete. No problem, we 
would keep supporting the current way of specifying the language etc. 
via --language/--platform
* We can check for corrupt files (this requires MD5 of all files, and 
is not something I am aiming for currently, but might be interesting in 
the future, e.g. for doing a 'scummvm -check TARGET' command)


I have started to look into this. For fun, I begun a table of MD5 data 
(http://dev.quendi.de/scumm-md5.html). We could if we wanted to, turn 
this into an initial MD5 table for ScummVM. I also found GPLed MD5 code 
with very good performance. I also started work on prototype code which 
implements the auto detection partially.


For now, I'd like to hear other people's thoughts. Esp. Endy's of 
course :-). To me, it seems that this is a quite useful addition, with 
no drawbacks.



Cheers,

Max


P.S.: Feel free to email me MD5s missing from the table :-)





More information about the Scummvm-devel mailing list