Files
UnrealEngineUWP/Engine/Source/Runtime/Serialization
nick edwards 3fa5c5180a Fixes to address FDateTime and FTimespan not serializing via StructSerializer, and fixes to address data loss issues when serializing large integer values via the Json struct serializer backend.
- NoExportTypes.h: Mark FDateTime and FTimespan "Tick" variables as UPROPERTY, to allow serialization via FStructSerializer and FStructDeserializer.
- StructSerializerTestTypes.h: Uncomment FDateTime and FTimespan in FStructSerializerBuiltinTestStruct and initialize them with valid values.
- StructSerializerTest.cpp: Test FDateTime and FTimespan to validate that they are the same value before and after (de)serialization. Change the tests to run in any application (useful for executing tests quickly against a client/server via Session Frontend).
- JsonStructSerializerBackend.cpp: Write numeric property values as their native types, rather than casting to double. This can result in data loss for large uint64/int64 values.
- JsonStructDeserializerBackend.cpp: Read the property value via the number string and parse it as its native type. This can avoid data loss when going through double for large uint64/int64 values.
- JsonWriter.h: Add missing overload for writing uint32 values.

#jira UE-63485
#tests StructSerializer tests pass. Successfully compiled blueprints using DateTime variable (ensuring no regression in UE-44418). Verified that runtime values of FDateTime reflect their default value in blueprint (ensuring no regression in UE-39921).
#rb Jamie.Dale

[CL 32081253 by nick edwards in ue5-main branch]
2024-03-07 05:35:48 -05:00
..