Commit Graph

89 Commits

Author SHA1 Message Date
Mike Beach
24ef33a9fa Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2927746 on 2016/03/30 by Michael.Schoell

	Local variables in function graphs will now store a hard reference to their UObject value.

	Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.

	#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native

Change 2927751 on 2016/03/30 by Michael.Schoell

	Back out changelist 2927746

Change 2986483 on 2016/05/23 by Maciej.Mroz

	#jira UE-30976 Editable enum values set on an instance are lost during nativization

	Added overriden names of Enum keys.

Change 2986712 on 2016/05/23 by Phillip.Kavan

	[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.

	change summary:
	- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.

Change 2987406 on 2016/05/23 by Ryan.Rauschkolb

	Fixed Functions filter in Find-In-Blueprints will show components from the SCS
	#jira UE-30140

Change 2988925 on 2016/05/24 by Ryan.Rauschkolb

	Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.

	#jira UE-20232

Change 2989001 on 2016/05/24 by Dan.Oconnor

	PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)

	#jira UE-31142

Change 2989447 on 2016/05/25 by Phillip.Kavan

	[UE-30807] Propagate edit condition property value changes to instances of template objects.

	change summary:
	- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)

Change 2989804 on 2016/05/25 by Phillip.Kavan

	[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.

	change summary:
	- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component

Change 2990234 on 2016/05/25 by Ryan.Rauschkolb

	Fixed issue where including a period ina  Blueprint function causes double-click to fail to open its graph
	#jira UE-4426

Change 2990566 on 2016/05/25 by Mike.Beach

	Better warn logging to help locate variable nodes that emit a "variable not found" message.

Change 2991083 on 2016/05/26 by Maciej.Mroz

	Blueprint nativization: converted classes have "config" specified.

Change 2991363 on 2016/05/26 by Phillip.Kavan

	[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.

	change summary:
	- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
	- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
	- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
	- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects

Change 2992990 on 2016/05/27 by Ryan.Rauschkolb

	Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
	#jira UE-21973

Change 2992995 on 2016/05/27 by Ryan.Rauschkolb

	Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
	#jira UE-30990

Change 2993449 on 2016/05/27 by Phillip.Kavan

	[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.

	change summary:
	- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.

Change 2993531 on 2016/05/27 by Mike.Beach

	PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)

Change 2993969 on 2016/05/30 by Maciej.Mroz

	UE-30729 Crash in Native Orion when selecting Sword or Tomahawk

	Clear AsyncLoading in subobjects.

Change 2993990 on 2016/05/30 by Phillip.Kavan

	[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.

	change summary:
	- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
	- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
	- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
	- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.

Change 2994591 on 2016/05/31 by Ryan.Rauschkolb

	Fixed issue where inherited Blueprint variable would not show parent's replications settings
	#jira UE-18912

Change 2994613 on 2016/05/31 by Ben.Cosh

	Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.

	#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
	#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
	#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
	#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
	#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
	#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
	#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
	#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
	#Jira UE-31377 - BP Profiler - Default tree view filtering to off
	#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
	#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"

	Notes:-
	- Sequence node inclusive time fixed
	- Trace History tidy up
	- Compile Icon and status messages for instrumentation
	- Message in the profiler tab for instrumentation
	- Profiler view tidy up and heat thresholds controls added
	- fixed the summed execution branch stats
	- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
	- added hottest path and hottest endpoint wire heatmaps
	- switched off the graph filter by default
	- added total time for the heatmaps
	- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code

Change 2995058 on 2016/05/31 by Phillip.Kavan

	[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.

	change summary:
	- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
	- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.

Change 2995218 on 2016/05/31 by Phillip.Kavan

	[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.

	change summary:
	- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.

Change 2996417 on 2016/06/01 by Phillip.Kavan

	[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.

	change summary:
	- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.

Change 2997001 on 2016/06/01 by Ryan.Rauschkolb

	Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
	#jira UE-30143

Change 2997521 on 2016/06/02 by Maciej.Mroz

	[Blueprint Nativization]
	- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
	- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.

Change 2997522 on 2016/06/02 by Maciej.Mroz

	Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)

Change 2997638 on 2016/06/02 by Maciej.Mroz

	Improvements for Blueprint Nativization:
	- Overridden names in nativized code have proper escape characters (in generated code).
	- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
	- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
	- warning C4883 is disabled  in .generated.cpp files for nativized module

Change 2997639 on 2016/06/02 by Maciej.Mroz

	Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
	#jira UE-28945 Failure packaging Nativized Ocean

Change 2997656 on 2016/06/02 by Maciej.Mroz

	Various improvements in BlueprintCompilerCppBackend:
	- Fixed interface cast
	- Fixed TSwitchValue issue (when used with literals)
	- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
	- Fixed bitfield getter code.
	- Reduce code size (less UsedAssets, less  ReferencedConvertedFields, cached UEnums)
	- operator == is generated for nativized structs
	- Fixed AssedId (AssetPtr) constructor in nativized code.
	- Fixed arrays of noexport struct
	- Fixed missing headers for native single cast delegate signature.
	- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.

Change 2997691 on 2016/06/02 by Maciej.Mroz

	operator == in FText. It is required for some functions in TArray<FText>

Change 2997793 on 2016/06/02 by Ben.Cosh

	Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
	#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
	#Proj BlueprintProfiler, Kismet

Change 2997901 on 2016/06/02 by Maciej.Mroz

	Back out changelist 2997691

Change 2998038 on 2016/06/02 by Mike.Beach

	Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)

Change 2998052 on 2016/06/02 by Ryan.Rauschkolb

	Fixed Comment bubbles not remembering changes after losing focus
	#jira UE-20012

Change 2998450 on 2016/06/02 by Phillip.Kavan

	[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.

	change summary:
	- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.

Change 2999763 on 2016/06/03 by Mike.Beach

	Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.

	#jira UE-26761

Change 2999768 on 2016/06/03 by Maciej.Mroz

	#jira UE-31592, UE-31593

	This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.

Change 2999770 on 2016/06/03 by Maciej.Mroz

	[Blueprint Nativization]
	Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.

Change 2999798 on 2016/06/03 by Mike.Beach

	Guarding against malformed Blueprints  (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.

	#jira UE-31522

Change 2999941 on 2016/06/03 by Mike.Beach

	Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).

	#jira UE-23371

Change 3001731 on 2016/06/06 by Phillip.Kavan

	[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.

	change summary:
	- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
	- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
	- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
	- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.

Change 3002075 on 2016/06/06 by Maciej.Mroz

	Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
	Literal expression can be emitted without known desitination property.

	#jira UE-28443 Set Boolean (by ref) crashes the editor on compile

Change 3002096 on 2016/06/06 by Ben.Cosh

	This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
	#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
	#Proj BlueprintProfiler

Change 3002108 on 2016/06/06 by Ben.Cosh

	Adds a new default option to average the blueprint level stats in the profiler.
	#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
	#Proj Kismet, BlueprintProfiler

	- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.

Change 3002782 on 2016/06/06 by samuel.proctor

	Test assets for Interface testing

Change 3003826 on 2016/06/07 by Ben.Cosh

	A few minor visual improvements for the blueprint profiler.
	#Proj Kismet, BlueprintProfiler, EditorStyle

	- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
	- Updated the pure node icon.

Change 3004067 on 2016/06/07 by samuel.proctor

	New test asset for blueprint interfaces

Change 3004069 on 2016/06/07 by samuel.proctor

	Updating asset for Interface testing

Change 3004275 on 2016/06/07 by Ryan.Rauschkolb

	Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
	#jira UE-23733

Change 3004329 on 2016/06/07 by Dan.Oconnor

	EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.

Change 3004418 on 2016/06/07 by Maciej.Mroz

	KismetCompilerVMBackend:  Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.

Change 3004496 on 2016/06/07 by Dan.Oconnor

	Disabling expensive pin allocation tracking

Change 3004649 on 2016/06/07 by Mike.Beach

	Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).

	#jira UE-31236

Change 3004667 on 2016/06/07 by Dan.Oconnor

	Removed my debugging logic

Change 3004848 on 2016/06/07 by Dan.Oconnor

	Fix spammy ensure

Change 3004871 on 2016/06/07 by Phillip.Kavan

	[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.

	change summary:
	- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
	- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.

Change 3005203 on 2016/06/07 by Dan.Oconnor

	Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
	#jira UE-31750

Change 3005441 on 2016/06/08 by Maciej.Mroz

	#jira UE-31625 Crash in nativized Orion

	AssembleReferenceTokenStream is called for Dynamic Classes:
	- in ConstructDynamicType() (when class is explicitly loaded)
	- in __CustomDynamicClassInitialization() (when CDO is created)

Change 3005540 on 2016/06/08 by Ben.Cosh

	This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
	#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
	#Proj BlueprintProfiler, Kismet

	- The jira was already fixed but I think this change improves the instance status clarity

Change 3006196 on 2016/06/08 by Dan.Oconnor

	Copy/paste logic for pin connections got lost in the shuffle
	#jira UE-31747

Change 3006416 on 2016/06/08 by Phillip.Kavan

	[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).

	change summary:
	- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.

Change 3006522 on 2016/06/08 by Dan.Oconnor

	Under rare circumstances a deprecated pin comes in that is outered to the transient package
	#jira UE-31779

Change 3006576 on 2016/06/08 by Dan.Oconnor

	Fix for non-editor builds
	#jira UE-31796

Change 3006610 on 2016/06/08 by Phillip.Kavan

	[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.

	change summary:
	- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.

Change 3006824 on 2016/06/08 by Dan.Oconnor

	More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
	#jira UE-31794

Change 3006828 on 2016/06/08 by Dan.Oconnor

	Fix for non-editor builds

Change 3006857 on 2016/06/08 by Dan.Oconnor

	Investigating shutdown ensure, traced back to a static UEdGraphPin

Change 3006907 on 2016/06/08 by Dan.Oconnor

	Noneditor build fix

Change 3006929 on 2016/06/08 by Dan.Oconnor

	Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779

Change 3007133 on 2016/06/09 by Ben.Cosh

	Fix for issue in the profiler asserting creating pins that don't have unique names.
	#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
	#Proj BlueprintProfiler

	- I believe this was recently introduced with the changes to UEdGraphPin's

Change 3007964 on 2016/06/09 by Dan.Oconnor

	Fix for  PinHelpers::UnresolvedPins being left with stale entries by undo/redo
	#jira UE-31829

Change 3007996 on 2016/06/09 by Ryan.Rauschkolb

	Added 'empty' keyword to Array Clear Node.
	#jira UE-12356

Change 3008007 on 2016/06/09 by Ryan.Rauschkolb

	Added 'negate' keyword to boolean NOT node
	#jira UE-12490

Change 3008011 on 2016/06/09 by Ryan.Rauschkolb

	Added Vector2D * Vector2D multiplication node
	#jira UE-31503

Change 3008014 on 2016/06/09 by Ryan.Rauschkolb

	Fixed Cannot connect Make Array node output to MakeArray input with split pins
	#jira UE-28530

Change 3008243 on 2016/06/09 by Dan.Oconnor

	Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
	#jira UE-31841

Change 3008289 on 2016/06/09 by Dan.Oconnor

	Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
	#jira UE-31794

Change 3008422 on 2016/06/09 by Dan.Oconnor

	Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
	#jira UE-31857

Change 3009164 on 2016/06/10 by Ryan.Rauschkolb

	Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
	#jira UE-21141,UE-23723

Change 3009165 on 2016/06/10 by Ryan.Rauschkolb

	Fixed Structure Default value editor collapses after undoing an alteration of a default value
	#jira UE-31741

Change 3009181 on 2016/06/10 by Ryan.Rauschkolb

	Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
	#jira UE-30014

Change 3009313 on 2016/06/10 by Mike.Beach

	Addressing issues with function return nodes in multiple ways:

	    - Preventing users from deleting return nodes for overriden/inherited functions.

	    - Also making sure that we create terminals for out params when the return node is disconnected (and pruned).

	    - Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).

	#jira UE-31418

Change 3009595 on 2016/06/10 by Dan.Oconnor

	EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
	#jira UE-31879

Change 3009774 on 2016/06/10 by Dan.Oconnor

	Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
	#jira UE-31906

Change 3009988 on 2016/06/10 by Dan.Oconnor

	Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
	#jira UE-31888

Change 3010050 on 2016/06/10 by Dan.Oconnor

	Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
	#jira UE-31892

Change 3010071 on 2016/06/10 by Dan.Oconnor

	Fix for pasting when owning node has whitespace in result of GetPathName
	#jira UE-31898
	#coderview Bob.Tellez

Change 3010244 on 2016/06/11 by Dan.Oconnor

	Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870

Change 3010630 on 2016/06/13 by Dan.Oconnor

	No longer relying on path name for pin resolution, path is unstable across graphs
	#jira UE-31870

Change 3010647 on 2016/06/13 by Dan.Oconnor

	PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)

	#jira UE-31928

Change 3011175 on 2016/06/13 by Ben.Cosh

	Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
	#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
	#Proj Kismet, BlueprintProfiler

	- Ensured that the trace paths contain the macro instance exec nodes
	- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
	- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.

Change 3011271 on 2016/06/13 by Ben.Cosh

	This adds support for inherited blueprint classes to the blueprint profiler.
	#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
	#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
	#Proj BlueprintProfiler

Change 3011556 on 2016/06/13 by Ryan.Rauschkolb

	Fixed Crash when breaking link to a split pin in MakeArray that is an array type
	#jira UE-31919

Change 3011624 on 2016/06/13 by Dan.Oconnor

	Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
	#jira UE-31955

Change 3011984 on 2016/06/13 by Dan.Oconnor

	Sanitizing parentpin's subpins when destroying a pin
	#jira UE-21392

Change 3012894 on 2016/06/14 by Phillip.Kavan

	[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.

	change summary:
	- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.

	#jira UE-30922

Change 3013037 on 2016/06/14 by Ryan.Rauschkolb

	Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
	#jira UE-31917

Change 3014846 on 2016/06/15 by Dan.Oconnor

	No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
	#jira FORT-23753

Change 3015014 on 2016/06/15 by Dan.Oconnor

	Removing poorly implement IsLetter function

Change 3015142 on 2016/06/15 by Dan.Oconnor

	More intentional about removing subpins, prevents stale iterator on split pin collapse
	#jira UE-32072

Change 3016326 on 2016/06/16 by Ryan.Rauschkolb

	Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
	#jira UE-32016

Change 3016494 on 2016/06/16 by Ryan.Rauschkolb

	Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
	#jira UE-31876

Change 3016557 on 2016/06/16 by Dan.Oconnor

	Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
	#jira FORT-23753

Change 3016577 on 2016/06/16 by Ryan.Rauschkolb

	Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType

Change 3016906 on 2016/06/16 by Dan.Oconnor

	Back out changelist 3016557
	This will be done by Jamie.Dale in Dev-Editor

Change 3018081 on 2016/06/17 by Phillip.Kavan

	[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)

	#jira UE-31832

Change 3018402 on 2016/06/17 by Dan.Oconnor

	Missing include

Change 3018426 on 2016/06/17 by Ryan.Rauschkolb

	Fixed MakeArray node with split pins and no connections does not paste correctly
	#jira UE-32148

Change 3018452 on 2016/06/17 by Mike.Beach

	Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).

	#jira UE-32158

Change 3018456 on 2016/06/17 by Dan.Oconnor

	Fix for static analysis warning, this null check does nothing

Change 3018595 on 2016/06/17 by Mike.Beach

	Fix for shadowed variable warning in CIS.

Change 3018699 on 2016/06/17 by Mike.Beach

	Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).

Change 3019734 on 2016/06/20 by Phillip.Kavan

	[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.

	change summary:
	- added a UK2Node_AddComponent::PostDuplicate() override
	- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.

	notes:
	- will prevent getting into the scenario described in UE-31831

	#jira UE-32064

Change 3020635 on 2016/06/20 by Dan.Oconnor

	Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)

Change 3020894 on 2016/06/21 by Maciej.Mroz

	#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)

Change 3020958 on 2016/06/21 by Ben.Cosh

	This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
	#Jira UE-32270 - Input key events generate extra instrumentation data per key press
	#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
	#Proj BlueprintProfiler, UnrealEd

Change 3021316 on 2016/06/21 by Ryan.Rauschkolb

	Fixed issue where Copy/Paste of event nodes would not retain link information

Change 3021826 on 2016/06/21 by Phillip.Kavan

	[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.

	change summary:
	- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
	- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates

	#jira UE-31831

Change 3022047 on 2016/06/21 by Ryan.Rauschkolb

	Fixed issue where copy/paste of return nodes would not preserve value or link data
	#jira UE-26937

Change 3022619 on 2016/06/22 by Maciej.Mroz

	#jira UE-30858 Nativized Orion - Some particle effects are not rendering

	A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
	It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
	Fixed GameplayCueManager. Nativized cues can be found.

	This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).

Change 3022654 on 2016/06/22 by Maciej.Mroz

	FBackendHelperStaticSearchableValues -fixed  too strict ensure

Change 3023067 on 2016/06/22 by Maciej.Mroz

	#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project

	Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.

Change 3023222 on 2016/06/22 by Ryan.Rauschkolb

	Fixed MakeArray node elements break when editing struct elements
	#jira UE-21392

Change 3023405 on 2016/06/22 by Mike.Beach

	Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).

	#jira UE-31897

Change 3023992 on 2016/06/22 by Mike.Beach

	Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.

	#jira UE-31859

[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
Marc Audy
eb44cd9882 Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden
#rb None

[CL 3016298 by Marc Audy in Main branch]
2016-06-16 11:54:44 -04:00
Marc Audy
b8d61c189f Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2944217
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2899855 on 2016/03/08 by Marc.Audy

	Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2899785

Change 2926689 on 2016/03/29 by Jeff.Farris

	AAIController::SetFocus() will now implicitly clear any location focus at the same priority.

	UE-27975

	#rb john.abercrombie

Change 2926690 on 2016/03/29 by Jeff.Farris

	Using wildcard operator with the "KismetEvent" or "ke" console commands will now only trigger the event on objects in the world in which it was triggered. Prevents badness with running events on things like CDOs and editor actors. (UE-23106)

Change 2926691 on 2016/03/29 by mason.seay

	Content for testing collision on scaled components

Change 2926692 on 2016/03/29 by Jeff.Farris

	- FixupDeltaSeconds now considers time dilation when clamping.
	- Acceptable range for time dilation values is now a config parameter on WorldSettings
	- Acceptable range for undilated frame times is now a config parameter on WorldSettings

	(UE-27815)

	#rb marc.audy

Change 2926711 on 2016/03/29 by Ori.Cohen

	Fix constraint rendering when scaling a cosntraint actor

	#JIRA UE-28691, UE-28700
	#rb Lina.Halper

Change 2926745 on 2016/03/29 by Lukasz.Furman

	navigation filters can now be instantiated per querier - usually AI agent
	required for FORT-21372

Change 2926789 on 2016/03/29 by Ori.Cohen

	Downgrade check to ensure for 2d physics during a hard shutdown

	#rb Michael.Noland

Change 2926859 on 2016/03/29 by Ori.Cohen

	Fix red herring warnings of not locking physx scenes during hard shutdown.

	#JIRA UE-28747
	#rb Michael.Noland

Change 2927444 on 2016/03/30 by Thomas.Sarkanen

	Fixed Blueprint compiler errors when resetting timer handles

	Added basic support for 64-bit int/uint terms to Blueprint. This allows the use of opaque 64-bit integer types inside of BlueprintType structs, it in no way means that 64-bit ints are fully supported in Blueprint.
	Corrected a left-over formatting oversight when converting a FTimerHandle to a string.
	Added new by-ref "Clear and Invalidate Timer by Handle" function to Blueprint system library & deprecated old version.

	#rb Maciej.Mroz (and a few others!)
	#jira UE-28833 - Unresolved compiler error for B_Pickups blueprint in Fortnite

Change 2927520 on 2016/03/30 by Jurre.deBaare

	Should not allow skeletal mesh components mobility to be set to static, but detach instead

	#fix Added CanHaveStaticMobility to SceneComponent class, and check this when trying to propogate Static mobility to parent component
	#jira UE-26364

Change 2927533 on 2016/03/30 by Jurre.deBaare

	Static Mesh Merge tool: when merging from multiple blueprints, fails to combine same materials
	#fix Material index remapping was part of if-clause where it shouldn't be
	#jira UE-23827

	Static Mesh Merge tool, failed to combine physics data if using complex
	#fix Required copying the SectionInfoMap from source static meshes

	HLOD/MergeActor - Vertex Colours are not correctly propagated to negatively scaled meshes
	#fix had to re-order function calls
	#jira UE-28316

	#rb James.Golding

Change 2927535 on 2016/03/30 by Ori.Cohen

	Make sub-stepping run on game thread

	#JIRA UE-24011
	#rb Gil.Gribb

Change 2927537 on 2016/03/30 by Jurre.deBaare

	Warning message when HLOD mesh > 65536 vertices

	#jira UE-22365
	#fix added messages when building proxy mesh

Change 2927691 on 2016/03/30 by Jeff.Farris

	Fixed potential PlayerState leak (UE-22700)

Change 2927692 on 2016/03/30 by Lina.Halper

	Allow it to select any name they want other than just restrict to what we have.

	- I think it may not be the best solution but with current widget built, you can't even clear name, which is problem.

	- Other solution is to add "Clear" as a name, and when that gets entered, we just clear it, but then the X button is odd and no purpose being there.

	- I think we should just allow them to choose if they don't like it but with suggestions.

	#rb: Ori.Cohen
	#jira UE-27786
	#code review: Benn.Gallagher

Change 2927853 on 2016/03/30 by Lina.Halper

[CL 2944273 by Marc Audy in Main branch]
2016-04-14 16:25:11 -04:00
Ben Marsh
f402006cb7 Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2867947)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2858603 on 2016/02/08 by Tim.Hobson

	#jira UE-26550 - checked in new art assets for buttons and symbols

Change 2858665 on 2016/02/08 by Taizyd.Korambayil

	#jira UE-25797 Added TextureLODSettings for Ipad Mini set all LODBias to 2.

Change 2858668 on 2016/02/08 by Matthew.Griffin

	Added InfiltratorDemo back into Rocket samples

	#jira UEB-591

Change 2858743 on 2016/02/08 by Taizyd.Korambayil

	#jira UE-25996 Fixed Import Error in TopDOwn Code

Change 2858776 on 2016/02/08 by Matthew.Griffin

	Added UnrealMatch3 to packaged projects

	#jira UEB-589

Change 2858900 on 2016/02/08 by Taizyd.Korambayil

	#jira UE-15234 Switched all Mask Textures to use the (Mask,No sRGB) Compression

Change 2858947 on 2016/02/08 by Mike.Beach

	Controlling more when VerifyImport() is ran - trying to  prevent Verify() from running when DeferDependencyLoads is on, and instead trying to fully verify every import upfront (where it's meant to happen) before serializing in the package's contents (to alleviate cyclic dependency complications).

	#jira UE-21098

Change 2858954 on 2016/02/08 by Taizyd.Korambayil

	#jira UE-25524 Resaved Sound Assets to Fix NodeGuid Warnings

Change 2859126 on 2016/02/08 by Max.Chen

	Sequencer: Release track editors when destroying sequencer

	#jira UE-26423

Change 2859147 on 2016/02/08 by Martin.Wilson

	Fix uninitialized variable bug

	#jira UE-26606

Change 2859237 on 2016/02/08 by Lauren.Ridge

	Bumping Match 3 Version Number for iTunes Connect

	#jira UE-26648

Change 2859434 on 2016/02/08 by Chad.Taylor

	Handle the quit and focus message pipe from the SteamVR SDK

	#jira UEBP-142

Change 2859562 on 2016/02/08 by Chad.Taylor

	Mac/Android compile fix

	#jira UEBP-142

Change 2859633 on 2016/02/08 by Dan.Oconnor

	Transaction buffer uniformly address subobjects and SCS created components via an array of names and a root object. This allows undo/redo to work reliably to any depth of object hierarchy. Removed FReferencedObject and replaced it with the robust FPersistentObjectRef.

	DefaultSubObjects of the CDO are now tagged as RF_Archetype at construction (logic in PropertyHandleImpl.cpp probably no longer required)

	Actors reinstanced due to blueprint compilation now have stable names, so that this name can be used to reference their subobjects.

	This is also part of the fix needed for UE-23335, completely fixes UE-26045

	This version of the fix is less aggressive about searching all the way up an object's outer chain before stopping. Fixes issues with parts of outer chain changing on PIE. Also doesn't add objects referenced by subobject name to any AddReference calls which fixes race conditions with GC.

	Also fixes bad logic in CopyPropertiesForUnrelatedObjects, which would create copies of subobjects that already existed because we were populating the ReferenceReplacementMap before adding all existing subobjects (always components in this case)

	#jira UE-26045

Change 2859640 on 2016/02/08 by Dan.Oconnor

	Removed debugging code..

	#jira UE-26045

Change 2859668 on 2016/02/08 by Aaron.McLeran

	#jira UE-26503 A Mixer with a Concatenator node won't loop with a Looping node

	- issue was the looping nodes weren't properly reseting all the child wave instances
	- also looping nodes weren't reporting the correct GetNumSounds() count for use with sequencer node

Change 2859688 on 2016/02/08 by Chris.Babcock

	Allow external access to runtime modifications to OpenGL shaders
	#jira UE-26679
	#ue4

Change 2859739 on 2016/02/08 by Chad.Taylor

	UE4_Win64_Mono compile fix

	#jira UEBP-142

Change 2859962 on 2016/02/09 by Chris.Wood

	Passing command line to Crash Report Client without stripping the project name.
	[UE-24959] - "Send and Restart" brings up the Project Browser
	#jira UE-24959

	Reimplement changes from Orion in UE 4.11
	Reimplementing the command line logging filtering over from Dev-Core (same change as CL 2821359 that moved this change into Orion)
	Reimplementing passing full command line to Crash Report Client (same change as CL 2858617 in Orion)

Change 2859966 on 2016/02/09 by Matthew.Griffin

	Fixed shadow variable issue that was causing build failure in NonUnity mode on Mac

[CL 2873884 by Ben Marsh in Main branch]
2016-02-19 13:49:13 -05:00
Bob Tellez
b51555abf7 Copying //UE4/Fortnite-Staging to //UE4/Main
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806454 on 2015/12/16 by Bob.Tellez

	#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.

	#rb Ben.Zeigler

	#codereview Dmitry.Rekman

Change 2805502 on 2015/12/16 by Ben.Zeigler

	#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
	As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
	#codereview mike.beach, bob.tellez

Change 2805288 on 2015/12/16 by David.Nikdel

	#HTTP #HttpRetry
	- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
	- Changed HTTP retry logic a little bit
	  * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
	  * If a response was not received and we did not send a full request, automatically retry
	  * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
	- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
	  * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
	  * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
	- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
	  * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
	#RB: Sam.Zamani
	#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
	#Fixes: FORT-17804

Change 2803864 on 2015/12/15 by Bob.Tellez

	#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.

	#rb Dmitry.Rekman

	#codereview Nick.Darnell

Change 2803677 on 2015/12/15 by Billy.Bramer

	- Expose equality and inequality operators for gameplay attributes

	#rb Todd.Eckert

Change 2802881 on 2015/12/14 by Bob.Tellez

	#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.

	#rb Phillip.Kavan, Maciej.Mroz

	#codereview Phillip.Kavan, Maciej.Mroz

Change 2801636 on 2015/12/14 by Bob.Tellez

	#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.

	#codereview Graeme.Thornton

Change 2800400 on 2015/12/11 by Jonathan.Lindquist

	Submitting a new Pivot Painter Edition
	- now renders to textures
	- improved workflow
	- greater capabilities

Change 2799579 on 2015/12/11 by John.Abercrombie

	[AUTOMERGE]

	Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4

	Fixes FORT-18649 - Patrols don't spawn consistently
	- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire

	#rb me (this code was written by MieszkoZ)
	(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)

	--------
	Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.

Change 2799018 on 2015/12/10 by Bob.Tellez

	#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.

	#rb Fred.Kimberley

	#codereview Peter.Knepley

Change 2798926 on 2015/12/10 by Bob.Tellez

	#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.

	#jira FORT-18514

	#codereview Martin.Mittring

Change 2797758 on 2015/12/10 by Mark.Satterthwaite

	Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2781204 on 2015/11/25 by Dmitry.Rekman

	Linux: use jemalloc by default if available.

	- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.

	#rb Bob.Tellez
	#codereview Bob.Tellez, Ben.Zeigler

Change 2779398 on 2015/11/24 by Mark.Satterthwaite

	Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Marc Audy
3c0e962858 Copying //UE4/Dev-Frame to //UE4/Main
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2775736 on 2015/11/20 by Richard.Hinckley

	Fix for Paper2D issue with repeated imports in one edutor session. Paper2D import process now creates a new importer at the end. This prevents the sprite sheet import process from leaving frame data around, causing subsequent imports (including imports of different sprite sheets) to include this data inappropriately.

	#codereview michael.noland

Change 2776352 on 2015/11/20 by Zak.Middleton

	#ue4 - Avoid useless DetachFromParent() for the same pending AttachParent during registration. Added missing UpdateOverlaps() when detaching from object simulating physics.

	#rb Marc.Audy, Ori.Cohen
	#codereview James.Golding

Change 2776401 on 2015/11/20 by Mieszko.Zielinski

	Implemented a way to do batched points projection to navmesh, where every point can declare a custom projection box #UE4

	The biggest advantage here is that projection box is independent from projected point - no more manual offsetting of projected point to achieve "100uu up and 500uu down"-like functionality

	#jira UE-23705
	#rb Lukasz.Furman

Change 2777450 on 2015/11/23 by Martin.Wilson

	Bake additive data into animations during cooking to avoid doing additive calculations and extra pose extraction and blending at runtime

	#rb Thomas.Sarkanen

Change 2777698 on 2015/11/23 by Mieszko.Zielinski

	Gameplay debugging tools fixes #UE4

	Fixes:
	- made newly added logs respect Log Visualizer's filters
	- added handling of invalid data when trying to draw EGameplayDebuggerShapeElement::Cylinder in AGameplayDebuggingHUDComponent::DrawPerception. This is a patch, root cause to be found.
	- fixed Log Visualizer resetting it's data while trying to serialize invalid objects. This is a patch, root cause to be addressed.

	In addition
	- while at it removed bunch of 'auto' and 'class' keywords from the files I've touched

	#rb Lukasz.Furman

Change 2777762 on 2015/11/23 by Mieszko.Zielinski

	Removed BlackboardComponent's functionality deprecated since 4.7 #UE4

	#rb Lukasz.Furman

Change 2777839 on 2015/11/23 by Zak.Middleton

	#ue4 - Wrap all vector library calls to math functions through our FMath versions, so they benefit from fixes or improvements therein. Added Exp2() function.

	#rb Laurent.Delayen

Change 2777840 on 2015/11/23 by Zak.Middleton

	#ue4 - Fix up uses of library math functions to go through our FMath namespace.

	#rb Laurent.Delayen

Change 2778287 on 2015/11/23 by Stan.Melax

	deprecation of  FCollisionQueryParams(bool)

	See 2774707 description for the whole story

	#OR-9936

	#codereview marc.audy

	Changes to kite will have to be in a separate check-in

	I couldn't submit to all files from the framework branch   addition fixes have their files are shelved in cl 2778299

Change 2778507 on 2015/11/23 by Marc.Audy

	Eliminate spurious cook warnings for known missing packages
	#rb Michael.Noland

Change 2778546 on 2015/11/23 by Aaron.McLeran

	Moving occlusion feature settings from audio component to sound attenuation settings struct.

	- Sound attenuation setting struct is used for all sounds that do 3d spatialization so it make sense for the occlusion feature settings to be there.
	- Kept old low-pass frequency filter setting values on audio component (where HighFrequencyAttenuation used to be)

	#rb Zak.Middleton

Change 2778664 on 2015/11/23 by Zak.Middleton

	#ue4 - Clarify some comparison functions (IsZero, IsNearlyZero, Equals) in FRotator to explain that they compare as orientations, not other interpretations such as rotational speed, winding, etc.

	#rb Aaron.Mcleran
	#codereview Frank.Gigliotti

Change 2779335 on 2015/11/24 by Mieszko.Zielinski

	Another VisualLog patch to avoid crashing due to a core bug that remains to be investigated #UE4

	Again, the core bug here is related visual log trying to serialize invalid objects on a regular basis.

	#rb Lukasz.Furman

Change 2779338 on 2015/11/24 by Benn.Gallagher

	Fixed crash in Persona when focus is taken from a different window
	#jira UE-22516
	#rb Ben.Cosh

Change 2779375 on 2015/11/24 by Benn.Gallagher

	Fix for deadlock in destructibles. Aquiring actor buffer without releasing causes an infinite wait on next aquire.
	#rb Ori.Cohen

Change 2779753 on 2015/11/24 by Zak.Middleton

	#ue4 - FMath::Atan2() no longer calls atan2f() because of some compiler or library bugs causing it to randomly return NaN for valid input. It now uses a high-precision minimax approximation instead, measured to be 2x faster than the stock C version.

	#rb Brian.Karis

Change 2779853 on 2015/11/24 by Marc.Audy
2015-12-02 16:42:06 -05:00
Marc Audy
b2d9e2e11d Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2720537 on 2015/10/07 by Aaron.McLeran

	Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick

Change 2746582 on 2015/10/29 by Aaron.McLeran

	Implementing single ray-cast sound occlusion

	- Fixing/Implementing sound occlusion using one ray cast
	- Update rate of the ray cast is conifgurable by the user
	- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
	- Occlusion ray-casts are made at a slower rate than the audio engine is updated
	- The following properties are supported:
	    * LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
	    * OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
	    * OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)

	- Fixed how low-pass filter frequency is applied on platforms that support it.
	    * Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
	    * Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
	    * Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
	    * At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
	    * Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
	    * XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.

	#rb zak.middleton

Change 2765174 on 2015/11/12 by Aaron.McLeran

	UE-23091 More fixage for NaN audio log spam

	Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.

	To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.

	- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
	- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
	- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate

	#codereview Zak.Middleton
	#rb Zak.Middleton

Change 2765467 on 2015/11/13 by James.Golding

	- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
	#rb gil.gribb

Change 2765746 on 2015/11/13 by Benn.Gallagher

	Added buckets for update rate shift tags (for staggering anim updates)
	#jira UE-23213
	#rb Bruce.Nesbit

Change 2765747 on 2015/11/13 by Benn.Gallagher

	Fixes for bone length calculation in anim dynamics chains.
	#rb Bruce.Nesbit

Change 2765749 on 2015/11/13 by Benn.Gallagher

	Removed allocations from local CS blends for skeletal controls.
	#rb Bruce.Nesbit

Change 2765752 on 2015/11/13 by Benn.Gallagher

	Lod mapping support for URO customization
	#jira UE-23211
	#rb Bruce.Nesbit

Change 2765965 on 2015/11/13 by Marc.Audy

	Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
	#jira UE-21181
	#rb Josh.Markiewicz

Change 2766071 on 2015/11/13 by Mieszko.Zielinski

	Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4

	the 'bTickDuringGame == bTickDuringGame' thing

	#rb John.Abercrombie

Change 2766086 on 2015/11/13 by Mieszko.Zielinski

	Exposing NavModifierComponent to ENGINE_API #UE4

	#codereview Lukasz.Furman

Change 2766345 on 2015/11/13 by Mieszko.Zielinski

	No longer compiling AISystem's creation out from client builds #UE4

	Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable

Change 2766346 on 2015/11/13 by Mieszko.Zielinski

	Improvements to EQS test scoring function preview #UE4

	#rb Lukasz.Furman

Change 2766528 on 2015/11/13 by Stan.Melax

	multiple materials/chunks on a single cloth sim mesh

	This supposedly used to work in 4.7 but broke for 4.8
	It looks like previous change 2493547  may have introduced the condition statement that makes multiple materials not include all of there verts.

	Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.

	jira:
	#UE-23300

	https://jira.ol.epicgames.net/browse/UE-23300

	https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html

	Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674

	#rb  Benn.Gallagher

Change 2766546 on 2015/11/13 by Marc.Audy

	Throw warning for orphaned looping sounds caused by a looping sound node
	Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
	#rb Aaron.McLeran

Change 2766917 on 2015/11/14 by Jurre.deBaare

	Fix UE4-23349 Simplygon doens't support sub 64 pixel textures

Change 2767742 on 2015/11/16 by Marc.Audy

	Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
	Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
	#rb Zak.Middleton, Rob.Manuszewski

Change 2767827 on 2015/11/16 by Zak.Middleton

	#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.

	- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
	- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
	- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).

	#rb Dan.Youhon

Change 2768070 on 2015/11/16 by Marc.Audy

	Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
	Fixup usages to avoid unnecessary string -> char* -> name conversions
	Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
	#rb Gil.Gribb

Change 2768121 on 2015/11/16 by Marc.Audy

	Forceinline GetFName

Change 2768161 on 2015/11/16 by Aaron.McLeran

	Checking occlusion back in

	- Bug was due to improper interpolation of LPFFrequency values in audio volumes.

Change 2769428 on 2015/11/17 by Thomas.Sarkanen

	Fixed backwards-compatibility issues with FExposedValueCopyRecord

	Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
	Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.

	UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())

	#rb James.Golding
	#codereview Mike.Beach,Bob.Tellez

Change 2769488 on 2015/11/17 by Benn.Gallagher

	DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
	#rb Martin.Wilson

Change 2769545 on 2015/11/17 by Benn.Gallagher

	Added space conversion options to copy bone node.
	#jira OR-9430
	#rb Martin.Wilson

Change 2770228 on 2015/11/17 by Marc.Audy

	Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
	#rb Ori.Cohen
	#jira UE-23366

Change 2770489 on 2015/11/17 by Marc.Audy

	Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise

Change 2770761 on 2015/11/17 by Aaron.McLeran

	Removing optimization disablement

	- Forgot to remove these lines before checking in/testing.

Change 2771375 on 2015/11/18 by Thomas.Sarkanen

	Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines

	#rb Benn.Gallagher

Change 2771697 on 2015/11/18 by Jeff.Farris

	Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
	 #rb marc.audy

Change 2771755 on 2015/11/18 by Marc.Audy

	Put back in the recursion block for destroy actor
	#rb James.Golding

Change 2772217 on 2015/11/18 by Marc.Audy

	Update axis inversion to work the same way as sensitivity instead of old problematic way
	Also change to use Reset instead of Empty(Array.Num())
	#rb Jeff.Farris

Change 2772686 on 2015/11/18 by Aaron.McLeran

	Fixing HRTF spatialization coordinate bug.

	Don't need to convert to xaudio2 coordinates for HRTF spatialization

	#rb chad.taylor

Change 2772766 on 2015/11/18 by Aaron.McLeran

	Fixing HRTF spatialization with xaudio2 voice pools

	- Issue was caused by 2 issues:
	- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
	- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.

	#rb chad.taylor

Change 2773027 on 2015/11/19 by Thomas.Sarkanen

	PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)

	#rb Thomas.Sarkanen

