Talk:TheWitcherSave format

Sadly it appears simply editing the player.utc in the savegame file isn't enough. The changes made get rewritten back to their original values. The .sav file looks suspicious but it is opaque with no strings or obvious DWORDs. Tk102 08:22, 14 November 2007 (UTC)
 * The .sav is either compressed or obfuscated, I'm gearing toward the latter since I see a lot of patterns in the data which compression wouldn't really generate. --Trailblazer 09:12, 14 November 2007 (UTC)
 * The first 12 bytes of each .sav is the same: 1F8B 0800 0000 0000 000B C4DD Tk102 02:39, 15 November 2007 (UTC)

.sav files are gzip compressed
The uncompressed .sav file is ERF format and contains module.ifo. The module.ifo contains Mod_PlayerList LIST field which contains a single struct (ID=0xBEAD). This struct is the actual source of player.utc. A regular Matryoshka doll set. Tk102 17:06, 15 November 2007 (UTC)

There is an .smm GFF file in the .TheWitcherSave file. The StartingMod field is an CExoString containing the name of the current .sav file. The .TheWitcherSave's player.utc is identical to the Mod_PlayerList struct listed in that uncompressed .sav file. Tk102 17:34, 15 November 2007 (UTC)


 * What? compressed with zlib? Is this some strange version of zlib that sucks? the .sav files both don't have a zlib signature nor the general structure of a compressed zlib block. --Trailblazer 08:26, 16 November 2007 (UTC)
 * Sorry, gzip. The 0x1F8B signature is that of gzip per RFC 1952.


 * Ahhh, makes much better sense now, and I can't believe I didn't realize that. :) --Trailblazer 22:00, 16 November 2007 (UTC)