12 Commits

Author SHA1 Message Date
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
rex hill
74670d4282 Fix shipping configuration not saving TMaps with string keys to json editorconfig
#preflight skip
#rb aditya.ravichandran

#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 21341173 via CL 21344186 via CL 21344397 via CL 21344589
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21346095 by rex hill in ue5-main branch]
2022-08-11 17:45:07 -04:00
rex hill
826c1a3783 Update FEditorConfig json parsing to support importing string for structs.
Allows FSoftObjectPath property and many other properties to use simple strings.

#rb dave.belanger, jason.stasik
#preflight 62d5b131af68cd745b24e996

#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 21151751 via CL 21153344 via CL 21156614 via CL 21157127
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181899 by rex hill in ue5-main branch]
2022-07-20 11:58:55 -04:00
aditya ravichandran
002f7c803a EditorConfig:
Fix issue with the ResultValue not being set when Enum Properties were serialized
#fyi sebastian.nordgren
#rb lauren.barnes
#preflight 62bf04d0ed35ee71a76c88f5

[CL 20914634 by aditya ravichandran in ue5-main branch]
2022-07-01 10:59:18 -04:00
sebastian nordgren
14ddaf399b Enum properties in EditorConfigs now serialize correctly. Previously we were casting directly to int64*, which in the case of smaller enum types (eg. uint8), would cause more memory to be read and the values to be incorrect.
EditorConfig will now always keep $type keys.

Fixed some unit test failures that hadn't been caught previously, caused by eg. ANY_PACKAGE change.

#review @aditya.ravichandran
#preflight 62bef519a3568e30669ce1b6

[CL 20913918 by sebastian nordgren in ue5-main branch]
2022-07-01 10:05:15 -04:00
sebastian nordgren
8eafe4f70e Editor configs now correctly diff against the CDO when serializing.
Previously, I had assumed that FProperty::InitializeValue() would initialize a simple member (eg. a float) to the correct value, but this appears not to be the case, rather values are zero-initialized and the CDO stores the correct default values. In the case of structs, InitializeStruct() does in fact initialize correctly.

However, this means that we can't use GetMutableDefault() to get an instance of the UObject, since then we're changing what we're diffing against and serialize no values. Changed the usages of this pattern to use singletons instead.

#jira UE-141150
#review-19900014 @lauren.barnes, @aditya.ravichandran
#preflight 6267fa44a021c91a50f26a65

[CL 19919719 by sebastian nordgren in ue5-main branch]
2022-04-26 10:20:56 -04:00
marc audy
cff01aa9fa Added support for native FProperty setters and getters.
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.

#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147839 by marc audy in ue5-main branch]
2022-02-25 10:39:39 -05:00
sebastian nordgren
79cb0d89b4 EditorConfig map handling fixed so that holes in the map won't cause an ensure - you must check IsValidIndex before accessing any value.
#review-18237997 @lauren.barnes
#preflight 619b8f2ecb49ea94932131ed

[CL 18258550 by sebastian nordgren in ue5-main branch]
2021-11-22 10:10:08 -05:00
sebastian nordgren
bb68ab3b81 Added UClass & UStruct versions of FEditorConfigSubsystem::TryGetRoot*.
#review-16449464 @lauren.barnes
#preflight

[CL 16467398 by sebastian nordgren in ue5-main branch]
2021-05-26 08:27:40 -04:00
sebastian nordgren
5072dd8816 UEditorConfigSubsystem now has helpers to directly load into UObjects based on the EditorConfig= class metadata, as well as filtering of properties tagged with the EditorConfig property metadata.
#rb tim.smith, lauren.barnes
#jira UETOOL-3448
#preflight 60aceb521d02bb000144bc59

[CL 16447508 by sebastian nordgren in ue5-main branch]
2021-05-25 10:01:03 -04:00
sebastian nordgren
97672bcf73 Added missing includes causing non-Unity compile failures.
#jira UE-108416

#ROBOMERGE-SOURCE: CL 15407208 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15407227 by sebastian nordgren in ue5-main branch]
2021-02-15 11:55:20 -04:00
sebastian nordgren
6fe795953f Initial submit of the new JSON-based editor config system. This consists of two layers - the JSON config system enables access to JSON objects through the use of JSON paths of the form $.Object.Array[3].Member. The editor config system applies this system to UObjects and UStructs.
#rb chris.gagnon
#jira UETOOL-2769

[CL 15208207 by sebastian nordgren in ue5-main branch]
2021-01-26 11:48:50 -04:00