Removing long (part 4): Remove support for serializing longs #31483
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: None
Purpose of change
long
s are of different size on Windows and Linux, which means serializinglong
s leads to non-portable savegames or game data.Also, the serializing of
long
s was viadouble
s, which means we couldn't supportlong
s with full precision anyway.Describe the solution
All the things that were serialized as
long
s are now done asint
s:Some changes for charges values becoming
int
are in this PR rather than #31453 because they were passed by reference to these long function.Describe alternatives you've considered
I considered adding serialization of
int64_t
, but decided YAGNI.Additional context
Part of my ongoing effort to remove all
long
s from the code.