Replays from older builds cause crash #532
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
34dd31cf51removed 3 preferences. Replays created with builds prior to34dd31cf51have 3 extra preferences in their recordedload_prefs, and these cause a crash in new builds.The quick-and-dirty solution to make those replays work, is to delete those 3 lines in the action log xml, as I have done for #479.
But it would be more preferable if the replay system could skip obsolete preferences in a
load_prefs, and vice-versa, I should make sure that new preferences can be missing from aload_prefselement without causing a crash. (They'd be treated as the default in that case.)load_prefs()should just ignore any preferences it doesn't recognize, optionally logging a warning. I don't think there's any need to preserve the unknown preferences either.I assume this only affects Windows and Linux, right? Since Mac uses the defaults system for its preferences, and the plist already contains preferences that the game doesn't directly recognize (for example, I believe the file dialogs automatically store the last visited directory in the same plist).
It affects Mac too because it's indexing prefsToRecord for nonexistent type parsing hints which lead to a
bad_lexical_cast, but I have this fixed in a dev branch.In fact, this was mac-specific.