Files
UnrealEngineUWP/Engine/Source/Editor/GraphEditor/Public/SNodePanel.h

1059 lines
33 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "CoreMinimal.h"
#include "Misc/Attribute.h"
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
#include "Misc/Guid.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Layout/Visibility.h"
#include "Layout/SlateRect.h"
#include "Layout/Geometry.h"
#include "Input/CursorReply.h"
#include "Input/Reply.h"
#include "Styling/SlateColor.h"
#include "Layout/ArrangedWidget.h"
#include "Layout/Margin.h"
#include "Animation/CurveSequence.h"
#include "SlotBase.h"
#include "Layout/Children.h"
#include "Widgets/SPanel.h"
#include "Styling/CoreStyle.h"
#include "Framework/Commands/InputChord.h"
#include "GraphEditor.h"
#include "Layout/ArrangedChildren.h"
#include "Types/PaintArgs.h"
#include "EditorStyleSet.h"
#include "Layout/LayoutUtils.h"
#include "MarqueeOperation.h"
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3805828 by Gil.Gribb UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works. Change 3806784 by Ben.Marsh UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT. Change 3807549 by Graeme.Thornton Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it. Change 3807727 by Graeme.Thornton Unhide the text asset format experimental editor option Change 3807746 by Josh.Engebretson Remove WER from iOS platform Change 3807928 by Robert.Manuszewski When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet Change 3808221 by Steve.Robb GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule() ^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway. Change 3809233 by Graeme.Thornton TBA: Misc changes to text asset commandlet - Rename mode to "loadsave" - Add -outputFormat option which can be assigned "text" or "binary" - When saving binary, use a differentiated filename so that source assets aren't overwritten Change 3809518 by Ben.Marsh Remove the outdated UnrealSync automation script. Change 3809643 by Steve.Robb GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value #jira UE-53037 Change 3809862 by Steve.Robb GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately #jira UE-42593 Change 3811190 by Graeme.Thornton Add support for writing specific log channels to their own files Change 3811197 by Graeme.Thornton Minor updates to output formatting and timing for the text asset commandlet Change 3811257 by Robert.Manuszewski Cluster creation will now be time-sliced Change 3811565 by Steve.Robb Define out non-monolithic module functions. Change 3812561 by Steve.Robb GitHub #3886 : Enable Brace-Initialization for Declaring Variables Incorrect semi-colon search removed after discussion with author. Test added. #jira UE-48242 Change 3812864 by Steve.Robb Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins. See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html #jira UE-53089 Change 3820358 by Ben.Marsh PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist) Change 3822594 by Ben.Marsh UAT: Improvements to log file handling. - Always create log files in the final location, rather than writing to a temp directory and copying in later. - Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX. - Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is. - Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location. Change 3823695 by Ben.Marsh UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk). Now always queries changes up to the last change for which zipped binaries are available. Change 3823845 by Ben.Marsh UBT: Exclude C# projects for unsupported platforms when generating project files. Change 3824180 by Ben.Marsh UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes). #jira Change 3825777 by Steve.Robb Fix to return value of StringToBytes. Change 3825810 by Ben.Marsh UBT: Reduce length of include paths for MSVC toolchain. Change 3825822 by Robert.Manuszewski Optimized PIE lazy pointer fixup. Should be up to 8x faster now. Change 3826734 by Ben.Marsh Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency. Change 3827730 by Steve.Robb Try to avoid decltype(auto) if it's not supported. See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html Change 3827745 by Steve.Robb Initializer list support for TMap. Change 3827770 by Steve.Robb GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType() #jira UE-53813 Change 3829189 by Ben.Marsh UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off. Change 3830444 by Steve.Robb BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library. This should be revisited when Core has its own JSON library. Change 3830718 by Ben.Marsh Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups. The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip. For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it. When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk. #jira UE-53845 Change 3831064 by Ben.Marsh Fix log file contention when spawning UBT recursively. Change 3832654 by Ben.Marsh UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it. Change 3832680 by Ben.Marsh UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade. Change 3832695 by Ben.Marsh UGS: Invert the options in the 'Show Changes' submenu for simplicity. Change 3833528 by Ben.Marsh UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write]. Change 3833543 by Ben.Marsh UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules. Change 3834354 by Robert.Manuszewski Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks. #jira UE-52035 Change 3834400 by Robert.Manuszewski Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup. #jira UE-52035 Change 3834947 by Steve.Robb USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal. Change 3835004 by Ben.Marsh Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL. Change 3835340 by Ben.Marsh Fix errors making installed build from directories with spaces in the name. Change 3835972 by Ben.Marsh UBT: Improved diagnostic message for targets which don't need a version file. Change 3836019 by Ben.Marsh UBT: Fix warnings caused by defining linkage macros for third party libraries. Change 3836269 by Ben.Marsh Fix message box larger than the screen height being created when a large number of modules are incompatible on startup. Change 3836543 by Ben.Marsh Enable SoundMod plugin on Linux, since it's already supported through the editor. Change 3836546 by Ben.Marsh PR #4412: fix type mismatch (Contributed by nakapon) Change 3836805 by Ben.Marsh Fix commandlet to compile marketplace plugins. Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. Change 3837036 by Ben.Marsh UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds. Change 3837037 by Ben.Marsh UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro). Change 3837040 by Ben.Marsh UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed. Change 3837247 by Ben.Marsh UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files). Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor. Change 3837262 by Ben.Marsh UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module. Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets. Change 3837343 by Ben.Marsh UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead. Change 3837356 by Ben.Marsh Fix invalid character encodings. Change 3837727 by Graeme.Thornton UnrealPak: KeyGenerator: Only generate prime table when required, not all the time Change 3837823 by Ben.Marsh UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window. Change 3837831 by Graeme.Thornton UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives Change 3837857 by Robert.Manuszewski PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch) Change 3837943 by Robert.Manuszewski PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch) Change 3838451 by Ben.Marsh UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread. #jira UE-53996 Change 3839519 by Ben.Marsh UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data. Change 3843790 by Graeme.Thornton UnrealPak: Log the size of all encrypted data Change 3844258 by Ben.Marsh Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace. Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure. #jira UE-54157 Change 3845796 by Ben.Marsh Workaround for slow performance of String.EndsWith() on Mono. Change 3845823 by Ben.Marsh Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun. #jira UE-54123 Change 3845901 by Arciel.Rekman Linux: fix crash due to lambda lifetime issues (UE-54040). - The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+). (Edigrating 3819174 to Dev-Core) Change 3846439 by Ben.Marsh Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates. Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main. Change 3816608 by Ben.Marsh UBT: Use DirectoryReference objects for all include paths. Change 3816954 by Ben.Marsh UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere. Change 3816986 by Ben.Marsh UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly. Change 3816991 by Ben.Marsh UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules. Change 3823090 by Ben.Marsh UAT: Improve logging for child UAT instances. - Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder. - Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway. - Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read. - Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output. Change 3826082 by Ben.Marsh UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target. Change 3827025 by Ben.Marsh UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling. Change 3829927 by James.Hopkin Made HTTP interface const correct Change 3833533 by Ben.Marsh Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules. Change 3835826 by Ben.Marsh UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced. Change 3835969 by Ben.Marsh UBT: Fix cases where text is being written directly to the console rather than via logging functions. Change 3837777 by Steve.Robb Format string type checking added to FOutputDevice::Logf. Fixes for those. Change 3838569 by Steve.Robb Algo moved up a folder. [CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
#include "Templates/UniquePtr.h"
#include "UObject/GCObject.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
class FActiveTimerHandle;
class FScopedTransaction;
class FSlateWindowElementList;
struct FMarqueeOperation;
struct Rect;
//@TODO: Too generic of a name to expose at this scope
typedef class UObject* SelectedItemType;
// Level of detail for graph rendering (lower numbers are 'further away' with fewer details)
namespace EGraphRenderingLOD
{
enum Type
{
// Detail level when zoomed all the way out (all performance optimizations enabled)
LowestDetail,
// Detail level that text starts being disabled because it is unreadable
LowDetail,
// Detail level at which text starts to get hard to read but is still drawn
MediumDetail,
// Detail level when zoomed in at 1:1
DefaultDetail,
// Detail level when fully zoomed in (past 1:1)
FullyZoomedIn,
};
}
// Context passed in when getting popup info
struct FNodeInfoContext
{
public:
bool bSelected;
};
// Entry for an overlay brush in the node panel
struct FOverlayBrushInfo
{
public:
/** Brush to draw */
const FSlateBrush* Brush;
/** Scale of animation to apply */
FVector2D AnimationEnvelope;
/** Offset origin of the overlay from the widget */
FVector2D OverlayOffset;
public:
FOverlayBrushInfo()
: Brush(NULL)
, AnimationEnvelope(0.0f, 0.0f)
, OverlayOffset(0.f, 0.f)
{
}
FOverlayBrushInfo(const FSlateBrush* InBrush)
: Brush(InBrush)
, AnimationEnvelope(0.0f, 0.0f)
, OverlayOffset(0.f, 0.f)
{
}
FOverlayBrushInfo(const FSlateBrush* InBrush, float HorizontalBounce)
: Brush(InBrush)
, AnimationEnvelope(HorizontalBounce, 0.0f)
, OverlayOffset(0.f, 0.f)
{
}
};
// Entry for an overlay widget in the node panel
struct FOverlayWidgetInfo
{
public:
/** Widget to use */
TSharedPtr<SWidget> Widget;
/** Offset origin of the overlay from the widget */
FVector2D OverlayOffset;
public:
FOverlayWidgetInfo()
: Widget(nullptr)
, OverlayOffset(0.f, 0.f)
{
}
FOverlayWidgetInfo(TSharedPtr<SWidget> InWidget)
: Widget(InWidget)
, OverlayOffset(0.f, 0.f)
{
}
};
// Entry for an information popup in the node panel
struct FGraphInformationPopupInfo
{
public:
const FSlateBrush* Icon;
FLinearColor BackgroundColor;
FString Message;
public:
FGraphInformationPopupInfo(const FSlateBrush* InIcon, FLinearColor InBackgroundColor, const FString& InMessage)
: Icon(InIcon)
, BackgroundColor(InBackgroundColor)
, Message(InMessage)
{
}
};
/**
* Interface for ZoomLevel values
* Provides mapping for a range of virtual ZoomLevel values to actual node scaling values
*/
struct FZoomLevelsContainer
{
/**
* @param InZoomLevel virtual zoom level value
*
* @return associated scaling value
*/
virtual float GetZoomAmount(int32 InZoomLevel) const = 0;
/**
* @param InZoomAmount scaling value
*
* @return nearest ZoomLevel mapping for provided scale value
*/
virtual int32 GetNearestZoomLevel(float InZoomAmount) const = 0;
/**
* @param InZoomLevel virtual zoom level value
*
* @return associated friendly name
*/
virtual FText GetZoomText(int32 InZoomLevel) const = 0;
/**
* @return count of supported zoom levels
*/
virtual int32 GetNumZoomLevels() const = 0;
/**
* @return the optimal(1:1) zoom level value, default zoom level for the graph
*/
virtual int32 GetDefaultZoomLevel() const = 0;
/**
* @param InZoomLevel virtual zoom level value
*
* @return associated LOD value
*/
virtual EGraphRenderingLOD::Type GetLOD(int32 InZoomLevel) const = 0;
// Necessary for Mac OS X to compile 'delete <pointer_to_this_object>;'
virtual ~FZoomLevelsContainer( void ) {};
};
struct GRAPHEDITOR_API FGraphSelectionManager : public FGCObject
{
FGraphPanelSelectionSet SelectedNodes;
/** Invoked when the selected graph nodes have changed. */
SGraphEditor::FOnSelectionChanged OnSelectionChanged;
public:
/** @return the set of selected nodes */
const FGraphPanelSelectionSet& GetSelectedNodes() const;
/** Select just the specified node */
void SelectSingleNode(SelectedItemType Node);
/** Reset the selection state of all nodes */
void ClearSelectionSet();
/** Returns true if any nodes are selected */
bool AreAnyNodesSelected() const
{
return SelectedNodes.Num() > 0;
}
/** Changes the selection set to contain exactly all of the passed in nodes */
void SetSelectionSet(FGraphPanelSelectionSet& NewSet);
/**
* Add or remove a node from the selection set
*
* @param Node Node the affect.
* @param bSelect true to select the node; false to unselect.
*/
void SetNodeSelection(SelectedItemType Node, bool bSelect);
/** @return true if Node is selected; false otherwise */
bool IsNodeSelected(SelectedItemType Node) const;
// Handle the selection mechanics of starting to drag a node
void StartDraggingNode(SelectedItemType NodeBeingDragged, const FPointerEvent& MouseEvent);
// Handle the selection mechanics when a node is clicked on
void ClickedOnNode(SelectedItemType Node, const FPointerEvent& MouseEvent);
void AddReferencedObjects(FReferenceCollector& Collector) override;
virtual FString GetReferencerName() const override
{
return TEXT("FGraphSelectionManager");
}
};
/**
* This class is designed to serve as the base class for a panel/canvas that contains interactive widgets
* which can be selected and moved around by the user. It also manages zooming and panning, allowing a larger
* virtual space to be used for the widget placement.
*
* The user is responsible for creating widgets (which must be derived from SNode) and any custom drawing
* code desired. The other main restriction is that each SNode instance must have a unique UObject* associated
* with it.
*/
namespace ENodeZone
{
enum Type
{
TopLeft,
TopCenter,
TopRight,
Left,
Center,
Right,
BottomLeft,
BottomCenter,
BottomRight,
Count
};
}
class GRAPHEDITOR_API SNodePanel : public SPanel
{
public:
class SNode : public SPanel
{
public:
/** A slot that support alignment of content and padding and z-order */
class GRAPHEDITOR_API FNodeSlot : public TSlotBase<FNodeSlot>, public TAlignmentWidgetSlotMixin<FNodeSlot>
{
public:
friend SNode;
FNodeSlot()
: FNodeSlot(ENodeZone::TopLeft)
{ }
FNodeSlot(ENodeZone::Type InZone)
: TSlotBase<FNodeSlot>()
, TAlignmentWidgetSlotMixin<FNodeSlot>(HAlign_Fill, VAlign_Fill)
, Zone(InZone)
, SlotPadding(0.0f)
, Offset(FVector2D::ZeroVector)
, AllowScale(true)
{ }
SLATE_SLOT_BEGIN_ARGS_OneMixin(FNodeSlot, TSlotBase<FNodeSlot>, TAlignmentWidgetSlotMixin<FNodeSlot>)
SLATE_ATTRIBUTE(FMargin, Padding)
SLATE_ATTRIBUTE(FVector2D, SlotOffset)
SLATE_ATTRIBUTE(FVector2D, SlotSize)
SLATE_ATTRIBUTE(bool, AllowScaling)
SLATE_SLOT_END_ARGS()
void Construct(const FChildren& SlotOwner, FSlotArguments&& InArgs);
public:
UE_DEPRECATED(5.0, "Padding is now deprecated. Use the FSlotArgument or the SetPadding function.")
FNodeSlot& Padding( const TAttribute<FMargin> InPadding )
{
SlotPadding = InPadding;
return *this;
}
UE_DEPRECATED(5.0, "SlotOffset is now deprecated. Use the FSlotArgument or the SetSlotOffset function.")
FNodeSlot& SlotOffset( const TAttribute<FVector2D> InOffset )
{
Offset = InOffset;
return *this;
}
UE_DEPRECATED(5.0, "SlotSize is now deprecated. Use the FSlotArgument or the SetSlotSize function.")
FNodeSlot& SlotSize( const TAttribute<FVector2D> InSize )
{
Size = InSize;
return *this;
}
UE_DEPRECATED(5.0, "AllowScaling is now deprecated. Use the FSlotArgument or the SetAllowScalingfunction.")
FNodeSlot& AllowScaling( const TAttribute<bool> InAllowScale )
{
AllowScale = InAllowScale;
return *this;
}
public:
ENodeZone::Type GetZoneType() const
{
return Zone;
}
void SetPadding(TAttribute<FMargin> InPadding)
{
SlotPadding = MoveTemp(InPadding);
}
FMargin GetPadding() const
{
return SlotPadding.Get();
}
void SetSlotOffset(TAttribute<FVector2D> InOffset)
{
Offset = MoveTemp(InOffset);
}
FVector2D GetSlotOffset() const
{
return Offset.Get();
}
void SetSlotSize(TAttribute<FVector2D> InSize)
{
Size = MoveTemp(InSize);
}
FVector2D GetSlotSize() const
{
return Size.Get();
}
void SetAllowScaling(TAttribute<bool> InAllowScaling)
{
AllowScale = MoveTemp(InAllowScaling);
}
bool GetAllowScaling() const
{
return AllowScale.Get();
}
private:
/** The child widget contained in this slot. */
ENodeZone::Type Zone;
TAttribute<FMargin> SlotPadding;
TAttribute<FVector2D> Offset;
TAttribute<FVector2D> Size;
TAttribute<bool> AllowScale;
};
typedef TSet<TWeakPtr<SNodePanel::SNode>> FNodeSet;
// SPanel Interface
virtual FChildren* GetChildren() override
{
return &Children;
}
virtual FVector2D ComputeDesiredSize(float) const override
{
for( int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex )
{
if( Children[ ChildIndex ].Zone == ENodeZone::Center )
{
const FNodeSlot& CenterZone = Children[ ChildIndex ];
const EVisibility ChildVisibility = CenterZone.GetWidget()->GetVisibility();
if( ChildVisibility != EVisibility::Collapsed )
{
return ( CenterZone.GetWidget()->GetDesiredSize() + CenterZone.SlotPadding.Get().GetDesiredSize() ) * DesiredSizeScale.Get();
}
}
}
return FVector2D::ZeroVector;
}
virtual float GetRelativeLayoutScale(int32 ChildIndex, float LayoutScaleMultiplier) const override
{
const FNodeSlot& ThisSlot = Children[ChildIndex];
if (!ThisSlot.AllowScale.Get())
{
// Child slots that do not allow zooming should scale themselves to negate the node panel's zoom.
TSharedPtr<SNodePanel> ParentPanel = GetParentPanel();
if (ParentPanel.IsValid())
{
return 1.0f / ParentPanel->GetZoomAmount();
}
}
return 1.0f;
}
virtual void OnArrangeChildren( const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override
{
for( int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex )
{
const FNodeSlot& CurChild = Children[ChildIndex];
const EVisibility ChildVisibility = CurChild.GetWidget()->GetVisibility();
if ( ArrangedChildren.Accepts(ChildVisibility) )
{
const FMargin SlotPadding(CurChild.SlotPadding.Get());
// If this child is not allowed to scale, its scale relative to its parent should undo the parent widget's scaling.
FVector2D Size;
if( CurChild.Size.IsSet() )
{
Size = CurChild.Size.Get();
}
else
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
AlignmentArrangeResult XResult = AlignChild<Orient_Horizontal>(AllottedGeometry.GetLocalSize().X, CurChild, SlotPadding);
AlignmentArrangeResult YResult = AlignChild<Orient_Vertical>(AllottedGeometry.GetLocalSize().Y, CurChild, SlotPadding);
Size = FVector2D( XResult.Size, YResult.Size );
}
const FArrangedWidget ChildGeom =
AllottedGeometry.MakeChild(
CurChild.GetWidget(),
CurChild.Offset.Get(),
Size,
GetRelativeLayoutScale(ChildIndex, AllottedGeometry.Scale)
);
ArrangedChildren.AddWidget( ChildVisibility, ChildGeom );
}
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
virtual int32 OnPaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const override
{
FArrangedChildren ArrangedChildren( EVisibility::Visible );
{
ArrangeChildren( AllottedGeometry, ArrangedChildren );
}
int32 MaxLayerId = LayerId;
for( int32 ChildIndex = 0; ChildIndex < ArrangedChildren.Num(); ++ChildIndex )
{
const FArrangedWidget& CurWidget = ArrangedChildren[ ChildIndex ];
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
if (!IsChildWidgetCulled(MyCullingRect, CurWidget))
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
const int32 CurWidgetsMaxLayerId = CurWidget.Widget->Paint(Args.WithNewParent(this), CurWidget.Geometry, MyCullingRect, OutDrawElements, LayerId, InWidgetStyle, ShouldBeEnabled(bParentEnabled));
MaxLayerId = FMath::Max(MaxLayerId, CurWidgetsMaxLayerId);
}
else
{
//SlateGI - RemoveContent
}
}
return MaxLayerId;
}
// End of SPanel Interface
using FScopedWidgetSlotArguments = TPanelChildren<FNodeSlot>::FScopedWidgetSlotArguments;
FScopedWidgetSlotArguments GetOrAddSlot( const ENodeZone::Type SlotId )
{
// Return existing
int32 InsertIndex = INDEX_NONE;
for( int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex )
{
if( Children[ ChildIndex ].Zone == SlotId )
{
Children.RemoveAt(ChildIndex);
InsertIndex = ChildIndex;
}
}
// Add new
return FScopedWidgetSlotArguments{ MakeUnique<FNodeSlot>(SlotId), Children, InsertIndex };
}
FNodeSlot* GetSlot( const ENodeZone::Type SlotId )
{
FNodeSlot* Result = nullptr;
// Return existing
for( int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex )
{
if( Children[ ChildIndex ].Zone == SlotId )
{
Result = &Children[ ChildIndex ];
break;
}
}
return Result;
}
void RemoveSlot( const ENodeZone::Type SlotId )
{
for( int32 ChildIndex = 0; ChildIndex < Children.Num(); ++ChildIndex )
{
if( Children[ ChildIndex ].Zone == SlotId )
{
Children.RemoveAt( ChildIndex );
break;
}
}
}
/**
* @param NewPosition The Node should be relocated to this position in the graph panel
* @param NodeFilter Set of nodes to prevent movement on, after moving successfully a node is added to this set.
* @param bMarkDirty If we should mark nodes as dirty on move
*/
virtual void MoveTo(const FVector2D& NewPosition, FNodeSet& NodeFilter, bool bMarkDirty = true)
{
}
/** @return the Node's position within the graph */
virtual FVector2D GetPosition() const
{
return FVector2D(0.0f, 0.0f);
}
/** @return a user-specified comment on this node; the comment gets drawn in a bubble above the node */
virtual FString GetNodeComment() const
{
return FString();
}
/** @return The backing object, used as a unique identifier in the selection set, etc... */
virtual UObject* GetObjectBeingDisplayed() const
{
return NULL;
}
/** @return The brush to use for drawing the shadow for this node */
virtual const FSlateBrush* GetShadowBrush(bool bSelected) const
{
return bSelected ? FEditorStyle::GetBrush(TEXT("Graph.Node.ShadowSelected")) : FEditorStyle::GetBrush(TEXT("Graph.Node.Shadow"));
}
/** Populate the brushes array with any overlay brushes to render */
virtual void GetOverlayBrushes(bool bSelected, const FVector2D WidgetSize, TArray<FOverlayBrushInfo>& Brushes) const
{
}
/** Populate the widgets array with any overlay widgets to render */
virtual TArray<FOverlayWidgetInfo> GetOverlayWidgets(bool bSelected, const FVector2D& WidgetSize) const
{
return TArray<FOverlayWidgetInfo>();
}
/** Populate the popups array with any popups to render */
virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray<FGraphInformationPopupInfo>& Popups) const
{
}
/** Returns true if this node is dependent on the location of other nodes (it can only depend on the location of first-pass only nodes) */
virtual bool RequiresSecondPassLayout() const
{
return false;
}
/** Performs second pass layout; only called if RequiresSecondPassLayout returned true */
virtual void PerformSecondPassLayout(const TMap< UObject*, TSharedRef<SNode> >& InNodeToWidgetLookup) const
{
}
/** Return false if this node should not be culled. Useful for potentially large nodes that may be improperly culled. */
virtual bool ShouldAllowCulling() const
{
return true;
}
/** return if the node can be selected, by pointing given location */
virtual bool CanBeSelected(const FVector2D& MousePositionInNode) const
{
return true;
}
/** Called when user interaction has completed */
virtual void EndUserInteraction() const {}
/**
* override, when area used to select node, should be different, than it's size
* e.g. comment node - only title bar is selectable
* return size of node used for Marquee selecting
*/
virtual FVector2D GetDesiredSizeForMarquee() const
{
return GetDesiredSize();
}
// Returns node sort depth, defaults to and is generally 0 for most nodes
virtual int32 GetSortDepth() const { return 0; }
// Node Sort Operator
bool operator < ( const SNodePanel::SNode& NodeIn ) const
{
return GetSortDepth() < NodeIn.GetSortDepth();
}
void SetParentPanel(const TSharedPtr<SNodePanel>& InParent)
{
ParentPanelPtr = InParent;
}
protected:
SNode()
: BorderImage( FCoreStyle::Get().GetBrush( "NoBorder" ) )
, BorderBackgroundColor( FEditorStyle::GetColor("Graph.ForegroundColor"))
, DesiredSizeScale(FVector2D(1,1))
, Children(this)
{
bHasRelativeLayoutScale = true;
}
protected:
// SBorder Begin
TAttribute<const FSlateBrush*> BorderImage;
TAttribute<FSlateColor> BorderBackgroundColor;
TAttribute<FVector2D> DesiredSizeScale;
/** Whether or not to show the disabled effect when this border is disabled */
TAttribute<bool> ShowDisabledEffect;
/** Mouse event handlers */
FPointerEventHandler MouseButtonDownHandler;
FPointerEventHandler MouseButtonUpHandler;
FPointerEventHandler MouseMoveHandler;
FPointerEventHandler MouseDoubleClickHandler;
// SBorder End
// SPanel Begin
/** The layout scale to apply to this widget's contents; useful for animation. */
TAttribute<FVector2D> ContentScale;
/** The color and opacity to apply to this widget and all its descendants. */
TAttribute<FLinearColor> ColorAndOpacity;
/** Optional foreground color that will be inherited by all of this widget's contents */
TAttribute<FSlateColor> ForegroundColor;
// SPanel End
private:
TSharedPtr<SNodePanel> GetParentPanel() const
{
return ParentPanelPtr.Pin();
}
TPanelChildren<FNodeSlot> Children;
TWeakPtr<SNodePanel> ParentPanelPtr;
};
SNodePanel();
// SPanel interface
virtual void OnArrangeChildren(const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren) const override;
virtual FVector2D ComputeDesiredSize(float) const override;
virtual FChildren* GetChildren() override;
// End of SPanel interface
// SWidget interface
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
virtual void Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime ) override;
virtual FReply OnMouseButtonDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
virtual FReply OnMouseButtonUp(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
virtual void OnMouseCaptureLost(const FCaptureLostEvent& CaptureLostEvent) override;
virtual FReply OnMouseMove(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
virtual FReply OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
virtual FCursorReply OnCursorQuery( const FGeometry& MyGeometry, const FPointerEvent& CursorEvent ) const override;
virtual FReply OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent ) override;
virtual FReply OnKeyUp( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent ) override;
virtual void OnFocusLost( const FFocusEvent& InFocusEvent ) override;
virtual FReply OnTouchGesture( const FGeometry& MyGeometry, const FPointerEvent& GestureEvent ) override;
virtual FReply OnTouchEnded( const FGeometry& MyGeometry, const FPointerEvent& InTouchEvent ) override;
virtual float GetRelativeLayoutScale(int32 ChildIndex, float LayoutScaleMultiplier) const override;
// End of SWidget interface
public:
/**
* Is the given node being observed by a widget in this panel?
*
* @param Node The node to look for.
*
* @return True if the node is being observed by some widget in this panel; false otherwise.
*/
bool Contains(UObject* Node) const;
/** @retun the zoom amount; e.g. a value of 0.25f results in quarter-sized nodes */
float GetZoomAmount() const;
/** @return Zoom level as a pretty string */
FText GetZoomText() const;
FSlateColor GetZoomTextColorAndOpacity() const;
/** @return the view offset in graph space */
FVector2D GetViewOffset() const;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
/** @return the current view bookmark ID */
const FGuid& GetViewBookmarkId() const { return CurrentBookmarkGuid; }
/** Given a coordinate in panel space (i.e. panel widget space), return the same coordinate in graph space while taking zoom and panning into account */
FVector2D PanelCoordToGraphCoord(const FVector2D& PanelSpaceCoordinate) const;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
/** Restore the graph panel to the supplied view offset/zoom. Also, optionally set the current bookmark ID. */
void RestoreViewSettings(const FVector2D& InViewOffset, float InZoomAmount, const FGuid& InBookmarkGuid = FGuid());
/** Get the grid snap size */
static float GetSnapGridSize();
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
/**
* Zooms out to fit either all nodes or only the selected ones.
* @param bOnlySelection Whether to zoom to fit around only the current selection (if false, will zoom to the extents of all nodes)
*/
void ZoomToFit(bool bOnlySelection);
/** Get the bounding area for the currently selected nodes
@return false if nothing is selected */
bool GetBoundsForSelectedNodes(/*out*/ class FSlateRect& Rect, float Padding = 0.0f);
/** @return the position where where nodes should be pasted (i.e. from the clipboard) */
FVector2D GetPastePosition() const;
/** Ask panel to scroll to location */
void RequestDeferredPan(const FVector2D& TargetPosition);
/** If it is focusing on a particular object */
bool HasDeferredObjectFocus() const;
/** Commit transactions for any node movements */
void FinalizeNodeMovements();
/** Returns the current LOD level of this panel, based on the zoom factor */
EGraphRenderingLOD::Type GetCurrentLOD() const { return CurrentLOD; }
/** Returns if the panel has been panned or zoomed since the last update */
bool HasMoved() const;
/** Returns all the panel children rather than only visible */
FChildren* GetAllChildren();
protected:
/** Initialize members */
void Construct();
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
/**
* Zooms to the specified target rect
* @param TopLeft The top left corner of the target rect
* @param BottomRight The bottom right corner of the target rect
*/
void ZoomToTarget(const FVector2D& TopLeft, const FVector2D& BottomRight);
/** Update the new view offset location */
void UpdateViewOffset(const FGeometry& MyGeometry, const FVector2D& TargetPosition);
/** Compute much panel needs to change to pan to location */
static FVector2D ComputeEdgePanAmount(const FGeometry& MyGeometry, const FVector2D& MouseEvent);
/** Given a coordinate in graph space (e.g. a node's position), return the same coordinate in widget space while taking zoom and panning into account */
FVector2D GraphCoordToPanelCoord(const FVector2D& GraphSpaceCoordinate) const;
/** Given a rectangle in panel space, return a rectangle in graph space. */
FSlateRect PanelRectToGraphRect(const FSlateRect& PanelSpaceRect) const;
/**
* Lets the CanvasPanel know that the user is interacting with a node.
*
* @param InNodeToDrag The node that the user wants to drag
* @param GrabOffset Where within the node the user grabbed relative to split between inputs and outputs.
*/
virtual void OnBeginNodeInteraction(const TSharedRef<SNode>& InNodeToDrag, const FVector2D& GrabOffset);
/**
* Lets the CanvasPanel know that the user has ended interacting with a node.
*
* @param InNodeToDrag The node that the user was to dragging
*/
virtual void OnEndNodeInteraction(const TSharedRef<SNode>& InNodeToDrag);
/** Figure out which nodes intersect the marquee rectangle */
void FindNodesAffectedByMarquee(FGraphPanelSelectionSet& OutAffectedNodes) const;
/**
* Apply the marquee operation to the current selection
*
* @param InMarquee The marquee operation to apply.
* @param CurrentSelection The selection before the marquee operation.
* @param OutNewSelection The selection resulting from Marquee being applied to CurrentSelection.
*/
static void ApplyMarqueeSelection(const FMarqueeOperation& InMarquee, const FGraphPanelSelectionSet& CurrentSelection, FGraphPanelSelectionSet& OutNewSelection);
/**
* On the next tick, centers and selects the widget associated with the object if it exists
*
* @param ObjectToSelect The object to select, and potentially center on
* @param bCenter Whether or not to center the graph node
*/
void SelectAndCenterObject(const UObject* ObjectToSelect, bool bCenter);
/**
* On the next tick, centers the widget associated with the object if it exists
*
* @param ObjectToCenter The object to center
*/
void CenterObject(const UObject* ObjectToCenter);
/** Add a slot to the CanvasPanel dynamically */
virtual void AddGraphNode(const TSharedRef<SNode>& NodeToAdd);
/** Remove all nodes from the panel */
virtual void RemoveAllNodes();
/** Populate visibile children array */
virtual void PopulateVisibleChildren(const FGeometry& AllottedGeometry);
/** Arrange child nodes - allows derived classes to supply non-node children in OnArrangeChildren */
virtual void ArrangeChildNodes(const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren) const;
// Paint the background as lines
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
void PaintBackgroundAsLines(const FSlateBrush* BackgroundImage, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32& DrawLayerId) const;
// Paint the well shadow (around the perimeter)
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
void PaintSurroundSunkenShadow(const FSlateBrush* ShadowImage, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 DrawLayerId) const;
// Paint the marquee selection rectangle
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
void PaintMarquee(const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 DrawLayerId) const;
// Paint the software mouse if necessary
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
void PaintSoftwareCursor(const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 DrawLayerId) const;
// Paint a comment bubble
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
void PaintComment(const FString& CommentText, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 DrawLayerId, const FLinearColor& CommentTinting, float& HeightAboveNode, const FWidgetStyle& InWidgetStyle ) const;
/** Determines if a specified node is not visually relevant. */
bool IsNodeCulled(const TSharedRef<SNode>& Node, const FGeometry& AllottedGeometry) const;
protected:
///////////
// INTERFACE TO IMPLEMENT
///////////
/** @return the widget in the summoned context menu that should be focused. */
virtual TSharedPtr<SWidget> OnSummonContextMenu(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) { return TSharedPtr<SWidget>(); }
virtual bool OnHandleLeftMouseRelease(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) { return false; }
protected:
/**
* Get the bounds of the given node
* @return True if successful
*/
bool GetBoundsForNode(const UObject* InNode, /*out*/ FVector2D& MinCorner, /*out*/ FVector2D& MaxCorner, float Padding = 0.0f) const;
/**
* Get the bounds of the selected nodes
* @param bSelectionSetOnly If true, limits the query to just the selected nodes. Otherwise it does all nodes.
* @return True if successful
*/
bool GetBoundsForNodes(bool bSelectionSetOnly, /*out*/ FVector2D& MinCorner, /*out*/ FVector2D& MaxCorner, float Padding = 0.0f);
/**
* Scroll the view to the desired location
* @return true when the desired location is reached
*/
bool ScrollToLocation(const FGeometry& MyGeometry, FVector2D DesiredCenterPosition, const float InDeltaTime);
/**
* Zoom to fit the desired size
* @return true when zoom fade has completed & fits the desired size
*/
bool ZoomToLocation(const FVector2D& CurrentSizeWithoutZoom, const FVector2D& DesiredSize, bool bDoneScrolling);
/**
* Change zoom level by the specified zoom level delta, about the specified origin.
*/
void ChangeZoomLevel(int32 ZoomLevelDelta, const FVector2D& WidgetSpaceZoomOrigin, bool bOverrideZoomLimiting);
// Should be called whenever the zoom level has changed
void PostChangedZoom();
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3042808) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3026763 on 2016/06/24 by Phillip.Kavan [UE-32259] Fix missing heat map coloration on pure nodes. change summary: - modified FScriptExecutionNode::RefreshStats() to ensure that child nodes are updated for 'standard' exec node types. #jira UE-32259 Change 3026829 on 2016/06/24 by Mike.Beach Mirroring CL 3025832 from Release-4.12 Guarding GetClassDefault nodes against asserts while loading cyclically dependent content. Regenerating one Blueprint could trigger a ReconstructNode() in a separate Blueprint (that had already been regenerated). However, not all objects in that Blueprint's package have been post-loaded, so object Rename() will assert is you try to reset loaders with it. #jira UE-32356 Change 3026888 on 2016/06/24 by Mike.Beach PR #2460: Functionality to flag blueprint as abstract (Contributed by Pierdek) Change 3027245 on 2016/06/24 by Phillip.Kavan [UEBP-180] Alternate treatment for Blueprint profiler tree view node expander icon (to differentiate from exec pin icons). change summary: - added SProfilerStatExpander (from BenC) - modified original to replace indicator icons w/ FontAwesome glyphs (they're a bit clearer) - see screenshot attached to JIRA #jira UEBP-180 Change 3027279 on 2016/06/24 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3027606 on 2016/06/25 by Dan.Oconnor Back out changelist 3027279, this change breaks custom events coupled to multicast delegate nodes (see ProjRocket.uasset in shooter game for an example) Change 3028731 on 2016/06/27 by Ben.Cosh Minor change to the spacing around the new expander icons for the blueprint profiler. #Jira UEBP-180 - Pin icons are too similar to the tree expander icons in the node execution graph display. #Proj Kismet Change 3028740 on 2016/06/27 by Ben.Cosh This change modifies the way the blueprint profiler detects and maps delegate events that are created at blueprint compile time. #Jira UE-32055 - Assert when profiling timelines in the blueprint profiler #Proj BlueprintProfiler, KismetCompiler, BlueprintGraph, LiveEditor, Kismet, Engine Change 3028844 on 2016/06/27 by Maciej.Mroz #jira UE-32470 Nativized Orion: Sparrow has no Rentless ability. Better way to find Placeholder classes in BlueprintNativeCodeGenModule. Change 3029573 on 2016/06/27 by Ryan.Rauschkolb Fixed issue where Preview Connection would be drawn incorrectly when an input and output pin share the same name #jira UE-32211 Change 3030335 on 2016/06/28 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering List of AssetRegistrySearchable properties, that should be stored for DynamicClasses in moved to .ini file. Added SearchDynamicClassCues function in GameplayCueManager.cpp Change 3030492 on 2016/06/28 by Ben.Cosh CIS Mac Build fix Change 3030494 on 2016/06/28 by Ben.Cosh This change reworks the way the blueprint profiler maps latent re-entry points to address problems that could be triggered when multiple re-entries happenned within close proximity. #Jira UE-32452 - Blueprint profiler asserts when a second latent entry is triggered #Proj BlueprintProfiler, CoreUObject, Engine, Kismet Change 3030612 on 2016/06/28 by Maciej.Mroz typo fixed Change 3031461 on 2016/06/28 by Dan.Oconnor Fixed for crash involving a stale UEdGraphPin after performing an undo/redo operation inolving UEdGraphNode(s) #jira UE-32553 Change 3031537 on 2016/06/28 by Ben.Cosh Fix for a problem introduced in CL 3030494 and recent graph pin changes that caused problems uniquely naming tunnel entry/exit pins. #Jira UE-32578 - Crash when profiling blueprint containing a for-loop #Proj BlueprintProfiler Change 3031556 on 2016/06/28 by Ben.Cosh This fixes a problem with the profiler tracking of PIE actor instances adding a mechanism to refresh the actor references when a subsequent PIE session is started. #Jira UE-32595 - Running two subsequent PIE sessions with a latent entry point causes an assert. #Proj BlueprintProfiler, Kismet Change 3031588 on 2016/06/28 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3031887 on 2016/06/28 by Dan.Oconnor Fix for crash caused by stale pin access in SGraphPin, also fixes 'double opacity' effect when ctrl+dragging off of a macro #jira UE-32604 Change 3031932 on 2016/06/28 by Dan.Oconnor Fix for major regression in pin value visibility #jira UE-32614 Change 3032568 on 2016/06/29 by Phillip.Kavan [UE-31681] Ensure that cached component data cache template objects are referenced during garbage collection. change summary: - modified AActor::AddReferencedObjects() to include CurrentTransactionAnnotation - added UChildActorComponent::AddReferencedObjects() to include CachedInstanceData - also added FChildActorComponentInstanceData::AddReferencedObjects() to include ComponentInstanceData (just in case some future task happens to trigger a reference gather during its lifetime) additional notes: - should also resolve UE-32558 #jira UE-31681 Change 3032998 on 2016/06/29 by Dan.Oconnor Fixing shutdown crash after LinkedTo lists are corrupted. An ensure couldn't fire when a node had already been destroyed. UE-32631 tracks the actual ensure. #jira UE-32634 Change 3033448 on 2016/06/29 by Ryan.Rauschkolb Discard Return Nodes that have no outputs when collapsing to function #jira UE-23381 Change 3034407 on 2016/06/30 by Phillip.Kavan [UE-32675] Fix no-editor compile issue. Change 3034691 on 2016/06/30 by Ryan.Rauschkolb Fixed issue where Macro nodes with ambiguous links could be collapsed into a function Change 3034701 on 2016/06/30 by Ryan.Rauschkolb Cleaned up UEdGraphSchema_K2::GetVariableTypeTree to use a filter rather than several booleans Change 3035093 on 2016/06/30 by Maciej.Mroz #jira UE-32683 BP_Hero Blueprint failing to compile in Orion - K2Node_CustomEvent_1050 is out of date Temporary fix. Change 3035440 on 2016/07/01 by Maciej.Mroz #jira UE-32706 Nativized Orion crash - Cannot find "Root" subobject in ABP_HeroPedestal_C... Make sure, the CDO of DynamicClass (and its subobjects) have AsyncLoading flag cleared. Change 3035442 on 2016/07/01 by Maciej.Mroz Added UDynamicClass::FindArchetype #jira UE-30667 Ground material in Agora incorrect in Nativized Orion Change 3036233 on 2016/07/01 by Dan.Oconnor Proper handling of null pin references in compiler results logs Change 3036541 on 2016/07/01 by Dan.Oconnor Fix for more assymetry in LinkedTo after undo/redo. This solution addresses both UE-32645 and UE-32553. The key to correct behavior is to explictly detect the case where only one of the two nodes in a peer (LinkedTo) relationship are in the transaction buffer. Added IsObjectTransacting to transaction interface to detect this. #jira UE-32645 Change 3036581 on 2016/07/02 by Dan.Oconnor Non-editor fix Change 3036632 on 2016/07/02 by Maciej.Mroz Removed too strict check in BlueprintNativeCodeGenModule Change 3036715 on 2016/07/02 by Maciej.Mroz #jira UE-32612 Odin emits a error when nativized - attempting to access a hidden boolean bitfield property - Private bitfield can be used as LHS expression in generated code. - Refactoring. Introduced ENativizedTermUsage. Change 3037014 on 2016/07/04 by Maciej.Mroz #jira UE-32729 Orion failing to package for PS4 with Nativization Make sure that temporary variable used in ternary operator: "context ? context->variable : temp-variable", has exactly the same type as the wanted variable. Change 3037300 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Fixup hardcoded function names in BP=>Cpp backend Change 3037303 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Nativization - fixed hardcoded string. Change 3037307 on 2016/07/05 by Maciej.Mroz AutomationTool: Fixed issue: A nativized client was compiled with both client and server NativizedAssets plugins. Paths to nativized BP plugin is stored in a map. Change 3037712 on 2016/07/05 by Mike.Beach Adding a non-const version of MultiFindPointer() for TMultiMap. Change 3037790 on 2016/07/05 by Mike.Beach Fixing a bug where overridden components in Blueprints could load with cleared properties - this could happen in cyclically dependent parent/child Blueprints (where the child's component would be zeroed). In this case, the Blueprint's CDO would be deferred, so to solve this new issue we now defer the Blueprint's sub-object overrides as well. #jira UE-32693 Change 3038014 on 2016/07/05 by Ben.Cosh Refactor of the blueprint profiler tunnel mapping and playback to address issues blocking MVP #Jira UE-32056 - The blueprint profiler can still get hung up with cyclic links in the graph #Proj Kismet, BlueprintProfiler, KismetCompiler, BlueprintGraph, UnrealEd Change 3038533 on 2016/07/05 by Mike.Beach PR #2558: Stopping Zoom-to-Fit On User Input (Fixed) (Contributed by MichaelSchoell) Change 3038608 on 2016/07/05 by Dan.Oconnor Fix for crash when altering ConstructObjectFromClass nodes, removed now unused InvalidateAndTrash function from UEdGraphPin, removed subpin leak counter #jira FORT-26495 Change 3038770 on 2016/07/05 by Dan.Oconnor Hiding TThreadSingleton<FBlueprintExceptionTracker>::Get() to fix clang for windows link error #jira UE-31935 Change 3038841 on 2016/07/05 by Dan.Oconnor Simple null check to prevent crash after loading a blueprint to diff. The diff'd blueprint is ending up in other blueprint's DependentBlueprintsToRecompile, for now this is the safest fix #jira UE-31115 Change 3039179 on 2016/07/06 by Maciej.Mroz #jira UE-31987 Editor crashes when transforming actor after applying instances changes Selected (in Level editor) instance components are still selected after they are converted to regular components. Change 3039216 on 2016/07/06 by Maciej.Mroz #jira UE-31767 [CrashReport] UE4Editor_Engine!AActor::GetLevel() [actor.cpp:1663] FIxed unsafe code. Change 3040046 on 2016/07/06 by Ben.Cosh This fixes a problem found where tunnel instances inside tunnel graphs fail to map correctly in the blueprint profiler #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Proj BlueprintProfiler Change 3040061 on 2016/07/06 by Ben.Cosh fix for bad unshelve before submit in CL 3040046 - Phillip already reviewed this version of the file and not what was actually submitted. Change 3040346 on 2016/07/06 by Maciej.Mroz #jira UE-32840 //UE4/Dev-Blueprints: UE4_StaticAnalysis completed with Warnings - 2 Warnings Fix(?) for warning C28182 Change 3040349 on 2016/07/06 by Dan.Oconnor Updating test data Change 3040473 on 2016/07/06 by Dan.Oconnor Fix SMyBlueprint in blueprint diff tool so that kismet inspector is updated with the object selected in SMyBlueprint, needed to investigate UE-18200 Change 3040536 on 2016/07/06 by Dan.Oconnor Call to APITestFunction Change 3040565 on 2016/07/06 by Dan.Oconnor Clone saved GeneratedClass when not doing COL. Groundwork to fix for UE-17268. Change 3040603 on 2016/07/06 by Dan.Oconnor PR #2539: Option to disable Grid in the blueprint and material editor and change grid colors (Contributed by CelPlays) #jira UE-32497 Change 3040798 on 2016/07/07 by Maciej.Mroz Fixed warning C6011: Dereferencing NULL pointer 'Object'. Added some comments. #jira UE-32840 Change 3041185 on 2016/07/07 by Ben.Cosh This fixes problems with the blueprint profiler with name collisions for nodes in different graphs and improves nested tunnel detection. #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Jira UE-32889 - Name collisions can now occur in the blueprint profiler for stat nodes. #Proj BlueprintProfiler, Kismet Notes: This attempts to continue to address fall out from CL 3040046 to improve stability. Previously execution nodes were patched into the function contexts that called a tunnel instance. However this proved problematic after spotting a rare case where node names collide between between event and tunnel graphs and caused havok in the node mapping. This change moves to an approach that patches in tunnel contexts and any dependent contexts and instead attempts to locate critical path nodes using a new node search system making use of these child function contexts. CL 3040046 also modified TunnelContext's to be actually more representative of a tunnel instance context, I have updated naming conventions to reflect this for clarity. The changes here also add a single function context for tunnel graphs which contain the bulk of the nodes in the graph and the tunnel instance contexts reference this and make use of it to create non boundary / tunnel instance nodes so they are located in a single place for all instances of that tunnel graph. Change 3041603 on 2016/07/07 by Dan.Oconnor Fix for check failure: PreviousCDO != nullptr, when loading blueprints that have circularly dependent interfaces #jira UE-31639 Change 3042058 on 2016/07/07 by Dan.Oconnor Ensures that the correct ComponentClass is assigned to our template node. This pins are normally allocated lazilly in BlueprintActionFilterImpl::HasMatchingPin, so not a huge change #jira UE-32769 Change 3042468 on 2016/07/08 by Maciej.Mroz #jira UE-32882, UE-32887 Fixed Crash in UHT. Fixed "Ambiguous search" error, when delegate has owner class declared. Change 3042739 on 2016/07/08 by Maciej.Mroz Nativization. Included headers for native subobjects. Change 3042747 on 2016/07/08 by Maciej.Mroz Minor changes in Orion code, necessary to compile the project with nativized Blueprints Change 3042758 on 2016/07/08 by Maciej.Mroz "OrionGame.h" is included in NativizedAssets module. [CL 3043181 by Mike Beach in Main branch]
2016-07-08 14:59:19 -04:00
// Fires up a per-tick function to zoom the graph to fit
void RequestZoomToFit();
// Cancels any active zoom-to-fit action
void CancelZoomToFit();
public:
// Sets the zoom levels container
template<typename T>
void SetZoomLevelsContainer()
{
ZoomLevels = MakeUnique<T>();
OldZoomAmount = ZoomLevels->GetZoomAmount(ZoomLevel);
ZoomLevel = PreviousZoomLevel = ZoomLevels->GetNearestZoomLevel(OldZoomAmount);
PostChangedZoom();
}
protected:
// The interface for mapping ZoomLevel values to actual node scaling values
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3173153 on 2016/10/25 by Graeme.Thornton Pak signing changes - Integrated into EDL loader - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup. Change 3173531 on 2016/10/25 by Steven.Hutton Removing unused j query packages. Change 3174743 on 2016/10/26 by Gil.Gribb UE4 - fixed COTF with EDL Change 3177896 on 2016/10/28 by Steve.Robb TSharedPtr and TSharedRef aliasing constructors. Removal of static_asserts for TSharedPtr<UObject>. Change 3180343 on 2016/10/31 by Steve.Robb Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741. Change 3181382 on 2016/11/01 by Steve.Robb Visual Studio debugger visualizers for delegates. Change 3182738 on 2016/11/02 by Graeme.Thornton Re-enable signed archive reader so non-pakpreacher based reads still get signature checked Change 3183420 on 2016/11/02 by Steve.Robb Fix to TIsZeroConstructType for TScriptDelegate. Change 3184872 on 2016/11/03 by Robert.Manuszewski Fixing memory stomps in SSL certificate initialization (found with mallocstomp) Change 3184873 on 2016/11/03 by Robert.Manuszewski Adding thread safety checks to async loading code Change 3185535 on 2016/11/03 by Ben.Zeigler Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components. Change 3186636 on 2016/11/04 by Graeme.Thornton AES encryption integrated into EDL system Pak signing and AES encryption now configurable by ini files rather than magical text files Change 3186637 on 2016/11/04 by Graeme.Thornton Configured pak signing and encryption in ShooterGame for reference Change 3186639 on 2016/11/04 by Graeme.Thornton Encryption changes for Orion * Move pak signing keys into new INI format * Add AES key and enable INI file encryption Change 3186661 on 2016/11/04 by Graeme.Thornton Change unrealpak command line params to accept AES key as a separete parameter Change 3186670 on 2016/11/04 by Robert.Manuszewski Adding a null check before using a package pointer in Linker code #jira UE-38237 Change 3186775 on 2016/11/04 by Graeme.Thornton Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler - PS4 and Mac fixes. Other platforms might need fixing too! Change 3186823 on 2016/11/04 by Graeme.Thornton Fixed an incorrect size check in the EDL pak signing code Change 3186925 on 2016/11/04 by Graeme.Thornton Allow UnrealPak to read encryption settings from project ini files Change 3189885 on 2016/11/08 by Graeme.Thornton Static analysis warning fix Change 3190015 on 2016/11/08 by Robert.Manuszewski Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread Change 3190253 on 2016/11/08 by Chris.Wood Improved MDD performance for on the CR server. [UE-37566] - Improve MDD performance on CR server Blocked MDD init'ing the crash handling code as it isn't desirable on the server. Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper. Change 3192993 on 2016/11/10 by Robert.Manuszewski Thread Heartbeat will no longer report the same hang multiple times. Change 3193111 on 2016/11/10 by Robert.Manuszewski Minor change in the condition that detects the same hangs - allow the same callstacks from different threads Change 3193168 on 2016/11/10 by Steve.Robb TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely. Change 3193171 on 2016/11/10 by Steve.Robb Easier debugging of FPendingRegistrantInfo map. Change 3193188 on 2016/11/10 by Steve.Robb TAutoPointer deprecated. Change 3193796 on 2016/11/10 by Graeme.Thornton Fix pak creation failure when no pak signing keys are supplied Change 3194524 on 2016/11/11 by Graeme.Thornton Another static analysis warning fix Change 3195119 on 2016/11/11 by Steve.Robb TAutoPtr deprecated. Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]). Some large headers moved into .cpp files. Change 3196582 on 2016/11/14 by Gil.Gribb UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game. Change 3196878 on 2016/11/14 by Steve.Robb TScopedPointer deprecated. Change 3198061 on 2016/11/15 by Steve.Robb Class array is no longer regenerated when saving UClasses. Change 3198065 on 2016/11/15 by Robert.Manuszewski Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread. Change 3198199 on 2016/11/15 by Robert.Manuszewski Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed. Change 3199954 on 2016/11/16 by Graeme.Thornton Removing USING_SIGNED_CONTENT Change 3200221 on 2016/11/16 by Chris.Wood CrashReportProcess code cleanup - removing unused using directives Change 3200232 on 2016/11/16 by Chris.Wood Multiple CrashReportProcess updates and improvements (CRP v1.2.6) UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives InvalidCrashReports now saved to S3 instead of local folder Removed option tosync MinidumpDiagnostics from Perforce Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing) Added improved logging to Slack with option to monitor MDD performance Added hourly log folders to MDD logs Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures) Change 3200382 on 2016/11/16 by Robert.Manuszewski Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists). Change 3200562 on 2016/11/16 by Gil.Gribb UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication. Change 3201093 on 2016/11/16 by Ben.Zeigler #UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only. Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only. Change 3201736 on 2016/11/17 by Steve.Robb Strtoi64 platform and TCString functions. #fyi robert.manuszewski Change 3201938 on 2016/11/17 by Ben.Woodhouse Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future. Commandline: p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp #fyi robert.manuszewski Change 3203757 on 2016/11/18 by Robert.Manuszewski Removing debug code from async loading code. Change 3203927 on 2016/11/18 by Robert.Manuszewski Fixing comments in the async loading code. Change 3204851 on 2016/11/18 by Steve.Robb Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value. Change 3204854 on 2016/11/18 by Steve.Robb UEnumProperty. Change 3205027 on 2016/11/18 by Ben.Zeigler Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr Add Get() to TSubclassOf so it matches our other wrappers Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf Change 3206334 on 2016/11/21 by Ben.Zeigler #UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries #UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient. Cook finishes but game is still crashing in some cases, so I might adjust this after other testing Change 3206353 on 2016/11/21 by Ben.Zeigler Fix EnumProperty to handle EDL preload dependencies properly Change 3206625 on 2016/11/21 by Ben.Zeigler Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient Change 3206937 on 2016/11/21 by Ben.Zeigler #jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer Correctly save enum tag for enum properties, it was being set but not serialized Change 3207002 on 2016/11/21 by Ben.Zeigler #jira UE-38799 Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed. Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future. If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time. We should generally outlaw non-transient objects with transient outers, it does not do what people expect. Change 3207032 on 2016/11/21 by Ben.Zeigler #jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do [CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
TUniquePtr<FZoomLevelsContainer> ZoomLevels;
/** The position within the graph at which the user is looking */
FVector2D ViewOffset;
/** The position within the graph at which the user was looking last tick */
FVector2D OldViewOffset;
/** How zoomed in/out we are. e.g. 0.25f results in quarter-sized nodes. */
int32 ZoomLevel;
/** Previous Zoom Level */
int32 PreviousZoomLevel;
/** The actual scalar zoom amount last tick */
float OldZoomAmount;
/** Are we panning the view at the moment? */
bool bIsPanning;
/** Are we zooming the view with trackpad at the moment? */
bool bIsZoomingWithTrackpad;
/** The graph node widgets owned by this panel */
TSlotlessChildren<SNode> Children;
TSlotlessChildren<SNode> VisibleChildren;
/** The node that the user is dragging. Null when they are not dragging a node. */
TWeakPtr<SNode> NodeUnderMousePtr;
/** Where in the title the user grabbed to initiate the drag */
FVector2D NodeGrabOffset;
/** The total distance that the mouse has been dragged while down */
float TotalMouseDelta;
/** The additive X and Y components of mouse drag (used when zooming) */
float TotalMouseDeltaXY;
/** Offset in the panel the user started the LMB+RMB zoom from */
FVector2D ZoomStartOffset;
/** Cumulative magnify delta from trackpad gesture */
float TotalGestureMagnify;
public:
/** Nodes selected in this instance of the editor; the selection is per-instance of the GraphEditor */
FGraphSelectionManager SelectionManager;
protected:
/** A pending marquee operation if it's active */
FMarqueeOperation Marquee;
/** Is the graph editable (can nodes be moved, etc...)? */
TAttribute<bool> IsEditable;
/** Given a node, find the corresponding widget */
TMap< UObject*, TSharedRef<SNode> > NodeToWidgetLookup;
/** If not empty and a part of this panel, this node will be selected and brought into view on the next Tick */
TSet<const UObject*> DeferredSelectionTargetObjects;
/** If non-null and a part of this panel, this node will be brought into view on the next Tick */
const UObject* DeferredMovementTargetObject;
/** Deferred zoom to selected node extents */
bool bDeferredZoomToSelection;
/** Deferred zoom to node extents */
bool bDeferredZoomToNodeExtents;
/** Zoom selection padding */
float ZoomPadding;
/** Allow continous zoom interpolation? */
bool bAllowContinousZoomInterpolation;
/** Teleport immediately, or smoothly scroll when doing a deferred zoom */
bool bTeleportInsteadOfScrollingWhenZoomingToFit;
/** Fade on zoom for graph */
FCurveSequence ZoomLevelGraphFade;
/** Curve that handles fading the 'Zoom +X' text */
FCurveSequence ZoomLevelFade;
/** The position where we should paste when a user executes the paste command. */
FVector2D PastePosition;
/** Position to pan to */
FVector2D DeferredPanPosition;
/** true if pending request for deferred panning */
bool bRequestDeferredPan;
/** The current position of the software cursor */
FVector2D SoftwareCursorPosition;
/** Whether the software cursor should be drawn */
bool bShowSoftwareCursor;
/** Current LOD level for nodes/pins */
EGraphRenderingLOD::Type CurrentLOD;
/** Invoked when the user may be attempting to spawn a node using a shortcut */
SGraphEditor::FOnSpawnNodeByShortcut OnSpawnNodeByShortcut;
/** The last key chord detected in this graph panel */
FInputChord LastKeyChordDetected;
/** The current transaction for undo/redo */
TSharedPtr<FScopedTransaction> ScopedTransactionPtr;
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 3600060) #rb none #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3292215 on 2017/02/08 by Nick.Shin HTML5 emscripten: wasm and wbegl2 support - emscripten toolchain #jira UEPLAT-1437 Switch [to] web assembly #rb none Change 3293994 on 2017/02/09 by Nick.Shin HTML5 emscripten: wasm and webgl2 support - OSX toolchain #jira UEPLAT-1437 Switch [to] web assembly #rb none Change 3317951 on 2017/02/22 by Nick.Shin HTML5 emscripten: wasm & webgl2 support - RC1 - emscripten toolchain WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first #jira UEMOB-263 Switch [to] web assembly #jira UEMOB-201 Support ES3 / WebGL2 in HTML5 #rb none Change 3318669 on 2017/02/23 by Nick.Shin HTML5 emscripten: wasm & webgl2 support - RC1 - OSX toolchain #jira UEMOB-263 Switch [to] web assembly #jira UEMOB-201 Support ES3 / WebGL2 in HTML5 #rb none Change 3462146 on 2017/05/26 by Nick.Shin HTML5 - merge from Release-4.16 to Dev-Mobile #jira none #rb none #rnx Change 3504996 on 2017/06/22 by Cosmin.Sulea UEMOB-362 - Add per-texture and per-format compression quality override settings #rb Dmitriy.Dyomin #jira UEMOB-362 #codereview Dmitriy.Dyomin #codereview Jack.Porter Change 3505056 on 2017/06/22 by Cosmin.Sulea Back out changelist 3504996 - due to errors generated in xboxOne, PS4 and Switch versions #rb none Change 3508049 on 2017/06/23 by Nick.Shin HTML5 toolchain notes corrections #jira none #rb none #rnx Change 3508663 on 2017/06/24 by Nick.Shin HTML5LaunchHelper.exe on linux - redo - it seems that i need to also check-in the exe and pdb file instead of having CIS make and checking-in them itself... - modified c# program to output a version number to help track which version of HTML5LaunchHelper is running... #jira UE-45302 HTML5LaunchHelper.exe hosts the files in the current working directory on Linux #rnx #rb none Change 3509210 on 2017/06/26 by Dmitriy.Dyomin ExposureScale will be applied during tonemap pass when MobileHDR is on #rb jack.porter #codereview Allan.Bentham Change 3511058 on 2017/06/27 by Cosmin.Sulea UEMOB-362 - Add per-texture and per-format compression quality override settings - resubmitted #rb Dmitriy.Dyomin #jira UEMOB-362 #codereview Dmitriy.Dyomin Change 3511069 on 2017/06/27 by Jack.Porter PS4, XboxOne and Switch fixes for changes to ITextureFormat interface #rb Dmitriy.Dyomin #jira UEMOB-362 Change 3513028 on 2017/06/28 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) #rb None Change 3517409 on 2017/06/30 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) #rb None Change 3517730 on 2017/06/30 by Cosmin.Sulea UEMOB-328 - Improve handling of iOS signing key on remote Mac system keychain when using remote toolchain #rb Jack.Porter #jira UEMOB-328 #codereview: peter.sauerbrei Change 3517757 on 2017/06/30 by Cosmin.Sulea UE-46245 - Building with remote toolchain does not use Project Setting for iOS signing identity which can cause signing errors #rb Jack.Porter #jira UE-46245 #codereview: peter.sauerbrei Change 3518149 on 2017/06/30 by Adrian.Chelu UE-43035 Tilt axis for X and Z are not consistent between Android and iOS devices #rb Jack.Porter #jira UE-46245 #codereview: Chris Babcock <chris.babcock@epicgames.com> Change 3524242 on 2017/07/06 by Nick.Shin HTML5 - refraction shader note: this CL also contains fixes to webgl2 [float4 vs half2] and a [% vs Mod()] material custom function changes to some TM-ShaderModels shaders specifically: fixes to and similar with: DitherTemporalAA #jria UE-46434 No Refraction in QA Game TM-Shadermodels HTML5 #rb none #rn #codereview jack.porter dmitriy.dyomin Change 3535295 on 2017/07/13 by Allan.Bentham #jira UEMOB-390 Add Android cpu stats. add 'stat AndroidCPU' to android's console spinner UI. increase GetCPUState's core count support to 16. #jira UE-45888 Use cvar value to limit android cpu stat update rate. #rb none Change 3535306 on 2017/07/13 by Allan.Bentham Add missing pragma once #rb none Change 3537047 on 2017/07/13 by Ben.Marsh Fixing case of iOS directories, pt1 #rb none Change 3537051 on 2017/07/13 by Ben.Marsh Fixing case of iOS directories, pt2 #rb none Change 3537373 on 2017/07/14 by Allan.Bentham Add scope level android egl error verification. work around minor issue with invalid egl config property. #rb chris.babcock Change 3541735 on 2017/07/18 by Allan.Bentham Add 'sustained performance mode' support for API 24+ devices. #jira UEMOB-386 #rb chris.babcock Change 3543001 on 2017/07/18 by Sorin.Gradinaru #jira UE-45766 Improved Virtual Keyboard cannot receive non-English characters. - for Android, add an native EditBox above the virtual keyboard to receive the text and pass it to the object from the slate #rb Chris.Babcock Change 3554399 on 2017/07/25 by Nick.Shin STATS disabled for non multi-threaded platforms #jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox #rnx #rb none Change 3554402 on 2017/07/25 by Nick.Shin STATS TaskGraph disabled for non multi-threaded platforms #jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test #rb none #rnx Change 3556957 on 2017/07/26 by Nick.Shin HTML5 - WASM enabled by default - part 1 -- commenting out asmjs stuff begin sunsetting ASM.JS note to self: CL#3462146 "backout" asmjs #jira UEMOB-416 WASM enabled by default #rnx #rb none Change 3557654 on 2017/07/26 by Nick.Shin HTML5 - WASM enabled by default - part 2 -- remove asmjs code sunsetting ASM.JS note to self: CL#3462146 "backout" asmjs #jira UEMOB-416 WASM enabled by default #rn #rb none Change 3557910 on 2017/07/27 by Jack.Porter Support Client configuration when packaging in the editor #jira UE-39973 #rb Dmitriy.Dyomin Change 3557917 on 2017/07/27 by Jack.Porter Missing file from CL 3557910 #rb trivial Change 3559642 on 2017/07/27 by Nick.Shin STATS TaskGraph disabled for non multi-threaded platforms - both "LockFree stress test" and "task graph benchmark" are disabled - no multi-threading for WASM exist yet (note: ASM.JS has been sunsetted) - stat command crash "fixed" - but, font size are totally broken - i can look at this (much) later... - new bug: physx will crash on "gc and level load stress test" -- please bug this as a new jira #jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test #rb none #rnx Change 3565656 on 2017/07/31 by Dmitriy.Dyomin Added a way to lock level position in Word Composition #jira UE-47713 #rb none Change 3565757 on 2017/08/01 by Dmitriy.Dyomin compile fix #rb none Change 3567446 on 2017/08/01 by Chris.Babcock Allow addElement and addElements to only insert once with once="true" attribute in UPL #jira UE-47951 #ue4 #android #rb Peter.Sauerbrei Change 3567592 on 2017/08/01 by Chris.Babcock Use absolute path for repositories for Gradle #jira UE-47952 #ue4 #android #rb Tim.Lincoln Change 3568690 on 2017/08/02 by Chris.Babcock Removed warnings for once attribute in UPL #ue4 #android #rb none Change 3569975 on 2017/08/02 by Chris.Babcock Add <baseBuildGradleAdditions> to UPL to allow additions to the root-level build.gradle #jira UE-47995 #ue4 #android #rb Tim.Lincoln Change 3570117 on 2017/08/02 by Chris.Babcock Add <setBoolFromPropertyContains> to UPL - sets bool to true if string list in ini matches contains attribute #jira UE-47996 #ue4 #android #rb Jack.Porter Change 3571552 on 2017/08/03 by Chris.Babcock Removed unneeded settings.gradle file (generated) #jira UE-48041 #ue4 #android #rb none Change 3572224 on 2017/08/04 by Dmitriy.Dyomin Better selection tracking in world composition #rb none Change 3573662 on 2017/08/04 by Nick.Shin HTML5 remove PreLoadMap "feature" (was only available/used with HTML5) - asyncronous loads are not allowed during UEngine::LoadMap() - the files/code will be repurposed for pakfile CHUNK support #jira UEMOB-425 HTML5 streaming content investigation (part 1 of 2) #rn #rb none Change 3574471 on 2017/08/07 by Dmitriy.Dyomin Export ULevelStreamingKismet::LoadLevelInstance function #rb none Change 3576262 on 2017/08/08 by Dmitriy.Dyomin Fixed: widget clipping issues in world composition #rb none Change 3576845 on 2017/08/08 by Nick.Shin set HTML5LaunchHelper application's icon to UE4.ico #jira UE-19225 HTML5LaunchHelper application does not have an unreal icon #rb none #rnx Change 3578313 on 2017/08/09 by Dmitriy.Dyomin Added: an RHI call to invalidate/clear cached state, RHIInvalidateCachedState #jira UEMOB-435 #rb jack.porter Change 3578364 on 2017/08/09 by Dmitriy.Dyomin Vertex Fog is disabled on mobile by default. If scene uses vertex fog - Mobile preview and device will show on screen message: PROJECT HAS VERTEX FOG ON MOBILE DISABLED This saves about 90 instructions in VS and a few in PS #jira UEMOB-166 #rb jack.porter Change 3578703 on 2017/08/09 by Nick.Shin set HTML5LaunchHelper application's icon to UE4.ico forgot to check in exe and pdb file #jira UE-19225 HTML5LaunchHelper application does not have an unreal icon #rb none #rnx Change 3578961 on 2017/08/09 by Peter.Sauerbrei deprecate IOS 8 as the minimum OS supported. #jira UEMOB-429 #rb chris.babcock Change 3579319 on 2017/08/09 by Peter.Sauerbrei fixes for compile errors with Xcode 9 beta 4 #rb none Change 3579356 on 2017/08/09 by Peter.Sauerbrei modified minimum IOS to build with #rb chris.babcock Change 3579687 on 2017/08/09 by Chris.Babcock Fix GoogleVR Gradle packaging #jira UE-48239 #ue4 #android #rb none Change 3579921 on 2017/08/10 by Dmitriy.Dyomin GitHub 3670 : More zoom levels for World Composition (300) #contributedby: user37337 #jira UE-45977 #3670 #rb none Change 3580576 on 2017/08/10 by Peter.Sauerbrei detection of iPad Pro 10.5 and IPad Pro 12.9 (2nd Gen) #rb chris.babcock Change 3580611 on 2017/08/10 by Chris.Babcock Set online provider back to GooglePlay and remove forcing IAP permission (contributed by umerov1999) #jira UE-48185 #PR #3876 #ue4 #android #rb Peter.Sauerbrei Change 3582166 on 2017/08/11 by Nick.Shin nuke PLATFORM_HTML5_WIN32 PLATFORM_HTML5_WIN32 code removal tested successfully with (force rebuild and repackaging): * Win64 server (WindowsServer) * Win64 client (WindowsNoEditor) * HTML5 client all playing together via websocket net driver (i've attached a screen shot of this in jira) code changes touches: physics, audio and main build files #jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code #rb ben.marsh #rnx #codereview josh.adams #fyi ori.cohen, aaron.mclera Change 3582474 on 2017/08/11 by Chris.Babcock Don't use V2 signing for Gear VR APKs #jira UE-48354 #ue4 #android #rb Peter.Sauerbrei Change 3582614 on 2017/08/11 by Chris.Babcock Filter out unneeded architectures from APK for Gradle builds #jira UE-48355 #ue4 #android #rb Peter.Sauerbrei Change 3582923 on 2017/08/11 by Nick.Shin backport release 4.17 to dev-mobile #jira none #rb none #rnx Change 3582924 on 2017/08/11 by Nick.Shin FNetworkFileServerHttp - error gracefully when port is already in use #jira UE-46409 [CrashReport] Assertion on Mac: Could not create a libwebsocket - FNetworkFileServerHttp::Init() #rnx #rb none Change 3582925 on 2017/08/11 by Nick.Shin HTML5 - turn off pak file compression in favor of gzip packages #jira UE-46729 HTML5 - on shipping builds - turn off pak file compression in favor of gzip packages #rn #rb none Change 3583943 on 2017/08/14 by Cosmin.Sulea UEMOB-363 - second iteration - Project wide texture quality control by texture group #rb Dmitriy Dyomin #jira UEMOB-363 Change 3583967 on 2017/08/14 by Cosmin.Sulea Back out changelist 3583943 #rb none Change 3584121 on 2017/08/14 by Peter.Sauerbrei fix for mac compile failure #rb none Change 3587877 on 2017/08/15 by Peter.Sauerbrei josh's suggested fix is not working for Xcode 8.3, so brute forcing for now #rb none Change 3588612 on 2017/08/15 by Peter.Sauerbrei Xcode 9 project compatbility updates #rb chris.babcock #codereview michael.trepka Change 3589223 on 2017/08/15 by Dmitriy.Dyomin Fixed: bNavigationAutoUpdateEnabled was not always working when reopeinig the map Fixed: Navigation Build was not clearing some mesh tiles when bNavigationAutoUpdateEnabled is enabled Fixed: Streaming out a level in editor was not always updating NavMesh debug draw #rb lukasz.furman Change 3589900 on 2017/08/16 by Dmitriy.Dyomin Support vulkan validation layers on Android, only in Debug and Development configuration (requires r.Vulkan.EnableValidation=1) #codereview chris.babcock, rolando.caloca #rb none Change 3590592 on 2017/08/16 by Nick.Shin HTML5 emscripten 1.37.19 OSX #jira UE-47813 #rb none #rn HTML5 emscripten 1.37.19 OSX Change 3590597 on 2017/08/16 by Nick.Shin HTML5 emscripten 1.37.19 Linux #jira UE-47813 #rb none #rn HTML5 emscripten 1.37.19 Linux Change 3590624 on 2017/08/16 by Nick.Shin HTML5 emscripten 1.37.19 toolchain #jira UE-47813 #rb none #rn HTML5 emscripten 1.37.19 toolchain Change 3591720 on 2017/08/16 by Chris.Babcock Enable Gradle by default and add button to accept Android SDK license to project settings #jira UE-48519 #ue4 #android #rb Tim.Lincoln #fyi Peter.Sauerbrei Change 3591998 on 2017/08/16 by Chris.Babcock Fix nonunity build #ue4 #android #rb none Change 3592407 on 2017/08/17 by Nick.Shin HTML5 emscripten 1.37.19 Win64 #jira UE-47813 #rb none #rn HTML5 emscripten 1.37.19 Win64 Change 3592479 on 2017/08/17 by Nick.Shin HTML5 3rd Party Libs - compiled with emscripten 1.37.19 #jira UE-47813 #rb none #rn HTML5 3rd Party Libs - compiled with emscripten 1.37.19 toolchain Change 3592480 on 2017/08/17 by Nick.Shin HTML5 emscripten 1.37.19 toolchain Epic edits as well as setting UE4 HTML c# scripts to use new toolchain #jira UE-47813 #rb none #rn HTML5 emscripten 1.37.19 toolchain Epic edits Change 3592481 on 2017/08/17 by Nick.Shin HTML5 remove old emscripten toolchain #jira UE-47813 #rb none #rn HTML5 remove old emscripten toolchain Change 3592485 on 2017/08/17 by Nick.Shin HTML5 undo CanUseXGE - this might be breaking CIS for HTML5 builds... #jira UE-47813 #rb none #rnx Change 3592549 on 2017/08/17 by Dmitriy.Dyomin Added GetDiskTotalAndFreeSpace for IOS and Android #jira UE-46479 #codereview chris.babcock, peter.sauerbrei #rb none Change 3594045 on 2017/08/17 by Peter.Sauerbrei comment about potential failure case in the remote tool chain #rb none Change 3594342 on 2017/08/17 by Peter.Sauerbrei Merging //UE4/Main/... to //UE4/Dev-Mobile/... #rb none Change 3594920 on 2017/08/17 by Peter.Sauerbrei fix for non-unity builds (accidentally merged something incorrectly) #rb none Change 3595347 on 2017/08/17 by Chris.Babcock merge fixes for Android #ue4 #android #rb Peter.Sauerbrei #lockdown Peter.Sauerbrei Change 3595752 on 2017/08/17 by Chris.Babcock Update Facebook plugin to support Gradle #jira UE-48569 #ue4 #android #fyi Josh.Markiewicz #rb none #lockdown Peter.Sauerbrei Change 3595849 on 2017/08/17 by Chris.Babcock Fix issue with libovrplatformloader.so for non armv7 targets #jira UE-48533 #ue4 #android #rb none #lockdown Peter.Sauerbrei Change 3596419 on 2017/08/18 by Peter.Sauerbrei fix for Mac Editor build failure #rb none Change 3597023 on 2017/08/18 by Peter.Sauerbrei fix for game editor build failure #rb none Change 3597032 on 2017/08/18 by Peter.Sauerbrei fix for app bundle id in Info-Editor.plist #rb none Change 3597034 on 2017/08/18 by Peter.Sauerbrei put back the info.plist, found the real problem #rb none Change 3597197 on 2017/08/18 by Peter.Sauerbrei pull Info.plist from the build products #rb none [CL 3600450 by Chris Babcock in Main branch]
2017-08-21 15:05:19 -04:00
/** Cached geometry for use within the active timer */
FGeometry CachedGeometry;
/** A flag to detect when a visual update is pending to prevent deferred
commands like zoom to fit from running when there are no widgets */
bool bVisualUpdatePending;
/** Node positions pre-drag, used to limit transaction creation on drag */
TMap<TWeakPtr<SNode>, FVector2D> OriginalNodePositions;
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
private:
/** Active timer that handles deferred zooming until the target zoom is reached */
EActiveTimerReturnType HandleZoomToFit(double InCurrentTime, float InDeltaTime);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
private:
/** The handle to the active timer */
TWeakPtr<FActiveTimerHandle> ActiveTimerHandle;
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
/** Zoom target rectangle */
FVector2D ZoomTargetTopLeft;
FVector2D ZoomTargetBottomRight;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3967517) #rb none #lockdown Nick.Penwarden #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3804281 by Fred.Kimberley Improve contrast on watches in blueprints. Change 3804322 by Fred.Kimberley First pass at adding a watch window for blueprint debugging. Change 3804737 by mason.seay Added some Descriptions to tests that didn't have any, and fixed some typos Change 3806103 by mason.seay Moved and Renamed Timers test map and content appropriately Change 3806164 by Fred.Kimberley Add missing property types to GetDebugInfoInternal. #jira UE-53355 Change 3806617 by Dan.Oconnor Function Terminator (and derived types) now use FMemberReference instead of a UClass/FName pair. This fixes various bugs when resolving the UFunction referenced by the function terminator #jira UE-31754, UE-42431, UE-53315, UE-53172 Change 3808541 by Fred.Kimberley Add support for redirecting user defined enums. This is in response to the following UDN thread: https://udn.unrealengine.com/questions/404141/is-is-possible-to-create-a-redirector-from-a-bluep.html Change 3808565 by mason.seay Added a few more struct tests Change 3809840 by mason.seay Renamed CharacterMovement.umap to CharacterCollision. Fixed up content to reflect this change. Change 3809847 by mason.seay Added Object Timer tests. Fixed up existing timer test to remove delay dependency Change 3811704 by Ben.Zeigler Fix issue where identical enum redirects registered to different initial names would throw an incorrect error, it's fine if the value change maps are identical Change 3811946 by Ben.Zeigler #jira UE-53511 Fix it so it is possible to set a user defined struct value back to it's default. The UDS hack in PropertyValueToString is no longer needed, but this could affect some other user struct editor operations Change 3812061 by Dan.Oconnor Stepping over or in to nodes that are expanded at compile time (e.g. event nodes, spawn actor nodes) no longer requires multiple 'steps' #jira UE-52854 Change 3812259 by Dan.Oconnor Fix asset broken by removal of an unkown enum #jira UE-51419 Change 3812904 by Ben.Zeigler Make ResolveRedirects on StreamableManager public as it can be used to validate things Change 3812958 by Ben.Zeigler #jira UE-52977 Fix crashes when binding blueprint editor commands to keys and using from invalid contexts Change 3812975 by Mieszko.Zielinski Added contraptions to catch a rare eidtor-time EQS crash #UE4 #jira UE-53468 Change 3818530 by Phillip.Kavan Fix incorrect access to nested instanced subobjects in nativized Blueprint ctor codegen. Change summary: - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to properly reference the outer and check ptr validity when creating/obtaining nested default subobjects. - Modified FEmitDefaultValueHelper::HandleClassSubobject() to better guard against code generation based on an invalid local variable name. #jira UE-52167 Change 3819733 by Mieszko.Zielinski Marked UAISenseConfig_Blueprint and UAISense_Blueprint as hidedropdown #UE4 #jira UE-15089 Change 3821776 by Marc.Audy Remove redundent code in SpawnActorFromClass that already exists in ConstructObjectFromClass parent class Change 3823851 by mason.seay Moved and renamed blueprints used for Object Reference testing Change 3824165 by Phillip.Kavan Ensure that subobject class types are constructed prior to accessing a subobject CDO in a nativized Blueprint class's generated ctor at runtime. Change summary: - Modified FFakeImportTableHelper to tag subobject class types as a preload dependency of the outer converted Blueprint class type and not of the CDO. #jira UE-53111 Change 3830309 by mason.seay Created Literal Gameplay Tag Container test Change 3830562 by Phillip.Kavan Blueprint nativization bug fixes (reviewed/taken from PR). Change summary: - Modified FSafeContextScopedEmitter::ValidationChain() to ensure that generated code calls the global IsValid() utility function on objects. - Modified FBlueprintCompilerCppBackend::EmitCreateArrayStatement() to generate a proper cast on MakeArray node inputs for enum class types. - Modified FBlueprintCompilerCppBackend::EnimCallStatementInner() to more correctly identify an interface function call site. - Modified FEmitHelper::GenerateAutomaticCast() to properly handle automatic casts of enum arrays. - (Modified from PR source) Added new FComponentDataUtils statics to consolidate custom init code generation for converted special-case component types (e.g. BodyInstance). Ties native component DSOs to the same pre/post as converted non-native component templates around the OuterGenerate() loop. - Modified FExposeOnSpawnValidator::IsSupported() to include CPT_SoftObjectReference property types. - Modified UBlueprintGeneratedClass::CheckAndApplyComponentTemplateOverrides() to no longer break out of the loop before finding additional ICH override record matches. #4202 #jira UE-52188 Change 3830579 by Fred.Kimberley Add support for turning off multiple watches at once in the watch window. #jira UE-53852 Change 3836047 by Zak.Middleton #ue4 - Dev test maps for overlaps perf tests. Change 3836768 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. Change summary: - Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to emit the correct signature for constructing FBlueprintDependencyData elements when the EDL boot time optimization is disabled. #jira UE-53908 Change 3838085 by mason.seay Functional tests around basic blueprint functions Change 3840489 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Change 3840648 by mason.seay Updated Descriptions on tests Change 3842914 by Ben.Zeigler Improve comments around stremable handle cancel/release Change 3850413 by Ben.Zeigler Fix asset registry memory reporting, track some newer fields and correctly report the state size instead of static size twice Copy of CL #3849610 Change 3850426 by Ben.Zeigler Reduce asset registry memory in cooked build by stripping out searchable names and empty dependency nodes by default Add option to strip dependency data for asset data with no tags, this was always true before but isn't necessarily safe Copy of CL #3850389 Change 3853449 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. Change summary: - Consolidated FComponentDataUtils into FDefaultSubobjectData and extended FNonativeComponentData from it in order to handle both native & non-native DSO initialization codegen through a more common interface. - Exposed FEmitDefaultValueHelper::HandleInstancedSubobject() as a public API and added a 'SubobjectData' parameter to allow initialization codegen to be deferred until after all default subobjects have been mapped to local variables within the current scope. - Modified FEmitDefaultValueHelper::GenerateConstructor() to first map all default subobjects to local variables and then emit any delta initialization code for property values. - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to return an empty string for an instanced reference to a default subobject. This allows us to avoid emitting initialization statements to unnecessarily reassign instances back to the same property. - Modified FEmitDefaultValueHelper::InnerGenerate() to better handle instanced references to default subobjects, ensuring that we don't emit unnecessary assignment statements and array initialization code to the converted class constructor in C++. - Fixed a few typos. #jira UE-53960 Change 3853465 by Phillip.Kavan Fix plugin module C++ source template to conform to recent public include path changes. Change 3857599 by Marc.Audy PR #4438: UE-54281: Make None a valid default value to select (Contributed by projectgheist) #jira UE-54281 #jira UE-54399 Change 3863259 by Zak.Middleton #ue4 - Save bandwidth for replicated characters by only replicating 4 byte timestamp value to clients if it's actually needed for Linear smoothing. Added option to always replicate the timestamp ("bNetworkAlwaysReplicateTransformUpdateTimestamp", default off), in case users still want this timestamp for some reason, or if smoothing mode changes dynamically and the server won't know. #jira UE-46293 Change 3863491 by Zak.Middleton #ue4 - Reduce network RPC overhead for players that are not moving. Added ClientNetSendMoveDeltaTimeStationary (default 12Hz) to supplement existing ClientNetSendMoveDeltaTime and ClientNetSendMoveDeltaTimeThrottled. UCharacterMovementComponent::GetClientNetSendDeltaTime() now uses this time if Acceleration and Velocity are zero, and the control rotation matches the last ack'd control rotation from the server. Also fixed up code default for ClientNetSendMoveDeltaTime to match default INI value. #jira UE-21264 Change 3865325 by Zak.Middleton #ue4 - Fix static analysis warning about possible null PC pointer. #jira none Change 3869828 by Ben.Zeigler #jira UE-54786 Fix it so -cookonthefly cooperates with -iterate by writing out a development asset registry Change 3869969 by mason.seay Character Movement Functional Tests Change 3870099 by Mason.Seay Submitted asset deletes Change 3870105 by mason.seay Removed link to anim blueprint to fix errors Change 3870238 by mason.seay Test map for Async Loading in a Loop Change 3870479 by Ben.Zeigler Add code to check CoreRedirects for SoftObjectPaths when saving or resolving in the editor. This is a bit slow so we don't want to do it on load We don't have any good way to know the type of a path so I check both Object and Class redirectors, which will also pickup Module renames Change 3875224 by mason.seay Functional tests for Event BeginPlay execution order Change 3875409 by mason.seay Optimized and fixed up character movement tests (because a potential bug in FunctionalTestActor is always passing a test when it can fail) Change 3878947 by Mieszko.Zielinski CIS fixes #UE4 Change 3879000 by Mieszko.Zielinski More CIS fixes #UE4 Change 3879139 by Mieszko.Zielinski Even moar CIS fixes #UE4 Change 3879742 by mason.seay Added animation to Nativization Widget asset Change 3880198 by Zak.Middleton #ue4 - CanCrouchInCurrentState() returns false when character capsule is simulating physics. #jira UE-54875 github #4479 Change 3880266 by Zak.Middleton #ue4 - Optimize UpdateCharacterStateBeforeMovement() to do cheaper tests earlier (avoid CanCrouchInCurrentState() unless necessary, now that it tests IsSimulatingPhysics() which is not trivial). #jira UE-54875 Change 3881546 by Mieszko.Zielinski *.Build.cs files clean up - removed redundant dependencies from NavigationSystem and AIModule #UE4 Change 3881547 by Mieszko.Zielinski Removed a bunch of DEPRECATED functions from the new NavigationSystem module #UE4 Removed all deprecates prior 4.15 (picked this one because I do know some licencees are still using it). Change 3881742 by mason.seay Additional crouch test to cover UE-54875 Change 3881794 by Mieszko.Zielinski Fixed a bug in FVisualLoggerHelpers::GetCategories resulting in losing verbosity information #UE4 Change 3884503 by Mieszko.Zielinski Fixed TopDown code template to make it compile after navsys refactor #UE4 #jira UE-55039 Change 3884507 by Mieszko.Zielinski Switched ensures in UNavigationSystemV1:SimpleMoveToX to error-level logs #UE4 It's an error rather than a warning because the functions no longer do anything. Making it work would require a cyclic dependency between NavigationSystem and AIModule. #jira UE-55033 Change 3884594 by Mieszko.Zielinski Added a const FNavigationSystem::GetCurrent version #UE4 lack of it was causing KiteDemo to not compile. Change 3884602 by Mieszko.Zielinski Mac editor compilation fix #UE4 Change 3884615 by Mieszko.Zielinski Fixed FAIDataProviderValue::GetRawValuePtr not being accessible from outside of AIModule #UE4 Change 3885254 by Mieszko.Zielinski Guessfix for UE-55030 #UE4 The name of NavigationSystem module was put in wrong in the IMPLEMENT_MODULE macro #jira 55030 Change 3885286 by Mieszko.Zielinski Changed how NavigationSystem module includes DerivedDataCache module #UE4 #jira UE-55035 Change 3885492 by mason.seay Minor tweaks to animation Change 3885773 by mason.seay Resaving assets to clear out warning Change 3886433 by Mieszko.Zielinski Fixed TP_TopDownBP's player controller BP to not use deprecated nav functions #UE4 #jira UE-55108 Change 3886783 by Mieszko.Zielinski Removed silly inclusion of NavigationSystemTypes.h from NavigationSystemTypes.h #UE4 Change 3887019 by Mieszko.Zielinski Fixed accessing unchecked pointer in ANavigationData::OnNavAreaAdded #UE4 Change 3891031 by Mieszko.Zielinski Fixed missing includes in NavigationSystem.cpp #UE4 Change 3891037 by Mieszko.Zielinski ContentEample's navigation fix #UE4 #jira UE-55109 Change 3891044 by Mieszko.Zielinski PR #4456: Fix bug in UAISense_Sight::OnListenerForgetsActor (Contributed by maxtunel) #UE4 Change 3891598 by mason.seay Resaving assets to clear out "empty engine version" spam Change 3891612 by mason.seay Fixed deprecated Set Text warnings Change 3893334 by Mieszko.Zielinski Fixed a bug in navmesh generation resulting in not removing layers that ended up empty after rebuilding #UE4 #jira UE-55041 Change 3893394 by Mieszko.Zielinski Fixed navmesh debug drawing to properly display octree elements with "per instance transforms" (like instanced SMs) #UE4 Also, added a more detailed debug drawing of navoctree contents (optional, but on by default). Change 3893395 by Mieszko.Zielinski Added a bit of code to navigation system's initialization that checks the enegine ini for sections refering to the moved navigation classes, and complain about it #UE4 The message is printed as an error-level log line and it says what should the offending section be renamed to. Change 3895563 by Dan.Oconnor Mirror 3895535 Append history from previous branches in source control history view #jira none Change 3896930 by Mieszko.Zielinski Added an option to tick navigation system while the game is paused #UE4 Controlled via NavigationSystemV1.bTickWhilePaused, ini- and ProjectSettings-configurable. #jira UE-39275 Change 3897554 by Mieszko.Zielinski Unified how NavMeshRenderingComponent draws navmesh and octree collision's polys #UE4 Change 3897556 by Mieszko.Zielinski Fixed what kind of nav tile bounds we're sending to nav-colliding elements when calling 'per-instance transform' delegate #UE4 #jira UE-45261 Change 3898064 by Mieszko.Zielinski Made SM Editor display AI-navigation-related whenever bHasNavigationData is set to true #UE4 #jira UE-50436 Change 3899004 by Mieszko.Zielinski Fixed UEnvQueryItemType_Actor::GetItemLocation and UEnvQueryItemType_Actor::GetItemRotation to return FAISystem::InvalidLocation and FAISystem::InvalidRotation respectively instead of '0' when hosted Actor ptr is null #UE4 Note for programmers: this changes the default behavior of this edge case. You might want to go through your code and check if you're comparing UEnvQueryItemType_Actor::GetItem*'s results to 0. Change 3901733 by Mieszko.Zielinski Made FEnvQueryInstance::PrepareContext implementations returning vectors and rotators ignore InvalidLocation and InvalidRotation (respectively) #UE4 Change 3901925 by Ben.Zeigler #jira UE-55395 Fix issue where the cooker could load asset registry caches made in -game that do not have dependency data, leading to broken cooks Change 3902166 by Marc.Audy Make ULevel::GetWorld final Change 3902749 by Ben.Zeigler Fix it so pressing refresh button in asset audit window actually refreshes the asset management database Change 3902763 by Ben.Zeigler #jira UE-55407 Fix it so editor tutorials are not cooked unless referenced, by correctly marking soft object paths imported from editor project settings as editor-only Change 3905578 by Phillip.Kavan The UX to add a new parameter on a Blueprint delegate is now at parity with Blueprint functions. #4392 #jira UE-53779 Change 3905848 by Phillip.Kavan First pass of the experimental Blueprint graph bookmarks feature. #jira UE-10052 Change 3906025 by Phillip.Kavan CIS fix. Change 3906195 by Phillip.Kavan Add missing icon file. Change 3906356 by Phillip.Kavan Moved Blueprint bookmarks enable flag into EditorExperimentalSettings for consistency with other options. Change 3910628 by Ben.Zeigler Partial fix for UE-55363, this allows references to ObjectRedirectors to be switched from parent class to a child class on load as this should always be safe This does not actually fix UE-55363 because that case is changing from UMaterial to UMaterialInstanceConstant, and those are siblings instead of parent/child Change 3912470 by Ben.Zeigler #jira UE-55586 Fix issue with saving redirected soft object paths where the export sort could accidentally cause the parent CDO to get modified between name tagging and writing exports, which is unsafe because due to delta serialization it would try to write names that were not previously tagged Change 3913045 by Marc.Audy Fix issues where recursion in to child actors wasn't being handled correctly Change 3913398 by Fred.Kimberley Fixes a misspelled name for one of the classes in the ability system. PR #4430: Fixed spelling of FGameplayAbilityInputBinds. (Contributed by IntegralLee) #github #jira UE-54327 Change 3918016 by Fred.Kimberley Ensure AllocGameplayEffectContext is being used in all cases where FGameplayeEffectContext is being created. #jira UE-52668 PR #4250: Only create FGameplayEffectContext via AbilitySystemGlobals::.AllocGameplayEffectContext (Contributed by slonopotamus) #github Change 3924653 by Mieszko.Zielinski Fixed LoadEngineClass local to UnrealEngine.cpp to check class redirects before falling back to default class instance #UE4 #jira UE-55378 Change 3925614 by Phillip.Kavan Fix ForEachEnum node to skip over hidden enum values in new placements by default. Change summary: - Added FKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() as an internal-only Blueprint node support API. - Modified FForExpandNodeHelper::AllocateDefaultPins() to add a "Skip Hidden" input pin (advanced). Pin default value is false. - Added a UK2Node_ForEachElementInEnum::PostPlacedNewNode() override to set the default value of the "Skip Hidden" input pin to 'true' for all new node placements. - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include additional expansion logic based on the "Skip Hidden" input pin. For new placements (i.e. when the pin defaults to 'true'), an intermediate branch node will now be inserted into the compiled execution sequence to test for "hidden" metadata on the value before executing the loop body. If the input pin is linked, another intermediate branch will be inserted into the execution sequence prior to the "hidden" metadata test. All existing placements of the node will remain as-is after compilation (i.e. no additional intermediate branch nodes will be included in the expansion). #jira UE-34563 Change 3925649 by Marc.Audy Fix up issue post merge from Main with navigation system refactor Change 3926293 by Phillip.Kavan Temp fix to unblock CIS. #jira UE-34563 Change 3926523 by Marc.Audy Ensure that a renamed Actor is in the correct Actors array #jira UE-46718 Change 3928732 by Fred.Kimberley Unshelved from pending changelist '3793298': #jira UE-53136 PR #4287: virtual additions for AttributeSet extendability (Contributed by TWIDan) #github Change 3928780 by Marc.Audy PR #4309: The display names of the functions. (Contributed by SertacOgan) #jira UE-53334 Change 3929730 by Joseph.Wysosky Submitting test assets for the new Blueprint Structure test cases Change 3931919 by Joseph.Wysosky Deleting BasicStructure asset to rest MemberVariables back to default settings Change 3931922 by Joseph.Wysosky Adding BasicStructure test asset back with default members Change 3932083 by Phillip.Kavan Fix Compositing plugin source files to conform to updated relative include path specifications. - Encountered while testing Blueprint nativization of assets with dependencies on Composure/LensDistortion APIs. Change 3932196 by Dan.Oconnor Resetting a property to default now uses the same codepath as assigning the value from the slate control #jira UE-55909 Change 3932408 by Lukasz.Furman fixed behavior tree services attached to task nodes being sometimes recognized as root level #jira nope Change 3932808 by Marc.Audy PR #4083: Change to UK2Node_BaseAsyncTask to have pin tooltips on latent nodes (Contributed by dwrpayne) #jira UE-50871 Change 3934101 by Phillip.Kavan Revise ForEachEnum node expansion logic to exclude hidden values at compile time. Change summary: - Removed UKismetNodeHelperLibrary::ShouldHideEnumeratorIndex() (no longer in use). - Modified UK2Node_ForEachElementInEnum::ExpandNode() to include an enum switch node in the expansion, which will exclude hidden values when constructed. The additional expansion will occur if the enum type contains at least one hidden value. #jira UE-34563 Change 3934106 by Phillip.Kavan Mirrored 4.19 fixes to allow for EngineTest iteration w/ nativization enabled. Change summary: - Mirrored CLs 3876918, 3878968, 3883257, 3885566, 3912161 and 3920519. Change 3934116 by Phillip.Kavan UBT: Explicitly define the DEPRECATED_FORGAME macro only for non-engine modules. Change summary: - Modified UEBuildModule.SetupPrivateCompileEnvironment() to check the 'bTreatAsEngineModule' flag from the rules assembly rather than testing the module's build type. Change 3934382 by Phillip.Kavan Avoid inclusion of monolothic engine header files in nativized Blueprint codegen. Change 3936387 by Mieszko.Zielinski Added a flag to NavModifierComponent to control whether agent's height is being used while expadning modifier's bounds during navmesh generation #UE4 Change 3936905 by Ben.Marsh Disable IncludeTool warning for DEPRECATED_FORGAME macro; we expect this to be different for game modules. Change 3940537 by Marc.Audy Don't allow maps, sets, or arrays with an actor inner type in user defined structs to select an actor from the currently open level as default value. #jira UE-55938 Change 3940901 by Marc.Audy Properly name CVar global to reflect what it is for Change 3943043 by Marc.Audy Fix world context functions not being able to be used in CheatManager derived blueprints #jira UE-55787 Change 3943075 by Mieszko.Zielinski Moved path-following related delegats' interface from NavigationSystemBase over to a new IPathFollowingManagerInterface #UE4 Change 3943089 by Mieszko.Zielinski Fixed how WorldSettings.NavigationSystemConfig gets created #UE4 Made it so that there's always a NavigationSystemConfig instance present, but added a 'Null' config - this was required due to issues with creation/serialization of instanced subobjects. The change required adding copying constructors to FNavAgentProperties and FNavDataConfig. Also, fixed FNavAgentProperties.IsEquivalent to be symetrical. Change 3943225 by Marc.Audy Fix spelling of Implements Change 3950813 by Marc.Audy Include owner in attachment mismatch ensure #jira UE-56148 Change 3950996 by Marc.Audy Fix cases where bit packed properties used the entire byte not just the bit when interacting with boolean arrays #jira UE-55482 Change 3952086 by Marc.Audy PR #4483: Add Missing Radial Damage Multicast Delegate (Contributed by error454) #jira UE-54974 Change 3952720 by Marc.Audy PR #4575: Check if *Pawn* is a null Pointer (Contributed by dani9bma) #jira UE-56248 Change 3952804 by Richard.Hinckley Changes to BP API export commandlet to support better plugin exporting. Contributed by Harry Wang of Google. Change 3952962 by Marc.Audy UHT now validates that ExpandEnumAsExecs references a valid parameter to the function. #jira UE-49610 Change 3952977 by Phillip.Kavan Fix EDL cycle at load time in nativized cooked builds when a circular dependency exists between converted and unconverted assets. Change summary: - Added FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(). - Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to mark unconverted BPGCs (e.g. DOBPs) as necessary for conversion when the potential for a circular dependency exists so that we generate stub wrappers rather than depend on them directly. - Fixed a few typos in existing API names. #jira UE-48233 Change 3953658 by Marc.Audy (4.19.1) Fix inserting a reroute node causing connections to break on a GetClassDefaults node #jira UE-56270 Change 3954727 by Marc.Audy Add friendly name to custom version mismatch message Change 3954906 by Marc.Audy (4.19.1) Fix crash when undoing changes related to reroute nodes connected to a GetClassDefaults node #jira UE-56313 Change 3954997 by Marc.Audy Ensure and return null if GetOuter<WithinClass> is called on a CDO for uclasses declared as within another so we don't get a UPackage c-style cast to the expected outer type Change 3955091 by Marc.Audy Do not register subcomponents that are not auto register #jira UE-52878 Change 3955943 by Marc.Audy Make AbilitySystemComponent pass parameters by const& instead of ref as no state is being changed Change 3956185 by Zak.Middleton #ue4 - Fix Characters using scoped movement updates (the default) not visually rotating when rotated at small rates at high framerate. This was caused by FScopedMovementUpdate::IsTransformDirty() using a larger FTransform comparison tolerance than USceneComponent::UpdateComponentToWorldWithParent(). #jira none Change 3958102 by Marc.Audy Clean out dead code path from k2node_select Select node now resets pins to wildcard if none of the pins are in use Change 3958113 by Lukasz.Furman added OnSearchStart call to root level behavior tree services #jira UE-56257 Change 3958361 by Marc.Audy Fix literal input pins on select being set to wildcard during compilation Change 3961148 by Dan.Oconnor Mirror 3961139 from Release 4.19 Fix for placeholder objects being left behind when loading certain UMG assets - this could causea crash when loading UMG assets #jira UE-55742 Change 3961640 by Marc.Audy Select node now displays Add Pin button Undo of changing select node index type now works correctly. Connections to option pins now maintained across change of index pin type #jira UE-20742 Change 3962262 by Marc.Audy Display "Object Reference" instead of "Object Object Reference" and "Soft Object Reference" instead of "Object Soft Object Reference" Change 3962795 by Phillip.Kavan Fix for a crash when cooking with Blueprint nativization enabled after encountering a nested instanced editor-only default subobject inherited from a native C++ base class. - Mirrored from //UE4/Release-4.19 (3962782) #jira UE-56316 Change 3962991 by Marc.Audy Modify Negate/Increment/Decrement Int/Float so that the output is always the desired result even if a non-mutable pin is passed in. Note that this can mean the result being returned and the value of the pin passed in if queried again will not be the same (in the case of pure nodes). #jira UE-54807 Change 3963114 by Marc.Audy Fix ensures/crash as a result of UClass expecting to be able to access the UPackage of CDOs via the GetOuterUPackage call. Change 3963427 by Marc.Audy Fix initialization order Initialize bUseBackwardsCompatForEmptyAutogeneratedValue Change 3963781 by Marc.Audy Fix without editor compiles Change 3964576 by Marc.Audy PR #4599: : Working category for timelines (Contributed by projectgheist) #jira UE-56460 #jira UE-26053 Change 3964782 by Dan.Oconnor Mirror 3964772 from Release 4.19 Fix crash when force deleting certain blueprints, we can only check for authoritativeness while reinstancing #jira UE-56447 Change 3965156 by Mieszko.Zielinski PR #4592: Visual Logger optimization to fix rapid FPS drop when many items are hidden (Contributed by tstaples) #jira UE-56435 Change 3965173 by Marc.Audy (4.19.1) Fix incorrectly switching a cooling down tick to be an enabled tick when marking it enabled. #jira UE-56431 Change 3966117 by Marc.Audy Fix select nodes inside macros using wildcard array inputs having issues resolving type. #jira UE-56484 Change 3878901 by Mieszko.Zielinski NavigationSystem's code refactored out of the engine and into a new separate module #UE4 The CL contains required changes to all of our internal projects. Fortnite and Paragon have been tested, while the rest have been only compiled. Change 3879409 by Mieszko.Zielinski Further fallout fixes after ripping out NavigationSystem out of the engine #UE4 - Fixed bad ini redirects (had NavigationSystem.NavigationSystem instead of NavigationSystem.NavigationSystemV1) - Added missing FNavigationSystem::GetDefaultNavDataClass binding (resulting in QAGame's func tests failing) Change 3897655 by Ben.Zeigler #jira UE-55211 Fix it so literal soft object pins on blueprint nodes get correctly cooked/referenced It now sets the thread context to skip internal serialize and calls the archive's serialize function instead of bypassing it, which allows it to pick up references Change 3962780 by Marc.Audy When preventing a split pin from being orphaned, all sub pins must also be prevented. #jira UE-56328 Repack members of UEdGraphPin to avoid wasted space (saves 16bytes) [CL 3967553 by Marc Audy in Main branch]
2018-03-27 14:27:07 -04:00
/** Current view bookmark info */
FGuid CurrentBookmarkGuid;
};