gemrb icon indicating copy to clipboard operation
gemrb copied to clipboard

META: Ensure save game compatibility for all games

Open lynxlynxlynx opened this issue 4 years ago • 5 comments

Usually early-game saves made in gemrb load fine in the originals, while later we often cause crashes. Historically it has been for a number of reasons including not writing everything back, not writing something specific back (like expecting some unused field to be 0), case differences, new variables (pst) and sometimes even the order of the sections (#359 is an example). And sometimes the bad state is only visible ingame, where the actionbar might be foobared, search map corrupted and so on.

Instructions with two approaches are on the site: https://gemrb.org/Dev-docs.html#save-game-compatibility

The first goal is to check what our current status is with saves right after character generation:

  • [ ] bg1
  • [ ] bg2:soa
  • [ ] bg2:tob
  • [ ] iwd1
  • [ ] iwd1:how
  • [ ] iwd2
  • [ ] pst

While the real goal is to be able to load any game. A good test case would be loading an end-game save:

  • [ ] bg1
  • [ ] bg2:soa
  • [ ] bg2:tob
  • [ ] iwd1
  • [ ] iwd1:how
  • [ ] iwd2 (as far as we support it)
  • [ ] pst

Open new bugs for actual items, this one is to track overall progress.

And once we have a better understanding, maintaining compatibility can be added to release criteria. Unlike, but also if we ever managed to create bit-exact saves, then we could automatically test this on the bots by resaving a provided game and comparing to the input.

lynxlynxlynx avatar Aug 03 '21 19:08 lynxlynxlynx

PST new game save doesn't load.

burner1024 avatar Feb 27 '24 12:02 burner1024

~~Hm, creating a new IWD2 game in GemRB makes the original game freeze on loading. And by freezing I mean I haven't seen a modern Windows fail so hard in a while that it may freeze as well and become unresponsive.~~

Fixed.

MarcelHB avatar May 24 '24 17:05 MarcelHB

iwd2 will need the new spell focus feat effect moved lower, replacing some noop in the original. Now we crash on load, since the opcode number is too high.

lynxlynxlynx avatar Aug 18 '24 15:08 lynxlynxlynx

PST new game save doesn't load.

Yeah, this one damn variable leaks into the savegame again.

MarcelHB avatar Aug 18 '24 18:08 MarcelHB

~~Reproducibly making original BG2 hang: https://github.com/gemrb/gemrb/issues/2125~~ fixed

MarcelHB avatar Sep 13 '24 15:09 MarcelHB