Commit Graph

5968 Commits

Author SHA1 Message Date
jared cotton
d3a2d4c3ea [Backout] - CL32133091
[FYI] jared.cotton
Original CL Desc
-----------------------------------------------------------------
FORT-715613 - "Crash on "Set to Value" of Verse-Optional in array (details panel)"

- Set/Clear optional calls now properly set their ArrayIndicesPerObject (1/2 of original bug)
- Switched to using property `FullPathName` instead of just `name` for mapping array indices to accomodate identically named nested-containers (2/2 of original bug)
    - ie: `Parameters[MyObject{Parameters[]}]` --> the `inner` parameters array would collide with the `outer` parameters array previously when property `name` was the mapping for array indices

[FYI] thomas.sarkanen
[FYI] karen.jirak

[CL 32145068 by jared cotton in ue5-main branch]
2024-03-09 15:34:49 -05:00
steve robb
6ac0633a33 Added UEnum::IsValidEnumValueOrBitfield() for checking if an enum value allows a combination of flags.
Removed the MAX entry from a flags-based UEnum, because it doesn't make any sense and typically isn't a valid flag nor combination of flags.

#rb devin.doucette

[CL 32138237 by steve robb in ue5-main branch]
2024-03-08 19:17:51 -05:00
jared cotton
1621096c3a FORT-715613 - "Crash on "Set to Value" of Verse-Optional in array (details panel)"
- Set/Clear optional calls now properly set their ArrayIndicesPerObject (1/2 of original bug)
- Switched to using property `FullPathName` instead of just `name` for mapping array indices to accomodate identically named nested-containers (2/2 of original bug)
    - ie: `Parameters[MyObject{Parameters[]}]` --> the `inner` parameters array would collide with the `outer` parameters array previously when property `name` was the mapping for array indices

[FYI] thomas.sarkanen
[FYI] karen.jirak

[CL 32134383 by jared cotton in ue5-main branch]
2024-03-08 17:26:34 -05:00
devin doucette
a5ca88ca20 Added struct hashing and custom struct guid support to InstanceDataObject structs
#jira UE-208975
#rb Phillip.Kavan
#rnx

[CL 32126132 by devin doucette in ue5-main branch]
2024-03-08 13:49:31 -05:00
steve robb
6330b35a11 Fixed static asserts in Cast which prevent casts of UObjectBase and UObjectBaseUtility.
#rb james.hopkin

[CL 32119584 by steve robb in ue5-main branch]
2024-03-08 10:15:07 -05:00
steve robb
139bd7ba0b Fixed typo.
[CL 32119077 by steve robb in ue5-main branch]
2024-03-08 10:00:43 -05:00
maxime mercier
52592820f9 Fix nodes not clearing up their modified state.
#jira UE-207805
#rb kurtis.schmidt

[CL 32112119 by maxime mercier in ue5-main branch]
2024-03-07 21:44:44 -05:00
maxime mercier
34b556cf8b Better support of arrays in arrays of subobjects.
Added unittest to test this case

#jira  UE-208279
#rb kurtis.schmidt

[CL 32112076 by maxime mercier in ue5-main branch]
2024-03-07 21:43:15 -05:00
devin doucette
4fe5bee68b Another attempt at controlling when IDO creation and property path tracking are enabled
#jira UE-197352
#rb Phillip.Kavan
#rnx

[CL 32095396 by devin doucette in ue5-main branch]
2024-03-07 14:06:08 -05:00
steve robb
98146d19e4 Renamed old-style namespace.
[CL 32083632 by steve robb in ue5-main branch]
2024-03-07 08:44:27 -05:00
steve robb
3dc22c7283 Refactored FEnumProperty's and FByteProperty's ExportText_Internal to bring them closer to each other, to make them easier to unify.
#rb devin.doucette

