Opened 10 years ago
Closed 10 years ago
#2328 closed defect (fixed)
Can't Load Saved "Random" Games
Reported by: | Hammerhead | Owned by: | sanderd17 |
---|---|---|---|
Priority: | Release Blocker | Milestone: | Alpha 16 |
Component: | Core engine | Keywords: | |
Cc: | Patch: |
Description
0ad 15 (Ubuntu 13) - I can save and load "Skirmish" and "Scenario" games, but after I save a "Random" game, it won't load.
I get a deserialization failed error. In the error window it states: "Failed to load saved game state. It might have been saved with an incompatible version of the game."
The error text on the left of the screen states either "Deserialize_OutOfBounds" or "Deserialize_ReadFailed"
I uninstalled 0ad 15 and reinstalled, but I get the same error.
Thanks for a great game!
Change History (7)
comment:1 by , 10 years ago
comment:4 by , 10 years ago
Milestone: | Backlog → Alpha 16 |
---|---|
Priority: | Must Have → Release Blocker |
comment:6 by , 10 years ago
I'm investigating a bit, and it looks like random maps somehow invalidate the size of the m_EntityData used in the RangeManager. Strangely enough, the count stored in the EntityMap m_Count is lower than the actual number of entities.
This difference causes the serialisation and deserialisation loops to have a different number of iterations, thus crashing the deserialisation that happens after the m_EntityMap deserialisation.
It should be solvable by just counting the number of items, and not relying on m_Count. Though that would be an extra loop. I first want to find out where the invalidation happens.
Same problem on Debian Wheezy