Versions and updates

One of the principle tasks I set myself is to import as much as I can from my old log files in order to resurrect the Dreamscape of the 1990s.  The process was working just fine, however I had some weird problems with just a couple of locales. Here's one from 15th Feb 1998.

As you can see, this is a bit of a mess.  Trying to debug the code has been difficult, as I can't see anything wrong with it!  The problem is linked to the "choreState" of individual images - basically, this is an index into the data file that indicates which of multiple individual images contained within the file is actually required.  It's often used to allow different aspects or variations of a similar object to be contained within the one image file, rather than having them all be specified individually.

The wall pieces that seem to be wrong all had choreState 12.  Changing these to choreState 3 gave us a display that looked much better.

But why did it import the wrong value for just these few images.   Well, checking the log files, it's definitely 12 (0x0C) being sent -

So it seems choreState 12 is what was being requested, so the import is working correctly.  But for some reason, that doesn't result in the right thing being displayed.

But do you see 0x340BDB0B just a bit beforehand? That's the "imageversion" but it's also a standard unix date - this translates to 2nd September 1997, just a few months before I captured the locale.  o.orga01.img is the particular image file needed.

The image files I have been serving up have been obtained from a variety of sources, in many cases from old backups of installed client folders obtained after I originally worked on this, which means that their own versions are all over the place, but mostly from a later date than this capture.  It would seem that a change was made to this particular image file after the capture, which resulted in the older capture displaying incorrectly with the later image..

Once I know, though, it's easily fixed!

This is, so far, the only example I have found of an image file having been altered between my capturing the locale data and the download of the image I ended up with.   It's possible that this happened for other image files, but I would expect that the principle of maintaining backward-compatibility would ensure I'd not see it.  In this case, the need to change the image must have been great enough to necessitate a "breaking" change that meant that any locale that used it would have to be adjusted accordingly.

This is just one of the joys of data recovery and archaeology! 


Popular Posts