View Single Post
Old November 2, 2010, 00:35   #11
chris
PosChengband Maintainer
 
Join Date: Jan 2008
Posts: 702
chris is on a distinguished road
Random Rant:
Having a new variant in the works, I decided to reset the version numbers down to 0.0.1. Imagine my surprise that this makes new savefiles unreadable! (Now remember, I am a totally clueless nascent 'band developer). Best I can tell, we were supporting savefiles from old versions of Zangband, and code was constantly checking the version in the save file (now 0.0.1) to see if it was older than when some new feature was added 10 years ago, and checking both hengband versions *and* zangband versions.

Well, I ripped out all the conditional loading code that attempted to nicely handle old savefiles. If you have one from before, say, 1.7.0 of Hengband, it won't load.

End Rant.

All things aside, I think Angband has done a wonderful job preserving savefile compatibility, probably at the cost of heroic coding efforts. Kudos! But if you are switching over to a new variant, I think it is a reasonable assumption that savefiles from other variants won't work Guys, finish your games in Hengband first!

Its interesting. At my last job we used to have tons of binary files laying around. But I became convinced that binary files are the root of all evil and converted them all to plain text formats. If you are off by 1 byte (like say, if you decide not to read a byte because of a version check) then you get weird errors in far removed regions of code. I kept getting errors like: "The Wilderness is too big" or "Unable to read inventory". Ever try to pop open a binary file and figure out the problem? Ugh ...

Do other variants still use binary save files?
chris is offline   Reply With Quote