[CL 32083396 by steve robb in ue5-main branch]
2024-03-07 08:34:45 -05:00
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
steve robb
fbb5b1bbc1 Fixes for the reuse of LocalUnderlyingProp in FEnumProperty::ExportText_Internal.
[CL 32065890 by steve robb in ue5-main branch]
2024-03-06 15:57:06 -05:00
steve robb
84b6f9e4ea Early out on exporting invalid enum values in FByteProperty::ExportText_Internal.
[CL 32065815 by steve robb in ue5-main branch]
2024-03-06 15:51:43 -05:00
russell johnston
50b7a08a4a AddReferencedObject for VValue
#rb Tim.Smith

[CL 32065658 by russell johnston in ue5-main branch]
2024-03-06 15:45:16 -05:00
steve robb
c00f1ad72e Early out of FByteProperty::ExportText_Internal if it's to be treated numerically, i.e. non-enum.
[CL 32065577 by steve robb in ue5-main branch]
2024-03-06 15:41:22 -05:00
devin doucette
38351b09a9 Changed FPropertyTypeName to serialize when neither saving nor loading
#rb Steve.Robb
#rnx

[CL 32059951 by devin doucette in ue5-main branch]
2024-03-06 13:12:07 -05:00
tim smith
1c4b6ad2d3 Fixed VerseVM to always enable RTFM if it is being compiled in. This is now required by recent changes in VerseVM.
#rb Brandon.Schaefer, neil.henning

[CL 32058850 by tim smith in ue5-main branch]
2024-03-06 12:42:08 -05:00
richard malo
db97c253ae AsyncLoading2 instancing context fix : Don't pass down the request's instancing context to imported packages (FAsyncPackageDesc2::FromPackageImport).
This change has no impact in editor as imports are already handled through InitializeLinkerLoadState.
#rb Andrew.Rodham, JeanFrancois.Dube, Patrick.Enfedaque
#tests Validated the fix in internal projects using instancing context in cooked builds + Validated the fix in in a cooked/staged gym.
[FYI] Francis.Hurteau, danny.couture

[CL 32057625 by richard malo in ue5-main branch]
2024-03-06 12:17:47 -05:00
devin doucette
923575cac1 Removed the non-persistent serialization path for FPropertyTypeName
There are non-persistent archives being used for persistent data. This type is too widely-used to reasonably expect every incorrect archive to be found and fixed.

#rb Steve.Robb
#rnx

[CL 32054977 by devin doucette in ue5-main branch]
2024-03-06 11:11:58 -05:00
devin doucette
06a0d99a5f Removed the default parameter index from FPropertyTypeName
#jira UE-197352
#rb Steve.Robb
#rnx

[CL 32054950 by devin doucette in ue5-main branch]
2024-03-06 11:11:25 -05:00
devin doucette
1625253dd5 Fix property bag serialization for failed conversions and correctly disable IDO support when serializing an IDO
Contains a few improvements to logging property names and types when a type mismatch occurs.

#jira UE-197352
#rb Andrew.Davidson, Phillip.Kavan
#rnx

[CL 32053621 by devin doucette in ue5-main branch]
2024-03-06 10:28:07 -05:00
steve robb
525f7fff8c Fixed UEnum::GetMaxValue() for flag enums.
Added UEnum::GetValueOrBitfieldFromString() for parsing a bar-separated string (but not bar-separated integers) into a flag-based UEnum.
Added UEnum::GetValueOrBitfieldAsAuthoredNameString() and UEnum::GetValueOrBitfieldAsDisplayNameText() to match UEnum::GetValueOrBitfieldAsString(), for authored names and display names respectively.
Added support for serialising enum flags and converting to/from text.

#rb devin.doucette

[CL 32050546 by steve robb in ue5-main branch]
2024-03-06 08:10:30 -05:00
andrew scheidecker
db8b08d7ae Fix FOptionalProperty::ConvertFromType handling of converting from an optional boolean property to something else.
#rb Devin.Doucette, Steve.Robb
#okforversepublic

[CL 32048220 by andrew scheidecker in ue5-main branch]
2024-03-06 04:00:29 -05:00
matt peters
454b47e36a IncrementalCook: Add FCookDependency to record external-file and generic-function dependencies that should invalidate the cook-saved version of a package when they change.
#jira UE-203846
#rnx
#rb Devin.Doucette

[CL 32031201 by matt peters in ue5-main branch]
2024-03-05 14:41:03 -05:00