#UE4 Handled a case where the engine config is not available (like in CrashReportClient)
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2527207 by Bob.Tellez on 2015/04/27 13:59:31.
[CL 2527210 by Bob Tellez in Main branch]
#jira UE-11822 - Add up vector, roll and scale properties to USplineComponent which can be used when calculating rotations/transforms at a point on the spline
#jira UE-13333 - BP spline components do not update when setting points
#jira UE-3637 - SplineComponent: Add a get transform at distance accessor
Summary of changes:
- FInterpCurve now natively understands looping. A input key can be set, at which point the spline will loop back to its start point. Adjusted FInterpCurve methods to take looped curves into account.
- Fixed bugs in FInterpCurve regarding returning default values (T(ForceInit) instead of T() otherwise FVectors and FQuats are not initialized correctly).
- SplineComponent now holds three separate splines (location, rotation and scale).
- The SplineReparamTable is no longer transient, but is built and saved as part of the asset.
- Changed the SplineComponent API. All methods now take a ESplineCoordinateSpace value which specifies whether the values are intended for use in local or world space. The old methods have been deprecated but not removed (for now).
- bAllowSplineEditingPerInstance is deprecated. A new member (bSplineHasBeenEdited) has superseded it, and is set automatically when editing the spline with the visualizer. Added "Reset to Default" option in the visualizer, which restores the archetype defaults.
- SplineComponentVisualizer determines if spline points have been initialized by the user construction script, and, if so, will disallow editing. This is to conform with the general idea that the UCS always overrides property values.
- Fixed a number of bugs in the visualizer, and added new facilities to allow the scale and rotation to be edited (still work-in-progress).
[CL 2524087 by Richard TalbotWatkin in Main branch]
- Removed lambdas and TFunctions from FArchiveAsync (this was the culprit of the regression)
- Added THREADSAFE_UOBJECTS to easily disable UObject multithreading safety and potential overhead (not that it even exists)
- Moved a few functions so that they're not called too often (they come up in profiles)
UE-14282
#lockdown Zachary.EdgertonJones
[CL 2522599 by Robert Manuszewski in Main branch]
UClass went from 424 bytes with 19 bytes padding to 408 with 3.
UStruct went from 160 bytes with 8 bytes padding to 152 with 0.
UScriptStruct went from 176 bytes with 10 bytes padding to 168 with 2.
[CL 2521584 by Jeff Farris in Main branch]
We now have the capacity to set a uproperty value anywhere in the config file hierarchy
Satisfies UEPLAT-429
The user can now use the 'ConfigHierarchyEditable' meta flag in their uproperties to present a butoon that allows the property to be edited in the config hierarchy, where applicable.
Target platform is configurable.
[CL 2521330 by Terence Burns in Main branch]
#UE4 Wrapped expensive stat gathering in #if LOOKING_FOR_PERF_ISSUES and added a yield when flushing async loading in a multithreaded environment
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2519624 by Bob.Tellez on 2015/04/21 14:14:05.
[CL 2519625 by Bob Tellez in Main branch]