Static Mesh Editor changes:
- Share ownership of StaticMeshViewportClient's ModeTools via the EditorModeManager member
- Set up the EditorModeManager's preview scene and selected components when it's copied
- Add a set of FStaticMeshEditorToolbarExtender delegates to the module (similar to FSkeletalMeshEditorToolbarExtender)
- Allow adding an overlay widget to the viewport
- Add a ModeUILayer member to handle mode toolkit hosting
StaticMeshEditorModeling (new module):
- Create a mode and toolkit with AutoLOD and LODManager tools
- Add a button to the StaticMeshEditor's toolbar to toggle UMeshLODPluginEditMode
#rb brooke.hubert semion.piskarev
#jira UETOOL-3663
#preflight 61435ce14778fa00016a0b28
#preflight 614370e8b5a4fa00016459a0
[CL 17541979 by tyson brochu in ue5-main branch]
Moved functionality from the EditorLevelLibrary into the LevelEditorSubsystem, UnrealEditorSubsystem, EditorActorSubsystem and StaticMeshEditorSubsystem
#jira UE-77334
#rb lauren.barnes, francis.hurteau, brooke.hubert
#fyi chris.gagnon
[CL 13934034 by aditya ravichandran in ue5-main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
This implements the framework to write the high level rendering code into passes organized in direct acyclic graph. It is also unifying the uniform buffer, shader parameters, and pass parameters to same single API: structures with run time meta data. This allow high level user code be extremely seamless, user code debugging, and render graph ease of implementation and debugging.
Issue of collaborative work of Arne Schnober, Brian Karis, Daniel Wright, Marcus Wassmer and Guillaume Abadie.
Names of the graph managed resources are not final.
#rb Arne.Schnober, Brian.Karis, Daniel.Wright, Marcus.Wassmer
[CL 4492694 by Guillaume Abadie in Dev-Rendering branch]
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4023283 by Michael.Lentine
Fix memory leak.
Change 4024243 by Michael.Lentine
Add debugging output code from github #4533.
#jira ue-55764
Change 4026362 by Michael.Lentine
Merged github #3704.
#jira ue-463394
Change 4026545 by Michael.Lentine
Fix ordering of collision settings changed callback
#jira ue-50475
Change 4026609 by Michael.Lentine
Fix crash in destruction for when world is not valid
#jira ue-53989
Change 4026786 by Michael.Lentine
Merging github #4632 to fix memory leak.
#jira ue-57255
Change 4027293 by Michael.Lentine
Integrate github #4338.
#jira ue-53497
Change 4033517 by Michael.Lentine
Fix collision body creation for spline merging.
#jira ue-53956
Change 4039750 by Michael.Lentine
Add basic error message if cooking fails.
Change 4040210 by Michael.Lentine
Check for nullptr
Change 4098887 by Michael.Lentine
Fix warnings.
Change 4103511 by Michael.Lentine
Prevent crash when BodyInstance is invalid.
Change 4117826 by Michael.Lentine
Fix check for body being fixed.
Change 4122307 by Benn.Gallagher
PS4/clang build fixes
Change 4124479 by Benn.Gallagher
Fix non-portable filename used as an include (Linux editor build CIS error)
Change 4125450 by Benn.Gallagher
Fixup Ocean
Change 4127210 by Michael.Lentine
Update the PreviousBoneTransforms array when setting transforms in DestructibleComponent
#jira ue-58813
Change 4127309 by Benn.Gallagher
Fix Win32 shipping builds
Change 4134570 by Michael.Lentine
Missed fixes for WITH_UEPHYSICS.
Change 4134585 by Michael.Lentine
Missed a few more files.
Change 4134670 by Michael.Lentine
Update formatting.
Change 4134671 by Michael.Lentine
More formatting.
Change 4150615 by Benn.Gallagher
Moved immediate mode into engine, as it is now depended on by the physics engine.
Change 4150680 by Benn.Gallagher
Missed file
Change 4150980 by Benn.Gallagher
Rename kinematic target for immediate mode to avoid ambiguous symbols in engine
Change 4151400 by Brice.Criswell
Apeiron
Levelset initilization issue.
----
Change 4157880 by Benn.Gallagher
More fixing unresolved template specialisations for FN editor.
Change 4159128 by Michael.Lentine
Compile fixes
Change 4159786 by Brice.Criswell
Apeiron
Levelset curvature initialization fix, clamps out of bounds phi values to phi[i].
------
Change 4160382 by Michael.Lentine
Fix node initialization
Change 4160463 by Brice.Criswell
Apeiron
Levelset index fix.
----
Change 4161425 by Benn.Gallagher
Added package, class and struct redirects for moving immediate physics into engine.
Change 4164195 by Brice.Criswell
GeometryCollection : Code review updates
- Removed typedef for GeometryCollection::ManagedArray<T>
- Renamed Enumerations to begin with E prefix, retyped to be uint8.
- Removed EArrayScoipe::FScopeNone, now defautls to FScopeShared
- Formatted type modifiers to follow UE4 coding standard.
- Derived the ManagedArrayBase from FNonCopyable
- Disabled TManagedArrays copy constructor and assignment operator.
- Converted most accessors on GeometryCollection to TSharedRef.
- Added .inl style definitions to simplify the management of the ManagedArrayTypes
-----
Change 4164235 by Brice.Criswell
GeometryCollection : Added New Files
- Added the ManagedArrayTypes files.
----
Change 4164309 by Brice.Criswell
GeometryCollection :
Moved the initialization of the RigidBodyIdArray and CenterOfMassArray into the WITH_APEIRON definition.
-----
Change 4166133 by Brice.Criswell
GeometryCollection
Added GeometryCollectionEdit class to protect access to the rest and dynamic collections.
-----
Change 4171540 by Michael.Lentine
Fix reset
#robomerge destruction
Change 4171912 by Michael.Lentine
Rename BVHParticles
#robomerge destruction
Change 4172445 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
----
Change 4172623 by Brice.Criswell
GeometryCollection
Debugging ToString to inspect the GeometryCollection
----
Change 4172711 by Michael.Lentine
Add Immediate Path to Geometry Collection
Change 4172778 by Michael.Lentine
Update LL Interface to use Simulation type.
#robomerge destruction
Change 4172780 by Michael.Lentine
Missed files
#robomerge destruction
Change 4173238 by Benn.Gallagher
Missed file from last checkin
Change 4173554 by Benn.Gallagher
Few extra changes for const correctness and actor counts
Change 4174153 by Benn.Gallagher
Fixed non-unity build issue from Geom Collection.
Change 4175355 by Brice.Criswell
GeometryCollection
Separated the GeometryCollection from USE_APEIRON flag.
-----
Change 4175533 by Brice.Criswell
GeometryCollection
Defaulting Aperion to off.
-----
Change 4175761 by Michael.Lentine
Fix collisions.
Change 4177105 by Benn.Gallagher
Another geom collection CIS fix when running without PCHs
Change 4177796 by Brice.Criswell
GeometryCollection
- Added parenting function to manage the BoneHierarchy Array
- Split collection along yz-plane.
-----
Change 4177989 by Brice.Criswell
GeometryCollection
- Moved Hierarchy and Transform array elements into base class TransformCollection
- Renamed ParticleGroup to TransformGroup.
-----
Change 4178826 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
----
Change 4178840 by Brice.Criswell
Geometry Collection
Removed FORCEINLINE from GeometryCollectionEdit.GetRestCollection
----
Change 4179493 by Brice.Criswell
GeometryCollection
New icons.
-----
Change 4182428 by Brice.Criswell
Build Configuration
Apeiron configuration.
- Modified bCompileApeiron to enable the compilation of the Apeiron plugin.
- Added bUseApeiron to enable Apeiron in the physics interfaces.
Changed PhysScene_Apeiron to enable when bCompileApeiron is enabled.
Disabled the GeometryCollection* Plugins in the build.
-------
Change 4185886 by Brice.Criswell
GeometryCollection
Renaming TransformGroup.
---
Change 4186389 by michael.lentine
Don't create in parallel for immediate mode.
Change 4186457 by michael.lentine
Hack to prevent crashing when Visible is nullptr.
Change 4198872 by Brice.Criswell
Apeiron
Clustering changes
- Clustering based on hierarchy's defined within the Geometry Collection
-----
Change 4199861 by Brice.Criswell
GeometryCollection
Disable Apeiron in the Collection.
------
Change 4200089 by Brice.Criswell
GeometryCollection
Updated to enable Apeiron in the GeometryCollection when the bCompileAperion flag is enabled in the UnrealBuildTool.
---
Change 4200333 by Brice.Criswell
Copying //UE4/Dev-Destruction to Dev-Physics (//UE4/Dev-Physics)
-----
Change 4202231 by Michael.Lentine
Disable collisions between adjacent bodies connected by a joint. This typically would be specified by an artist but classic PhysX always does this uncondintionally so our clients are used to this.
Change 4202748 by Michael.Lentine
Fix 2015 compile.
Change 4204528 by Michael.Lentine
Disable Apeiron.
Change 4206396 by Michael.Lentine
Fix 2015 build. Static cast apparently is not an accetible conversion from uint32 to bool.
#robomerge destruction
Change 4206604 by Michael.Lentine
Fix for using ccd and kinematic.
#jira UE-61694
#robomerge destruction
Change 4206711 by mason.seay
Refreshed Set Angular Drive nodes to clear out orphan pins
Change 4207286 by Brice.Criswell
GeometryCollection
Transform hierarchy evaluation within BoneHierarchy of the Collection.
Parenting operations are implemented on an updated morphology using :
ParentTransforms(UGeometryCollection* GeometryCollection, const int32 InsertAtIndex, const TArray<int32>& SelectedBones);
To parent a new transform:
int32 RootIndex << within len( TransformGroup ) or -1 for a non-parented node.
int32 BoneIndex = Collection->AddElements(1, UGeometryCollection::TransformGroup);
GeometryCollectionAlgo::ParentTransform(Collection, RootIndex, BoneIndex);
Transform[BoneIndex] = <some transform within local space of the RootIndex>
Default collections have all geometry not parented. The function EnsureSingleRoot was added to guarantee that the collection has at least one parent node.
FGeometryCollectionCommands::EnsureSinglRoot(UGeometryCollection* RestCollection)
Then matrices relative to the collections root are calculated using:
GlobalMatrices(UGeometryCollection* GeometryCollection, TArray<FTransform> & Transforms);
Added Damage Threshold to GeometryCollectionActor
------
Change 4208039 by Brice.Criswell
GeometryCollection
Fix for static include failure.
---
Change 4208170 by Brice.Criswell
GeometryCache
SplitAlongYZ to support multiple levels and orientations.
---
Change 4208174 by Michael.Lentine
Avoid shadow warnings and switch logs to verbose instead of warnings.
#robomerge destruction
Change 4210255 by Benn.Gallagher
Static analysis fixes
Change 4210394 by Michael.Lentine
Use correct particle type for updateconstraints.
Change 4211153 by Brice.Criswell
Apeiron
Exposing friction and coefficient of restitution to the actor.
-----
Change 4213034 by michael.lentine
Rename bounding volume
Change 4216783 by Michael.Lentine
Committing cooking fix to Dev-Physics in order to get smoke tests running.
Change 4218078 by Benn.Gallagher
Fixed memory and TLS slot leak caused by previous change to physics scene cleanup while cooking
#jira UE-61633
Change 4219206 by Michael.Lentine
Use the adaptor to get the rotation.
#jira ue-61748
Change 4220469 by Benn.Gallagher
Fixed overlaps re-triggering on movement due to bad transform chaining from component to phys actor to shape
#jira UE-61703
Change 4220538 by Benn.Gallagher
Fixed PhysX errors when setting global transforms of kinematic and static objects.
#jira none
Change 4222138 by Michael.Lentine
Update use of Vulkan on android.
Change 4222139 by Michael.Lentine
Update OculusHMD plugin to use correct vulkan search path.
Change 4225740 by Michael.Lentine
Integrate changes to update rotation and mass.
Change 4225928 by michael.lentine
Use more accurate collision point.
Change 4226560 by michael.lentine
Enable contact graph
Change 4227397 by Michael.Lentine
If we don't have a global scene we need to not detect collisions.
#robomerge destruction
Change 4227410 by Michael.Lentine
Missing include
#robomerge destruction
Change 4228107 by Michael.Lentine
Integrate static contact changes.
Change 4228612 by michael.lentine
Use more correct thresholding.
Change 4228734 by Benn.Gallagher
Getting LLImmediate high level stood up and simulating
Implementation is incomplete, only what is required to get simple scenes simulating under immediate mode
Change 4228748 by Benn.Gallagher
Missed file from checkin
Change 4228885 by Ori.Cohen
Added base physics interface class to help provide default behavior and easily chain functionality together
Change 4228992 by Ori.Cohen
Fix cis
Change 4229921 by Benn.Gallagher
Fixed contact pre-filter performance regression
Change 4230825 by Benn.Gallagher
Moved WIP physics interfaces to Experimental/ folders
Change 4230853 by Benn.Gallagher
Fixup includes after moving WIP physics interfaces
Change 4231414 by Michael.Lentine
Use global namespace to avoid mac compile errors.
#jira ue-62137
[CL 4242847 by Michael Lentine in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3550452 by Ben.Marsh
UAT: Improve readability of error message when an editor commandlet fails with an error code.
Change 3551179 by Ben.Marsh
Add methods for reading text files into an array of strings.
Change 3551260 by Ben.Marsh
Core: Change FFileHelper routines to use enum classes for flags.
Change 3555697 by Gil.Gribb
Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.
#jira UE-47668
Change 3556464 by Ben.Marsh
UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.
Change 3557630 by Ben.Marsh
Allow the network version to be set via Build.version if it's not overriden from Version.h.
Change 3561357 by Gil.Gribb
Fixed crashes related to loading old unversioned files in the editor.
#jira UE-47806
Change 3565711 by Graeme.Thornton
PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)
Change 3565864 by Robert.Manuszewski
Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.
Change 3569022 by Ben.Marsh
PR #3849: Update gitignore (Contributed by mhutch)
Change 3569113 by Ben.Marsh
Fix Japanese errors not displaying correctly in the cook output log.
#jira UE-47746
Change 3569486 by Ben.Marsh
UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.
Change 3570483 by Graeme.Thornton
Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors
Change 3570513 by Robert.Manuszewski
Fix for a race condition with async loading thread enabled.
Change 3570664 by Ben.Marsh
UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.
Change 3570708 by Robert.Manuszewski
Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.
Change 3571592 by Ben.Marsh
UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.
Change 3572215 by Graeme.Thornton
UBT
- Remove some unnecessary using directives
- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself
Change 3572437 by Robert.Manuszewski
Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.
#jira UE-44996
Change 3572480 by Robert.Manuszewski
MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long
Change 3573547 by Ben.Marsh
Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.
Change 3574562 by Robert.Manuszewski
PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)
Change 3575017 by Ben.Marsh
Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.
Change 3575689 by Ben.Marsh
Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.
Change 3575934 by Steve.Robb
Fix for nested preprocessor definitions.
Change 3575961 by Steve.Robb
Fix for nested zeros.
Change 3576297 by Robert.Manuszewski
Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.
#jira FORT-38977
Change 3576366 by Ben.Marsh
Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.
Change 3578290 by Graeme.Thornton
Changes to Ionic zip library to allow building on dot net core
Change 3578291 by Graeme.Thornton
Ionic zip library binaries built for .NET Core
Change 3578354 by Graeme.Thornton
Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string
Change 3578674 by Robert.Manuszewski
After loading packages flush linker cache on uncooked platforms to free precache memory
Change 3579068 by Steve.Robb
Fix for CLASS_Intrinsic getting stomped.
Fix to EClassFlags so that they are visible in the debugger.
Re-added mysteriously-removed comments.
Change 3579228 by Steve.Robb
BOM removed.
Change 3579297 by Ben.Marsh
Fix exception if a plugin lists the same module twice.
#jira UE-48232
Change 3579898 by Robert.Manuszewski
When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.
Change 3579983 by Robert.Manuszewski
More fixes for freeing linker cache memory in the editor.
Change 3580012 by Graeme.Thornton
Remove redundant copy of FileReference.cs
Change 3580408 by Ben.Marsh
Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.
Change 3582104 by Graeme.Thornton
Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.
Change 3582131 by Graeme.Thornton
#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.
Change 3582645 by Ben.Marsh
PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)
#jira UE-48192
Change 3583955 by Robert.Manuszewski
Support for EDL cooked packages in the editor
Change 3584035 by Graeme.Thornton
Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.
Change 3584177 by Robert.Manuszewski
Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)
Change 3584315 by Ben.Marsh
Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.
Change 3584370 by Ben.Marsh
Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.
Change 3584498 by Ben.Marsh
Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.
Change 3585003 by Steve.Robb
Fix for TChunkedArray ranged-for iteration.
#jira UE-48297
Change 3585235 by Ben.Marsh
Remove LogEngine extern from Core; use the platform log channels instead.
Change 3585942 by Ben.Marsh
Move MessageBoxExt() implementation into application layer for platforms that require it.
Change 3587071 by Ben.Marsh
Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.
Change 3587161 by Ben.Marsh
Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.
Change 3587579 by Steve.Robb
Fix for Children list not being rebuilt after hot reload.
Change 3587584 by Graeme.Thornton
Logging improvements for pak signature check failures
- Added "PakCorrupt" console command which corrupts the master signature table
- Added some extra log information about which block failed
- Re-hash the master signature table and to make sure that it hasn't changed since startup
- Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
- Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again
Change 3587586 by Graeme.Thornton
Changes to make UBT build and run on .NET Core
- Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
- VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
- After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects
Change 3587953 by Steve.Robb
Allow arbitrary UENUM initializers for enumerators.
Editor-only data UENUM support.
Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.
#jira UE-46274
Change 3589827 by Graeme.Thornton
More fixes for VSCode project generation and for UBT running on .NET Core
- Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
- UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
- Added documentation for UEConsoleTraceListener
- All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
- Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
- Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff
Change 3589868 by Graeme.Thornton
Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.
UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases
Change 3589919 by Robert.Manuszewski
Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)
Change 3589940 by Graeme.Thornton
Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.
Change 3590078 by Graeme.Thornton
Fully disable automatic assembly info generation in .NET Core projects
Change 3590534 by Robert.Manuszewski
Marking UObject as intrinsic clas to fix a crash on UFE startup.
Change 3591498 by Gil.Gribb
UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.
Change 3591605 by Gil.Gribb
UE4 - Follow up to fixing several edge cases in the low level async loading code.
Change 3592577 by Graeme.Thornton
.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates
Change 3592684 by Steve.Robb
Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.
Change 3592710 by Steve.Robb
Fix for invalid casts in ListProps command.
Some name changes in command output.
Change 3592715 by Ben.Marsh
Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.
Change 3592767 by Gil.Gribb
UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.
Change 3592770 by Gil.Gribb
UE4 - Fixed a race condition with async read completion in the prescence of cancels.
Change 3593090 by Steve.Robb
Better error message when there two clashing type names are found.
Change 3593697 by Steve.Robb
VisitTupleElements function, which calls a functor for each element in the tuple.
Change 3595206 by Ben.Marsh
Include additional diagnostics for missing imports when a module load fails.
Change 3596140 by Graeme.Thornton
Batch file for running MSBuild
Change 3596267 by Steve.Robb
Thread safety fix to FPaths::GetProjectFilePath().
Change 3596271 by Robert.Manuszewski
Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor
#jira UE-47535
Change 3596283 by Steve.Robb
Redundant casts removed from UHT.
Change 3596303 by Ben.Marsh
EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.
Change 3596337 by Ben.Marsh
UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.
Change 3596367 by Steve.Robb
Iterator checks in ranged-for on TMap, TSet and TSparseArray.
Change 3596410 by Gil.Gribb
UE4 - Improved some error messages on runtime failures in the EDL.
Change 3596532 by Ben.Marsh
UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.
#jira UE-48119
Change 3596631 by Steve.Robb
Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.
Change 3596807 by Ben.Marsh
Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.
* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.
Change 3596957 by Steve.Robb
UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
Renaming of ObjMap to ObjSrcMap in MapFileParser.
Change 3597213 by Ben.Marsh
Remove AutoReporter. We don't support this any more.
Change 3597558 by Ben.Marsh
UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:
+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")
The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.
Change 3597982 by Ben.Marsh
Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).
#jira UE-47173
Change 3598045 by Ben.Marsh
UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).
Change 3599214 by Ben.Marsh
Avoid string duplication when comparing extensions.
Change 3600038 by Steve.Robb
Fix for maps being modified during iteration in cache compaction.
Change 3600136 by Steve.Robb
GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool
Change 3600214 by Steve.Robb
More accurate error message when unsupported template parameters are provided in a TSet property.
Change 3600232 by Ben.Marsh
UBT: Force UHT to run again if the .build.cs file for a module has changed.
#jira UE-46119
Change 3600246 by Steve.Robb
GitHub #3045 : allow multiple interface definition in a file
Change 3600645 by Ben.Marsh
Convert QAGame to Include-What-You-Use.
Change 3600897 by Ben.Marsh
Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.
Change 3601558 by Graeme.Thornton
Simple first pass VSCode editor integration plugin
Change 3601658 by Graeme.Thornton
Enable intellisense generation for VS Code project files and setup include paths properly
Change 3601762 by Ben.Marsh
UBT: Add support for adaptive non-unity builds when working from a Git repository.
The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.
Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:
<SourceFileWorkingSet>
<Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
<RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
<GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
</SourceFileWorkingSet>
Change 3604032 by Graeme.Thornton
First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.
Change 3604038 by Graeme.Thornton
Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.
Change 3604106 by Steve.Robb
GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro
Change 3604192 by Steve.Robb
GitHub #3911 : Improving ToUpper/ToLower efficiency
Change 3604273 by Graeme.Thornton
IWYU build fixes when malloc profiler is enabled
Change 3605457 by Ben.Marsh
Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.
Change 3606720 by James.Hopkin
Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.
Change 3606807 by Graeme.Thornton
Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.
Change 3607026 by James.Hopkin
Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed
Change 3607142 by Graeme.Thornton
UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.
Change 3607146 by Ben.Marsh
UGS: Fix exception due to formatting string when Perforce throws an error.
Change 3607147 by Steve.Robb
Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
Float and double conversion support added to int properties.
NAME_DoubleProperty added.
Fix for converting enum class enumerators > 255 to int properties.
Change 3607516 by Ben.Marsh
PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)
Change 3610421 by Ben.Marsh
UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.
Change 3610657 by Ben.Marsh
UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.
Change 3611000 by Ben.Marsh
UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.
Change 3612471 by Ben.Marsh
UBT: Move FastJSON into DotNETUtilities.
Change 3613479 by Ben.Marsh
UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.
Change 3613910 by Ben.Marsh
UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.
Change 3614075 by Ben.Marsh
UBT: Remove hacks for testing project file attributes by name.
Change 3614090 by Ben.Marsh
UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.
Change 3614488 by Ben.Marsh
UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.
Change 3614490 by Ben.Marsh
UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.
Change 3614962 by Ben.Marsh
UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.
Change 3615416 by Ben.Marsh
EC: Include an icon showing the overall status of a build in the grid view.
Change 3615713 by Ben.Marsh
UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.
#jira UE-48987
Change 3616652 by Ben.Marsh
Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.
#jira UE-49007
Change 3616680 by Ben.Marsh
Add the CodeAPI-HTML.tgz file into the installed engine build.
Change 3616767 by Ben.Marsh
Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.
Change 3616864 by Ben.Marsh
Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.
#jira UE-48711
Change 3619964 by Ben.Marsh
UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.
Change 3548930 by Ben.Marsh
UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.
Change 3558056 by Ben.Marsh
Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).
Change 3563309 by Graeme.Thornton
Moved some common C# classes into the DotNETCommon assembly
Change 3570283 by Graeme.Thornton
Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore
Change 3572811 by Ben.Marsh
UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).
Change 3573397 by Ben.Marsh
UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.
Change 3575659 by Ben.Marsh
Remove CHM API documentation.
Change 3582103 by Graeme.Thornton
Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core
Removed reference to System.Windows.Form from UBT.
Change 3584113 by Ben.Marsh
Move key-mapping functionality into the InputCore module.
Change 3584278 by Ben.Marsh
Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.
Change 3584453 by Ben.Marsh
Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.
Change 3585301 by Ben.Marsh
Move PlatformPostInit() into an FPlatformApplicationMisc function.
Change 3587050 by Ben.Marsh
Move IsThisApplicationForeground() into FPlatformApplicationMisc.
Change 3587059 by Ben.Marsh
Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.
Change 3587119 by Ben.Marsh
Move GetAbsoluteLogFilename() into FPlatformMisc.
Change 3587800 by Steve.Robb
Fixes to container visualizers for types whose pointer type isn't simply Type*.
Change 3588393 by Ben.Marsh
Move platform output devices into their own headers.
Change 3588868 by Ben.Marsh
Move creation of console, error and warning output devices int PlatformApplicationMisc.
Change 3589879 by Graeme.Thornton
All automation projects now have a reference to DotNETUtilities
Fixed a build error in the WEX automation library
Change 3590034 by Ben.Marsh
Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).
Change 3593754 by Steve.Robb
Fix for tuple debugger visualization.
Change 3597208 by Ben.Marsh
Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.
Change 3600163 by Ben.Marsh
UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.
#jira UE-46725
Change 3604279 by Graeme.Thornton
Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects
Change 3606685 by James.Hopkin
Removed redundant 'Cast's (casting to either the same type or a base).
In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.
Change 3610950 by Ben.Marsh
UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.
Change 3610991 by Ben.Marsh
UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.
Change 3612342 by Ben.Marsh
UBT: Change JsonObject.Read() to take a FileReference parameter.
Change 3612362 by Ben.Marsh
UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.
Change 3619128 by Ben.Marsh
Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.
[CL 3620189 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3294073 on 2017/02/09 by Thomas.Sarkanen
Delete old location of FriendViewModel.h that did not get picked up correctly in the merge
Change 3354003 on 2017/03/20 by Thomas.Sarkanen
Back out changelist 3353914
Change 3355932 on 2017/03/21 by Thomas.Sarkanen
Back out changelist 3354003
Reinstating merge from Main:
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839
Change 3358776 on 2017/03/22 by Ori.Cohen
Recreate physics when changing mobility of components - fixes debug rendering issue
#JIRA UE-39328
Change 3360075 on 2017/03/23 by James.Golding
Back out changelist 3358776, as it was made after smoke testing. Will re-submit after copy to main.
Change 3362695 on 2017/03/24 by Thomas.Sarkanen
Use correct extender when building menus for AnimationEditor, SkeletalMeshEditor & SkeletonEditor
#jira UE-41100 - Persona code calling incorrect extenders when building menus.
Change 3362696 on 2017/03/24 by Thomas.Sarkanen
Facial animation experimental feature now pops up restart editor toast
#jira UE-40989 - User is not prompted to restart the editor when enabling the Facial Animation Importer
Change 3362699 on 2017/03/24 by Thomas.Sarkanen
Enable snapping for translation in animation viewports
#jira UE-39747 - Translating sockets in Persona is not affected by Snap Options
#jira UE-39748 - Translating bones in Persona is not affected by Snap Options
Change 3362700 on 2017/03/24 by Thomas.Sarkanen
Curve source nodes now dont update their source title if the source is a pin
The title of the node is not recached when the pin default changes, so we cant display it in the title
#jira UE-40108 - When changing a Curve Source Node doesn't update source binding name when typed in
Change 3362721 on 2017/03/24 by Thomas.Sarkanen
CVar r.SkeletalMeshLODBias no longer affects meshes in animation viewports
#jira UE-35733 - GSkeletalMeshLODBias affects render LOD in Persona
Change 3362724 on 2017/03/24 by Thomas.Sarkanen
Fix animation preview scene keyboard bindings
Also moved advanced preview scene into its own module
#jira UE-41505 - Pressing the hotkey I and O do not hide the floor and environment if the Preview Scene Settings tab isn't opened.
Change 3362783 on 2017/03/24 by Ori.Cohen
Fix incorrect locking and check when an editor static shape is changed. Originally this code assumed it would only get called at runtime, where there is only 1 shape. In the case of the async scene and static shapes - there are two shapes and if you update the body setup in the editor this will crash.
Change 3362796 on 2017/03/24 by Ori.Cohen
Fix welded capsules not using the right rotation
#JIRA UE-41546
Change 3362803 on 2017/03/24 by Ori.Cohen
Recreate physics when changing mobility of components - fixes debug rendering issue
#JIRA UE-39328
Change 3363013 on 2017/03/24 by Thomas.Sarkanen
Fix CIS issue
Change 3363202 on 2017/03/24 by Ori.Cohen
Fix bad #endif
Change 3363295 on 2017/03/24 by Ori.Cohen
Remove bWelded and use WeldParent everywhere. This fixes a bad case where a kinematic is returned as the root welded of simulated children.
#JIRA UE-40783
Change 3363435 on 2017/03/24 by Jon.Nabozny
Fix infinite jump on client when Jump Max Hold Time is not 0.
#jira UE-41004
Change 3363451 on 2017/03/24 by Jon.Nabozny
Fix USkeletalMeshComponent::PoseTickedThisFrame to use a frame counter instead of world time (which isn't changed while paused).
#jira UE-39567
Change 3363504 on 2017/03/24 by Jon.Nabozny
Fix SCE_NP_MATCHING2_REQUEST_EVENT_SEARCH_ROOM_A to treat result data as linked list instead of array.
(Code originally came from SCE via UDN)
#jira UE-41049
Change 3363532 on 2017/03/24 by Ori.Cohen
Change default to SkipSimulatedBones.
#JIRA UE-41404
Change 3363537 on 2017/03/24 by Ori.Cohen
Remove the unsupported option of HideBone with DisableCollision. If we want this in the future we can add it.
#JIRA UE-30826
Change 3363681 on 2017/03/24 by Jon.Nabozny
Reapply 3292286 after it was clobbered by 3360002
(Only clobbered in Ocean).
#jira UE-37512
Change 3363722 on 2017/03/24 by mason.seay
Updated map to improve testing
Change 3365351 on 2017/03/27 by Thomas.Sarkanen
Fix non-PCH CIS errors
#jira UE-43335 - CIS fail: 'FAdvancedPreviewSceneCommands is not a class name
Change 3365422 on 2017/03/27 by Thomas.Sarkanen
Fixed skinned mesh LOD not updating in editor under various physics-related circumstances
#jira UE-42013 - Skeletal meshes with recently generated LODs will not change LODs in viewport
Change 3365423 on 2017/03/27 by Thomas.Sarkanen
Fix ensure when setting Spline IK Bone Axis to 'None'
Node is currently not in use, so I've avoided deprecating this for now. Values should be preserved.
#jira UE-39723 - Ensure when setting Bone Axis to None in Spline IK
Change 3365424 on 2017/03/27 by Thomas.Sarkanen
Fix control rigs being convertable to possessables
Also prevent 'export to anim sequence' button from appearing on standard level sequences
#jira UE-42070 - Crash converting a control rig to Possessable
Change 3365425 on 2017/03/27 by Thomas.Sarkanen
When selecting bones that are non-required, we dont render gizmos or text labels
#jira UE-35737 - Bone labels flicker between two locations when removing from LOD levels in Persona
Change 3365426 on 2017/03/27 by Thomas.Sarkanen
Fixed foot placement IK doing line traces on worker threads
Also exposed const access to required bones array (the proxy already does this, so I figure the instance should get it too).
Note: Node is not actually used
#jira UE-43179 - Fix FAnimNode_FootPlacementIK doing line trace on worker thread
Change 3365428 on 2017/03/27 by Thomas.Sarkanen
Skeleton selection no does not lag behind choice made in viewport
#jira UE-42236 - Mesh Overlay always lags behind actual selection
Change 3365429 on 2017/03/27 by Thomas.Sarkanen
Fix anim BPs that contain state machines having blank palettes
#jira UE-42172 - AnimBP Palette is blank on existing AnimBPs
Change 3365435 on 2017/03/27 by Jurre.deBaare
Undoing Channel selection in Paint mode does not work
#fix use duplicated CDO object instead of CDO directly
#jira UE-42621
Change 3365436 on 2017/03/27 by Jurre.deBaare
Functionless undo/redo transactions created when importing Alembic file and changing conversion settings
#fix use duplicated CDO object instead of CDO directly
#jira UE-40347
Change 3365437 on 2017/03/27 by Jurre.deBaare
Ensure that HLOD cannot be set up in sub-levels
#fix added functionality to check whether or not a level is used as a sub/streaming level in any other content, and if so show a widget similar to the checkout notice to inform the user why the hlod outliner is disabled
#jira UE-40301
Change 3365438 on 2017/03/27 by Jurre.deBaare
2D Blendspace breaks when aligning samples in a straight line
#fix for some reason the number of samples to considerate was limit to 3 (old code) so removed it since it doesn't make sense
#jira UE-42744
Change 3365439 on 2017/03/27 by Jurre.deBaare
Color View Mode doesn't reset when closing/reopening editor
#fix added a delegate to OnEditorClose to ensure we can reset the viewport modes while they still exist, this issue would happen if the user closes the editor with mesh paint mode open, exiting the mode would only happen after destructing most of the editor
#jira UE-42466
Change 3365440 on 2017/03/27 by Jurre.deBaare
LOD Model field scrubbing is very sensitive
#fix made sure that max slider value is also driven by data
#jira UE-42980
Change 3365441 on 2017/03/27 by Jurre.deBaare
Replacing an asset in a sequence player node does not register in undo history
#fix added transaction for dropping anim assets on player nodes
#jira UE-39152
Change 3365442 on 2017/03/27 by Jurre.deBaare
Crash on Mac importing some alembic files
#fix disable multithread abc file reading with HDF5 backend
#jira UE-39783
Change 3365443 on 2017/03/27 by Jurre.deBaare
Moving over Alembic feature: "Add support for 'finding' materials according to the face-set names in abc files"
Change 3365444 on 2017/03/27 by Jurre.deBaare
Moving over Alembic fixes:
- Time offset issues > changed how we determine frame indices and frame steps
- Incorrect tangent issues > enforce tangent calculation during skeletal mesh import
- Automatically set recompute tangent flag on skeletal mesh sections
Change 3365451 on 2017/03/27 by Jurre.deBaare
CIS: include needed for GetTransientPackage
Change 3365460 on 2017/03/27 by Jurre.deBaare
CIS: apparently CIS wants explicit cast to UObject
Change 3365463 on 2017/03/27 by Jurre.deBaare
CIS: final fix, was actually UPackage include missing ugh
Change 3365486 on 2017/03/27 by Thomas.Sarkanen
Fix case error in include for Linux builds
Change 3365499 on 2017/03/27 by James.Golding
Fix editing collision settings sometimes not 'sticking' - wait until after LoadProfileConfig (which modified Profiles array) to copy to 'SavedData'
Fix FCollsiionProfileData typo
#jira UE-42490
Change 3365500 on 2017/03/27 by Jurre.deBaare
Turning on LOD Model Painting does not copy paint to other LODs on Skeletal Mesh
#fix neede to pre edit / post edit the skeletal mesh to ensure the color buffers were re-initialised
#jira UE-42637
Change 3365501 on 2017/03/27 by James.Golding
Disable rather than hide anim picker when no mesh assigned
#jira UE-35537
Change 3365505 on 2017/03/27 by James.Golding
Fix USkinnedMeshComponent::FindClosestBone ignoring bRequirePhysicsAsset, because BodySetupIndexMap.FindRef would return 0 if bone not present
https://udn.unrealengine.com/questions/353125/uskinnedmeshcomponentfindclosestbone-does-not-resp.html
#jira UE-43061
Change 3365515 on 2017/03/27 by Jurre.deBaare
Using Alt+Click to break Transition node connections cannot be undone using the Undo command
#fix added transactions to breaking node links
#jira UE-39068
Change 3365528 on 2017/03/27 by Jurre.deBaare
Blendspaces don't update to reflect sync marker changes that have occurred on animations in the blend
#fix added validation on blendspaces when removing or adding sync markers in animation editor
#jira UE-39814
Change 3365535 on 2017/03/27 by Jurre.deBaare
Camera moves at the same time as erasing paint when clicking Paint settings and back into Viewport
#fix lock camera if erasing as well
#jira UE-42474
Change 3365539 on 2017/03/27 by Jurre.deBaare
Painting on animation sequence paints on invisible T-pose skeleton
#fix during painting enforce bUseRefPoseOnInitAnim so you're always painting on a ref-pose skeletal mesh
#jira UE-42484
Change 3365545 on 2017/03/27 by Jurre.deBaare
Fill Tool does not fill the mesh with the selected Texture Weight Index when used in Weight Vertex Painting
#fix added function to generate color according to texture weight settings and index, and fill using that color when the editor is in texture weight mode
#jira UE-43091
Change 3365549 on 2017/03/27 by Jurre.deBaare
CIS: include fix
Change 3365555 on 2017/03/27 by Jurre.deBaare
Missing change from 3365545
Change 3365561 on 2017/03/27 by Jurre.deBaare
Missing change from 3365545
Change 3365918 on 2017/03/27 by Ori.Cohen
PR #3424: fix compile error when PHYSX_MEMORY_STATS=1 (Contributed by kayama-shift)
#JIRA UE-43337
Change 3366234 on 2017/03/27 by Ori.Cohen
Moved call to UpdateHasValidBodies into OnRegister. Original suggested fix came from github, but I think the bounds need to update even if OnCreatePhysics isn't called.
#JIRA UE-43339
#pr 3427
Change 3367252 on 2017/03/28 by Jurre.deBaare
Vertex Weight Painting options are no longer present in MeshPaint mode
#fix implemented singleton pattern for paint mode settings to ensure customization works correctly
#jira UE-43357
Change 3367340 on 2017/03/28 by Jurre.deBaare
GC fix for recent changes to painting / alembic settings
Change 3367445 on 2017/03/28 by Thomas.Sarkanen
Fix fallout from Main merge
OrionEditor needs to depend on the new AdvancedPreviewScene module.
Change 3367741 on 2017/03/28 by Ori.Cohen
Remove unused physics warning when moving simulated object during physics
#jira UE-41465
Change 3368072 on 2017/03/28 by Ori.Cohen
Removed collision aggregates from ISMC collision. This is not a good candidate for aggregates as the bounding boxes generated could be huge (for example several trees that are very far away). This fixes perf regression from the PhysX 3.4 upgrade
#JIRA UE-42956
Change 3368479 on 2017/03/28 by Ori.Cohen
Fix GetClosestPoint incorrectly considering welded bodies.
#JIRA UE-39329
Change 3368620 on 2017/03/28 by Lina.Halper
Added code comment
#rb:none
#jira: UE-38836
Change 3368752 on 2017/03/28 by mason.seay
Updated test map since UE-338836 came back as by design
Change 3369370 on 2017/03/29 by James.Golding
Fix StaticMesh Editor drawing complex collision if 'use simple as complex' is enabled
Add separate options for showing simple and complex collision in StaticMesh Editor
#jira UE-42844
Change 3369438 on 2017/03/29 by Lina.Halper
Fix issue where it updates more often when you give too high update rate - i.e. 60
#jira: UE-38844
#code review: Laurent.Delayen
Change 3369462 on 2017/03/29 by Thomas.Sarkanen
Add preview mesh to animation blueprints
Auto set preview mesh for animation assets and animation blueprints based off meshes.
#jira UE-40032 - Creating animation assets from right-clicking skel mesh results in showing incorrect mesh in Persona
Change 3369463 on 2017/03/29 by Thomas.Sarkanen
We now select current preview mesh in the preview mesh dropdown
Change 3369464 on 2017/03/29 by Thomas.Sarkanen
Ticks now appear properly on anim sequence scrub bar
#jira UE-41197 - No additional ticks appear on the timeline when you zoom in
Change 3369465 on 2017/03/29 by Thomas.Sarkanen
Persona now depends publicly on SkeletonEditor
GitHub PR #3431 from kayama-shift
#jira UE-43344 - GitHub 3431 : Persona module must depend on SkeletonEditor publically
Change 3369466 on 2017/03/29 by Thomas.Sarkanen
Blueprints are now only dirtied if edited properties are from objects in the Blueprint's package
#jira UE-38956 - Changing Bone Transform between World and Local Location dirties Anim Blueprints
Change 3369467 on 2017/03/29 by Thomas.Sarkanen
Tweaked combo box alignment for world/local transform
Appearance is now closer to that of the level editor
Change 3369469 on 2017/03/29 by Thomas.Sarkanen
Prevent switching to unsupported widget modes when editing control rigs
#jira UE-42557 - When in Animation Mode, if you select a controller with the translation gizmo active, when you select a non animation controller the gizmo renders incorrectly
Change 3369588 on 2017/03/29 by Thomas.Sarkanen
Make import data and thumbnail data transactional
#jira UE-41579 - Undo not working for several Asset Details options in Skeletal Mesh editor (Persona)
Change 3369609 on 2017/03/29 by Thomas.Sarkanen
Montages are now correctly initialized when created
They can be used straight away without first opening them in the montage edtior.
Moved initialization of composite sections from SMontageEditor to AnimMontageFactory.
#jira UE-41219 - Animation montages created via Right click Create montage, that aren't opened in persona will not animate when used in an AnimBP
Change 3369610 on 2017/03/29 by Thomas.Sarkanen
Fixed anim class being set by name, causing duplicate-named anim BPs to be incorrectly resolved
#jira UE-39833 - SkelMesh Component > Anim Class does not handle identical AnimBP names
Change 3369647 on 2017/03/29 by Ori.Cohen
Fix mass debug not working when moving components in the editor.
#JIRA UE-43437
Change 3369875 on 2017/03/29 by Ori.Cohen
Added the call into overlap instead of computePenetration when possible. There are edge cases that exist when computePenetration returns false but overlap returns true. Originally we were using computePenetration for all overlaps to make it consistent. However, computePenetration doesn't handle trimeshes correctly in certain cases. The reason for this is so that we can at least resolve a known issue with overlap events with complex collision. Nvidia may give us a flag for computePenetration to not do back-face culling which would give us a more consistent result.
#JIRA UE-25923
Change 3370144 on 2017/03/29 by Lina.Halper
Fix on the retargeting child anim BP
#rb: Martin.Wilson
#jira: UE-39928
Change 3371480 on 2017/03/30 by James.Golding
Changes by BryanG at Nvidia required to get them up and running with plugins that override some skeletal mesh stuff.
#jira UE-42132
Change 3371484 on 2017/03/30 by Thomas.Sarkanen
We now propagate thread safety flags to child Animation Blueprints
Change 3371486 on 2017/03/30 by Thomas.Sarkanen
Fixed crash and effector selection issues for two bone IK
Crash occured when selecting the root bone as the end of the chain.
Viewport selection was not working at all as we werent creating any selection proxy actors any more.
Change 3371497 on 2017/03/30 by Thomas.Sarkanen
Added warning when Sequencer tries to write to properties that have changed type
#jira UE-42098 - Sequencer writes rotation data to transform properties, causes assert
Change 3371614 on 2017/03/30 by Martin.Wilson
Clean up deprecated property value after load so we dont get extra anim blueprint references
#jira UE-42501
Change 3371619 on 2017/03/30 by James.Golding
Fix CIS by removing unneeded UNREALED_API from FImportSkeletalMeshArgs
Change 3372452 on 2017/03/30 by Jon.Nabozny
Add flag to CharacterMovementComponent to determine whether or not character should Sweep while using NavWalking, instead of relying on GenerateOverlaps flag.
#jira UE-36546
Change 3373043 on 2017/03/30 by Lina.Halper
- Consolidating to FastLerp to simply code
- Added comment on FastLerp as the result is not normalized
#rb: Michael.Noland, David.Hill
Change 3373292 on 2017/03/30 by Jeff.Farris
Made Actor.DispatchPhysicsCollisionHit virtual.
(Copied CL 3261103 from Robo Recall to Dev-AnimPhys)
Change 3373293 on 2017/03/30 by Jeff.Farris
Added PhysicalAnimationComponent.GetBodyTargetTransform
(Copied 3256175 from RoboRecall to Dev-AnimPhys)
Change 3373318 on 2017/03/30 by Jeff.Farris
Added option for components to opt out of physics impulses on damage.
(Copied CL 3282585 from RoboRecall to Dev-AnimPhys)
Change 3374064 on 2017/03/31 by Thomas.Sarkanen
Renaming curves in animations is now saved properly
Guids were not being set, so loading code obliterated the rename after an editor restart
#jira UE-40582 - Curve name is not updated when user changes it in persona editor.
Change 3374175 on 2017/03/31 by Thomas.Sarkanen
Two bone IK UI consistency fixes
Completely removed all bone select actors. They have a terrible UX anyway.
We now rely only on our custom hit proxy and use a unified path to generate effector locations to draw and manipulate.
#jira UE-42359 - Two Bone IK modifying effector location from viewport when bone is not set
Change 3374216 on 2017/03/31 by Martin.Wilson
Clear raw curve data during cooking + change Paragon game code so that it reads from the compressed curve data on Anim Sequences, not the raw data
#jira UE-37897
Change 3374253 on 2017/03/31 by Thomas.Sarkanen
Supplementary fix to CL 3371497
Adding name exposure for property types that we support
Change 3374298 on 2017/03/31 by Jeff.Farris
Code change from nVidia that improves physX perf (afterIntegration time).
(Copied CL 3302239 from Robo Recall to Dev-AnimPhys)
Change 3374432 on 2017/03/31 by Lina.Halper
Make sure AcitveBoneIndices contains parent
#jira: UE-14597
#rb: Martin.Wilson
#code review: Benn.Gallagher, Alexis.Matte, James.Golding
Change 3374836 on 2017/03/31 by Jon.Nabozny
Fixup hits returned before start of trace in raycast_capsule.
This change is copied from CL-3297212
#jira UE-42532
Change 3375195 on 2017/03/31 by Lina.Halper
resave animation sequence for increasing info to warning
#code review: Thomas.Sarkanen
#jira: UE-40643
Change 3375282 on 2017/03/31 by Lina.Halper
Fix odin content for animation : resave animation sequence for increasing info to warning
#code review: Thomas.Sarkanen
#jira: UE-40643
Change 3375288 on 2017/03/31 by Lina.Halper
reverting code of degrading warning to info to avoid warning
#jira: UE-40643
Change 3375865 on 2017/04/01 by Lina.Halper
fix build error
Change 3375868 on 2017/04/01 by Lina.Halper
fix build warning on shadow var
#code review: Thomas.Sarkanen
Change 3376283 on 2017/04/03 by Thomas.Sarkanen
Reworked, more generic property path handling in object change listener
This allows all paths (auto vs manual key) to use the same code path, as well as regularizing the special-case handling of structs and arrays (and combinations thereof).
The gist of the new implementation is to traverse the property path until we come across any property that satisfies our crirtera (exposed function, Interp flag etc.)
Tweaked PropertyHandleToPropertyPath to correctly handle the slightly different way FPropertyNodes are arranged inside IPropertyHandle chains.
IPropertyHandle chains contain arrays in a manner designed for display in the property editor, e.g. Container.Array.Array[ArrayIndex].StructInner. We need to collapse adjacent array properties as we are looking for Container.Array[ArrayIndex].StructInner to form a well-formed 'property path'.
Small tweak to FPropertyChangedParams::GetPropertyValue. This is to handle property paths that end in an array (e.g. Struct.Array[0]).
#jira UE-42271 - Pressing enter while the spine is in IK doesn't set any keys
Change 3376320 on 2017/04/03 by Benn.Gallagher
Merging from OR39 - Fix for clothing perf regressions due to LOD switching leaving simulation enties in the clothing solver
#jira OR-36926
Change 3376413 on 2017/04/03 by Benn.Gallagher
Merge from OR - Fixes to stability due to component space being the simulation space, games like Paragon treat the mesh and component transforms differently and cause issues with added energy in the system.
#jira OR-36927
Change 3376421 on 2017/04/03 by Benn.Gallagher
Missed file from OR cloth fixes merge
Change 3376456 on 2017/04/03 by Lina.Halper
Resave fortnite animation to remove warning
#rb: none
Change 3376479 on 2017/04/03 by Jon.Nabozny
Touch PhysXLibs to ensure physx links properly.
(Needed for CL-3374836)
Change 3376610 on 2017/04/03 by Martin.Wilson
Fix for crash when reimporting lodded mesh with virtual bones
#jira UE-43557
Change 3376618 on 2017/04/03 by Jurre.deBaare
Mesh Paint decrement rate is too slow when used with hotkeys
#fix change way we increase/decrease brush value
#jira UE-43402
Change 3376650 on 2017/04/03 by Benn.Gallagher
Converted clothing asset editor warnings into toasts + logs so they are more discoverable by the user.
#jira UE-41739
Change 3376771 on 2017/04/03 by Benn.Gallagher
Fixed clothing selection dropdowns to no longer get out of sync with actual state (if the binding fails it falls back to the "None" selection correctly internally)
#jira UE-41737
Change 3378117 on 2017/04/04 by Thomas.Sarkanen
Prevented ensure by reverting to default unit vectors if zero-sized lookat/lookup vectors are specified
Also added a warning to inform users of the issue.
#jira UE-43360 - Enabling Use LookUp Axis causes handled ensure to occur
Change 3378118 on 2017/04/04 by Thomas.Sarkanen
Fix 2-bone IK flickering
First changed non-triangular range check to be >= instead of >. Also removed fallback to doubled-back as this singularity also occurs at min stretch + float epsilon (which caused the flicker). We are OK to call ACos with out-of-range values as it clamps internally and the subsequent calculations work in these degenerate cases.
#jira UE-43525 - Mesh Flicker when Two Bone IK is stretched
Change 3378192 on 2017/04/04 by Benn.Gallagher
Trivial fix to clothing dropdowns to unbind clothing assets when switching
Change 3378206 on 2017/04/04 by Thomas.Sarkanen
Fix IncludeTool static analysis errors
Traced this back to the checkin that moved advanced preview scene into its own module. Further refined this to be the dependency on SharedSettingsWidgets. Simplest solution was to move the details customization back into the DetailsCustomizations module.
#jira UE-43563 - //UE4/Dev-AnimPhys: Compile IncludeTool Static analysis Win64 completed with 1 error
Change 3378207 on 2017/04/04 by Thomas.Sarkanen
Fix static analysis warning
Change 3378267 on 2017/04/04 by Benn.Gallagher
Disabled "Accurate" wind mode selection for 4.16 by hiding enum option for windmode. Looks like there are some simulation issues that need resolved. Wind will act as it always has for 4.16.
Change 3378268 on 2017/04/04 by Benn.Gallagher
Fixed bounds calculation on clothing to stop dissapearances or flickering at the edge of the screen.
#jira UE-40407
Change 3378342 on 2017/04/04 by Jurre.deBaare
Bone LOD preview doesn't get update if change removed bones array directly in Skeletalmesh editor
#fix ensure that we update the skeleton tree when changes to the bones are made
#misc made sure the reapply button its visibility is dynamic
#misc made sure we always re-add previously removed bones when necessary
#jira UE-40500
Change 3378374 on 2017/04/04 by Thomas.Sarkanen
Fixed animation not working for dynamically-bound wheeled-vehicle anim instances
Vehicle anim instance now looks for a wheeled vehicle component when it initializes.
#jira UE-41048 - Set Anim Instance Class no longer works with Wheeled Vehicle Pawns
Change 3378518 on 2017/04/04 by Jon.Nabozny
Fix jump height becoming frame dependent when JumpMaxHoldTime > 0.
#jira UE-23695
Change 3378538 on 2017/04/04 by Martin.Wilson
Speculative fix for unreproducable crash on loading animations
#jira OR-37157
Change 3378592 on 2017/04/04 by Jurre.deBaare
Mesh painting tools not working outside of QAGame
#fix required a direct loadmodule call
Change 3378622 on 2017/04/04 by Jurre.deBaare
CIS shadow variable fix
Change 3378742 on 2017/04/04 by Thomas.Sarkanen
Fixed crash entering PIE in Orion
Change 3378907 on 2017/04/04 by Benn.Gallagher
Re-added wind adaptiive effects to legacy wind path.
Fixed math error in damping calculations (log2/loge).
#jira UE-42044
Change 3379240 on 2017/04/04 by Jon.Nabozny
Fix SkeletalMeshComponent GetWeldedBodies not returning actual Skeletal Bodies
Change 3379415 on 2017/04/04 by Jon.Nabozny
Fix Skeletal Meshes imported with non-identity transform from reapplying transform when simulation is enabled / disabled.
#JIRA UE-32598
Change 3379502 on 2017/04/04 by Lina.Halper
Mirroring issue with flipping rotation due to not counting scale
#jira: UE-33646, UE-34489
#rb: Ori.Cohen
#code review: Zak.Middleton
Change 3380544 on 2017/04/05 by Thomas.Sarkanen
Fix warning spam when playing back UMG sequences animating visibility
Reduced runtime overhead to a simple size check. This catches 90% of problem issues with much less runtime overhead. It would be well worth getting an FName-based type check working at some point, although we would need speciall case enum handling.
Also removed message log usage in shipping/test builds.
#jira UE-43621 - Large number of Sequencer warnings occur after opening Paragon in Pie - Property type mismatch for property 'Visibility'. Expected 'uint8', found 'ESlateVisibility'.
Change 3380605 on 2017/04/05 by Benn.Gallagher
Fix clothing simulation to correctly index a master pose component for clothing pose data. Fixes integration blocking crash in UT when picking up the flag which sets a master pose mid-game.
#jira UE-43624
Change 3381025 on 2017/04/05 by Jon.Nabozny
Change ensure in UpdateKinematicBonesToAnim to ensureMsgf so we can track down potential content issues.
Change 3381475 on 2017/04/05 by Lina.Halper
Fix crash on creating montage and setting slot node
#jira: UE-43698
#rb: Ori.Cohen
Change 3381558 on 2017/04/05 by Lina.Halper
Better clean up of flipping issue of quaternion issue
#jira: UE-33646, UE-34489
#rb: Zak.Middleton
Change 3381789 on 2017/04/05 by Jon.Nabozny
Revert InitAnim changes from CL-3379415 to fix cook warnings.
(Will have proper fix for 4.17 instead).
Change 3381978 on 2017/04/05 by Aaron.McLeran
#jira UE-43654 Fixing oculus audio SDK sample rate issue
Change 3383181 on 2017/04/06 by Lina.Halper
Remove copy right of Dual quaternion since we no longer uses
#code review:Leslie.Nivison
Change 3383283 on 2017/04/06 by Ori.Cohen
Fixed missing invalidation for body setup when modifying materials
#JIRA UE-43680
Change 3383602 on 2017/04/06 by Lina.Halper
Fixed scroller in retargeting window
#jira: UE-43736
Change 3384369 on 2017/04/07 by Jurre.deBaare
Wrong bone is sometimes highlighted in skeleton editor
#fix new behaviour caused the user to try and select a bone if we didn't find on through hit proxies
#jira UE-43735
Change 3384744 on 2017/04/07 by Jon.Nabozny
Fix body rotation being killed on load.
#JIRA UE-43771
[CL 3385232 by Thomas Sarkanen in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
Fixes for lots of existing modules by removing all dynamically loaded duplicates (this is probably not the correct solution, but is the safest).
#codereview robert.manuszewski
[CL 2610845 by Steve Robb in Main branch]
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)
Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()
Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine
[CL 2057118 by Max Preussner in Main branch]