Change 2773142 on 2015/11/19 by Benn.Gallagher

	Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
	    - Only iterating beyond the index of the first bone transform, cutting off all bones before
	    - No longer using a bone mask the size of the skeleton, just an array of interesting nodes
	    - No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
	#rb Laurent.Delayen

Change 2773212 on 2015/11/19 by Richard.Hinckley

	#jira UEDOC-2685

	Removing ugly comment. Not going to remove the node itself for backward compatibility.

Change 2773351 on 2015/11/19 by Zak.Middleton

	#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.

	#rb Dan.Youhon

Change 2773599 on 2015/11/19 by Marc.Audy

	Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
	#codereview Aaron.McLeran

Change 2773661 on 2015/11/19 by Richard.Hinckley

	#jira UEDOC-2685

	Following up by deprecating the CastToPlayerController function for 4.11.

Change 2774707 on 2015/11/19 by Stan.Melax

	FCollisionQueryParams constructor API pitfall
	Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.

	So this line of code:
	 FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
	will invoke:
	 FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)

	But this line of code:
	 FCollisionQueryParams Param(TEXT("DragDropTrace"));
	invokes:
	 FCollisionQueryParams::FCollisionQueryParams(bool)

	Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter.  So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL).  Yeah, that's could potentially be not what the programmer had intended.

	It looks like this interface was introduced in CL 1792949
	back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
	Making an API change would break things for existing projects.
	If it had been a more recent change we could have probably just gone down to a single constructor right away.

	Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation.  So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community.  Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.

	see also
	https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html

	#codereview ori.cohen

