gemrb / gemrb/gemrb

Test save game compatibility for all games

Open
#1,404 8 comments 0 reactions 0 assignees View on GitHub
bug compatibility game: bg1 game: bg2 game: iwd1 game: iwd2 game: pst good first issue research needed
Dominant language
C++
Stars
1.2k
Forks
223
Avg merge
2d 22h
Merged PRs (30d)
4

Description

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.

> [!NOTE]
> **What is needed now is just testing if GemRB saves load in the original.**

Troubleshooting 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 GemRB saves made right after character generation and loaded in the originals:
- [ ] bg1
- [ ] bg2:soa
- [ ] bg2:tob
- [ ] iwd1
- [ ] iwd1:how
- [ ] iwd2
- [ ] pst
- [ ] bg2ee

While the real goal is to be able to load any game. A good test case would be loading an end-GemRB-game save in the originals:
- [ ] bg1
- [ ] bg2:soa
- [ ] bg2:tob
- [ ] iwd1
- [ ] iwd1:how
- [ ] iwd2
- [ ] pst
- [ ] bg2ee

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.~ DONE

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.