Re: Note for jamespetts, please consider pulling from my jp-devel branch
Reply #4 –
*Sigh*. Well, the makeobj and object loading code in standard WAS changed, by prissi. And it was changed in several tricky ways: for one thing, a number of routines appear to correctly handle endianness now, which may not have before (which could cause some very odd results); for another thing, there's a new format for "larger nodes", and I have no idea what the implications of that are.
This is actually most likely from the code which merged cleanly. :-/ So you could create a temporary branch for finding the trouble (a "find-the-bug" branch), and reverse cherrypick;
d844a0f6a836d806ae814caac646364b214f3e35, which I merged as 7b55edadb5407d181bd76e7e831c44eebab0de6e, "making makeobj endian-independent for all operations"
and 7062ca5343e7ee43ca91a6c4eade6e078c9dc27b, which I merged as bd61156bfa359705ce8fd1119808a2c2eb3db964, "CHANGE: allowing for largers nodes in pak and making image nodes smaller"
are the commits most likely to be causing trouble. So you could try
git revert 7b55edadb5407d181bd76e7e831c44eebab0de6e
and/or
git revert bd61156bfa359705ce8fd1119808a2c2eb3db964
And see if one of those fixes the problem. If so, then that will give you a starting point in figuring out how to work around the change and read 7.x save games correctly.
The other, less likely, possibility is in my code. The fallout from merging c0fd3b7732cbaceb0f632f31946f8c0a3ff83cee included the discovery that akt_speed_soll in convoi_t was a *write-only variable* in experimental, so it's now thrown away on read. This could have curious results for some saved games.