[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
Andrew Grant
c0452957a1 Merging latest engine code from Orion via //depot/UE4-To-//UE4/Main
[CL 2744667 by Andrew Grant in Main branch]
2015-10-28 08:58:16 -04:00
Richard Hinckley
6ceaa5aba7 Cleaning out programmer-only comments that were harvested by Doxygen.
#platformnotify Josh.Adams

[CL 2690143 by Richard Hinckley in Main branch]
2015-09-14 09:25:39 -04:00
Mike Fricker
65e7557229 [INTEGRATE] Compile times: Working on eliminating <Module>Classes.h header files
- This checkin eliminates use of all <Module>Classes.h files in Engine, with the exception of UnrealEdClasses.h
- Compilation speed-ups for all of the modules affected, now that they are including what they use
- No effective changes other than C++ includes

[CL 2686054 by Mike Fricker in Main branch]
2015-09-10 08:48:03 -04:00
Steve Robb
7661666dcb Error when a module is both a dependency and dynamically loaded.
Fixes for lots of existing modules by removing all dynamically loaded duplicates (this is probably not the correct solution, but is the safest).

#codereview robert.manuszewski

[CL 2610845 by Steve Robb in Main branch]
2015-07-06 05:46:20 -04:00
Paul Fazio
fb66c0f03e Fix for RootEditor_OnMac and RootEditor_OnLinux nodes' warnings
preflight build in which both nodes completed with no warnings: https://ec-01.epicgames.net/commander/link/jobDetails/jobs/GUBP___depot_UE4_2597596__88293_RunGraph_530809?s=Jobs&tabGroup=stepTableHeader

#codereview Fred.Kimberley

[CL 2597800 by Paul Fazio in Main branch]
2015-06-23 16:32:56 -04:00
Fred Kimberley
21ff67e268 Merging using UE4-Fortnite-To-UE4
Integration from CL 2589598.

[CL 2596395 by Fred Kimberley in Main branch]
2015-06-22 20:28:51 -04:00
Mieszko Zielinski
42afe0509a Moved AI asset types into a separate AI category in content browser's asset creation menu #UE4
#codereview matt.kuhlenschmidt

[CL 2581284 by Mieszko Zielinski in Main branch]
2015-06-09 10:42:15 -04:00
Jamie Dale
9968a0a15c Some workflow and performance improvements for behavior trees and environmental queries
UETOOL-293 - Behavior Tree Editor is sluggish

- Made the behavior tree and environmental query pins larger so they're easier to grab.
- Adjusted the node padding so that we don't add the padding for the pins when there aren't any pins.
- Added lodding so that node elements are culled out as you zoom out (to improve performance).
- Fixed connections being culled when they were still visible.

[CL 2528547 by Jamie Dale in Main branch]
2015-04-28 11:13:20 -04:00
Ben Cosh
ac6b1e60da This modifies the comment balloons behavior on reroute nodes to be more inline other node comment balloons by enabling a toggle button and displaying by default when a comment is entered in the context menu.
#UE-12866 - Have node comments and reroute node comments act the same
#Branch UE4
#Proj Engine, GraphEditor

#includes some more general comment node / comment bubble fixes

[CL 2528202 by Ben Cosh in Main branch]
2015-04-28 04:58:34 -04:00
Ben Cosh
7ce2a96c63 This change enables comment balloon coloring set in the preferences and restores the comment node option to enable coloring.
#UE-13299 - Comments and comment balloons don't obey colors set in editor preferences
#Branch UE4
#Proj BehaviourTreeEditor, EnvironmentQueryEditor, GraphEditor

#codereview Dan.Oconnor

[CL 2505562 by Ben Cosh in Main branch]
2015-04-08 14:48:01 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Lukasz Furman
8db86ff08b fixed crash on pasting composite decorator node in behavior tree editor
#ue4

[CL 2481392 by Lukasz Furman in Main branch]
2015-03-17 07:30:01 -04:00
Jaroslaw Palczynski
28fc7695a0 Missing chages for 2481343.
Some P4V problem with backing out large changelist missed some files.

#codereview Robert.Manuszewski

[CL 2481366 by Jaroslaw Palczynski in Main branch]
2015-03-17 06:17:32 -04:00
Lukasz Furman
f4829da655 fixed restoring EQS query asset with multiple options
#ue4, merged from dev branch

[CL 2481355 by Lukasz Furman in Main branch]
2015-03-17 05:56:35 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Lukasz Furman
37b360926c missing includes
[CL 2477002 by Lukasz Furman in Main branch]
2015-03-12 12:28:20 -04:00