Commit Graph

41 Commits

Author SHA1 Message Date
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
dan oconnor
69c985696f Back out 3911900
Font size changes will once again immediately update comment node title sizes
#jira UE-60455
#rb Michael.Noland

#ROBOMERGE-SOURCE: CL 4129106 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)
#ROBOMERGE-AUTHOR: dan.oconnor

[CL 4129107 by dan oconnor in Staging-4.20 branch]
2018-06-13 21:43:31 -04:00
Shaun Kime
0ca45afbd4 Copying //UE4/Dev-Niagara to //UE4/Dev-Main (Source: //UE4/Dev-Niagara @ 4074996)
#lockdown Nick.Penwarden
#rb none
============================
  MAJOR FEATURES & CHANGES
============================

Change 3853627 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse VectorVM

	#tests non-gpu auto tests pass

Change 3853628 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Runtime

	#tests all non-gpu auto tests pass

Change 3853629 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Shaders

	#tests all non-gpu auto tests pass

Change 3853630 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse Engine\Plugins\FX

	#tests all non-gpu auto tests pass

Change 3853631 by Shaun.Kime

	Jonathan's material function from Orion\DevNiagara

	#tests all non-gpu auto tests pass

Change 3853633 by Shaun.Kime

	Merging using OrionDevNiagaraToUE4DevNiagara_DoNotUse EngineTest

	#tests all non-gpu auto tests pass

Change 3853911 by Shaun.Kime

	GPU rendering now works

	#tests GPU tests now pass

Change 3854179 by Shaun.Kime

	Removing dead system

	#tests now just with a warning

Change 3854731 by Shaun.Kime

	Checkpointing current work

	#tests n/a

Change 3855080 by Shaun.Kime

	Fixing not all control paths return a value error

	#tests n/a

Change 3856185 by Bradut.Palas

	MultiStack with pinning support.
	#jira UE-53459

	#tests none

Change 3856615 by Shaun.Kime

	Preventing a null pointer dereference when copying unallocated data

	#tests auto tests pass

Change 3856622 by Shaun.Kime

	Getting rid of the bogus get alias method

	#tests auto tests pass

Change 3856644 by Shaun.Kime

	Adding the ability to query the number of filtered triangles, index those triangles directly, and compute the position, velocity, UV, and NBT of a triangle.

	#tests all auto tests now pass

Change 3856645 by Shaun.Kime

	Added several new auto tests and tweaked existing ones.
	+ PerParticleRandom still had some randomness in it
	+ UserColorCurve has a user color curve defined in 3 different components referencing the same system
	+ BasicSkinnedEmitter has 4 skinning sub-tests, attached as a subcomponent, referencing a world skeletal mesh, using a material filter, and using a bone filter

	+ added a skinning module that spawns based off exec index and a data interface that queries the number of triangles on a skeletal mesh.

	#tests auto tests pass

Change 3856675 by Shaun.Kime

	Fixing crash on delete of an emitter

	#tests removed one and multiple emitters from active multi-emitter. No crash

	#jira UE-54378

Change 3860613 by jonathan.lindquist

	New dynamic input

Change 3862549 by Shaun.Kime

	Missing last known good images

Change 3864525 by Simon.Tovey

	Fix for vm compiler crash when using structs as constants.

	#tests No longer crashes.

Change 3864729 by Frank.Fella

	Sequencer - Fixed a few places which were modifying sequencer data, but not calling the NotifySequencerDataChanged.

Change 3864737 by Frank.Fella

	Niagara - Fix the timeline in the niagara editor plus other fixes.
	+ Turned on looping in the timeline by default.
	+ Added simulation options to control playback in the editor, including turning off auto-play, disabling reset on change, and disabling resimulation when changing while paused.
	+ Added a buttons to the timeline for each renderer an emitter has which shows a renderer specific icon and will allow navigation directly to the renderer with future stack changes.
	+ Fixed issues in the emitter life cycle and spawn rate modules which were preventing delay and looping from working consistently. (includes auto-test)
	+ Added top level metadata for modules.
	+ Added the ability to add metadata to a module and it's inputs to allow it to be edited directly using timed sections in the timeline.  Currently configured for the emitter life cycle module.
	+ Changed the way the "MaxSimTime" on niagara component works so that it now represents the maximum frame time which should be used when seeking the component to the desired age.  This previously was the maximum amount of simulation time to run which would prevent simple effects from simulating quickly, and would also allow more complicated effects to hang the UI while seeking.
	+ Changed the behavior of niagara component when seeking to desired age so that it always uses the exact specified seek delta instead of trying to seek to the exact desired age.
	+ Fixed the component so that systems which are seeking to the desired age in the editor no longer draw in fast forward mode.
	+ Changed the default playback range for effects in the timeline from 1000 seconds to 10 seconds, and fixed the timeline so that the playback range is serialized into the asset which will persist the setting across loads.
	+ Fixed scrubbing in the timeline so that it doesn't immediately reset when scrubbing backwards.
	+ Added a button to the timeline track for enabling and disabling isolation mode for emitters.
	+ Added a checkbox to the timeline to enabled and disable emitters from the timeline.
	+ Fixed PinToNiagaraVariable so that it asserts if bNeedsValue is specified and it can't actually provide a value.
	+ Create a class called FNiagaraStackFunctionInputBinder which allows binding to an input of a function on a stack so that you can easily set and get the value of the input without having to worry about modifying the graph or rapid iteration parameter sets directly.

	#tests Existing auto-tests and 1 new test for life cycle changes.

Change 3867179 by Frank.Fella

	Niagara - Turn off GPU simulation for test assets for Shaun.

Change 3869201 by Simon.Tovey

	Bypassing JonLs issue

	#tests no longer crashes.

Change 3869897 by Frank.Fella

	Niagara - Fix crashes when using the skeletal mesh data interface.  NOTE: The change to the actual skeletal mesh data interface code doesn't seem needed, but without it, it crashes with the stomp allocator on.  We'll have to investigate further.

Change 3870487 by Frank.Fella

	Niagara - Always generate cached skin data immediately, and make sure we're not indexing triangles that don't exist.  This is a temporary fix to avoid a crash when changing the skeletal mesh source on an effect in the level from the details panel.

Change 3877378 by Frank.Fella

	Niagara - Update the burst and lifecycle modules with new metadata for incoming timeline changes.

Change 3877564 by Frank.Fella

	Sequencer - Fix a few more places which were modifying sequencer data without calling NotifyMovieSceneDataChanged.

Change 3877565 by Frank.Fella

	Niagara - Remove old unused burst code from some runtime classes.

Change 3877567 by Frank.Fella

	Niagara - Add support for keying bursts on the timeline which is configured using script metadata.

Change 3877699 by Frank.Fella

	Niagara - Fix a crash in the new timeline code for when you have bursts, but you have inputs on the emitter lifecycle bound, also set lower bound of view range of the timeline to be -.1 so that you can more easily interact with keys at 0.

Change 3877715 by Frank.Fella

	Sequencer - Update the change type when pasting keys from the clipboard from Unknown to TrackValueChanged to avoid unnecessary work.  From code review on last change.

Change 3879285 by Simon.Tovey

	A couple of fixes for using struct constants

	#tests Jon's case now compiles and works correctly.

Change 3879378 by Frank.Fella

	Niagara - Fix a few spots where recursive graph traversal was visiting nodes multiple times because of diamonds in the pin connections.  This reduces a terrible hang in UNiagaraScriptSource::InitializeNewRapidIterationParameters from 5 minutes to 5 seconds but there are futher issues to investigate becasue even 5 seconds it too long.

Change 3879858 by Shaun.Kime

	Moved the VM script compilation to the DDC in order to facilitate better team compilation behavior. Significant changes to the translator and overall compile workflow to make the data behave better for a future multi-threaded compilation path.
	In order to know when to compile, a key is generated that uses the compile id's of the graphs that influence the compilation of our node. In this way, if an end user goes and edits a function or module and checks in, the overall compile id will not match b/c that function is in the dependency list of a system downstream. The system will then know to recompile. However, everyone else on the team will generate the same key because the asset in question was checked in with its local compile id already changed.

	Additionally, we now employ change tracking on traversals from a node graph. These traversals walk through all the nodes leading to a given output node and see if they've been altered. If they have, a new compile id is generated. If not, the old compile id is used. This also means that if you edit a particle update section in the stack, the emitter section won't force the system to recompile.

	GPU scripts now have their own script slot rather than riding alongside particle spawn scripts. This allows us to address them independently in the translator and put them in the DDC as well. Once the text is generated, we then go back out to the DDC to generate the shader associated.

	Known issues:
	+ Emitters are sometimes marked dirty on open
	+ Nodes connected to event writes aren't part of the hashing
	+ DataInterface signature changes don't dirty the compiles
	+ Struct changes don't dirty the compiles
	+ On system loading, we go out to the DDC instead of using existing scripts, which is slower..

	#tests all auto-tests pass, additional tests run to validate proper behavior

Change 3879859 by Shaun.Kime

	Content update post DDC change

Change 3879862 by Shaun.Kime

	Niagara plugin content to ddc

Change 3879958 by Frank.Fella

	Niagara - Actually fix the bad recursion in this function by using the existing traversal method.

Change 3881727 by Damien.Pernuit

	Niagara - Houdini - Created a separate plug-in for the Houdini CSV Data Interface.

Change 3881877 by Simon.Tovey

	Fix for mac compile issue

Change 3882773 by Simon.Tovey

	Actual fix for Mike

Change 3882822 by Shaun.Kime

	Rather than throw a check, I instead emit an error when we can't match up a data interface and instantiate a CDO version. Not perfect, but this will let you recompile.

	#tests allows me to open jonathan's file

Change 3883538 by Shaun.Kime

	Moving particle-level scripts to compile with the emitter named Emitter in their internal scripts. This simplifies the dependencies quite a bit, but causes some complexity on the wiring side (most of which we were already doing anyway).
	Getting rid of some allocations in translation (still more to go).
	Fixed some of the logic for emitters that had modules of the same name to now properly concatenate.

	Compile version bumped, so all scripts will be forced to recompile. Not saving this into the test files for now, as I expect this to happen a bit for the near term.

	#tests all auto-tests pass, creating a new emitter and system on PC works

Change 3883552 by Shaun.Kime

	Fixing renaming to work properly now. It just invalidates the system script compile id's, forcing it to auto-compile.

	#tests auto-tests pass

Change 3884722 by Bradut.Palas

	Added searchbar with basic name search for Niagara stack

	#tests none
	#jira UE-53469

Change 3884793 by Shaun.Kime

	Adding pragma once

	#tests no longer complains about duplicate definition

Change 3885629 by Wyeth.Johnson

	Setting up a transient meshrotation framework pre-integration

Change 3887440 by Wyeth.Johnson

	Custom HLSL failure for Shaun

Change 3888911 by Bradut.Palas

	stack search box now has a minimum width of 300 pixels

	#tests none

Change 3890843 by Shaun.Kime

	Creating a Niagara quaternion type.

	#tests created in editor, saw default was correct, carried through to VM runtime through attribute viewer

Change 3890849 by Shaun.Kime

	Porting over 4.19 fix to Dev-Niagara

	#tests allows creation of valid scripts even when ini is cleared.

Change 3891088 by Frank.Fella

	Sequencer - When getting selected tracks for the external selection api, include tracks if any of their child nodes are selected.  This matches the behavior object guid external selection.

Change 3891114 by Bradut.Palas

	Fixing crash that sometimes happens if a stack tree changes while a stack search is active

	#tests none

Change 3891131 by Frank.Fella

	Sequencer - Move section headers for bool, int, vector, and color to the public directory so they can be used by the niagara level sequence integration.

Change 3891165 by Wyeth.Johnson

	error for shaun

Change 3891354 by Shaun.Kime

	Adding Quat struct to more locations. Now treated like hlsl float4.

	#tests EulerToQuaternion now compiles

Change 3891463 by Bradut.Palas

	Fix crash that sometimes happens when deleting module and hitting Ctrl-Z to undo (the condition for removing the listeners from the rootentry should not be tied to the validity of weak pointers for system and emitter, because sometimes they are out of sync when changing the graph)

	#tests none

Change 3891641 by Wyeth.Johnson

	resave node

Change 3893143 by Shaun.Kime

	Fixing issue where you try to bind a vertex color sampler to a mesh without it. We failthe binding rather than crash due to a check later. Also fixed up error logging to only mention the one that failed.

	#tests can open NiagaraSystem'/Game/FX/SkeletalMeshDissolve/EmittersAndSystems/FightSceneDissolve.FightSceneDissolve' with an error..

Change 3893528 by Bradut.Palas

	fix another crash when search results are invalidated during search

	#tests none

Change 3893830 by Shaun.Kime

	Fix for copy & paste of comment boxes

	#tests can now copy and paste comment boxes

Change 3894012 by Bradut.Palas

	no longer executing search tick if the rootentry is null

	#tests none

Change 3894828 by Frank.Fella

	Niagara - Runtime changes to support sequencer animation
	+ Reset the simulation when force solo is changed on the component.
	+ Invalidate the render data and clear the buffers when resetting to avoid previously rendered particles from drawing.
	+ Automatically sync the override parameters in the component when the source assets exposed parameters change and removed forced syncing from various places.
	+ Remove lots of refresh code from the niagara component details which should not be neccessary anymore.

	#TESTS Ran autotests, tested through the UI while building the sequencer tests asests.

Change 3894832 by Frank.Fella

	Niagara - Level sequence support for spawning and animating system life cycle and select user parameter types.

	#Tests Ran existing tests and added a new test to verify added functionality.

Change 3896944 by Bradut.Palas

	safeguard entries with no search items (it actually can be null)

	#tests none

Change 3896948 by Bradut.Palas

	Fix assert when dereferencing source array (no need for a raw pointer to the array since it's initialized with the content anyway)

	#tests none

Change 3896950 by Bradut.Palas

	fix compile error with previous commit

	#tests none

Change 3897698 by Frank.Fella

	Niagara - Fix some safety issues with parameter initialization on the niagara component.
	+ Kill the current system if we synchronize parameters to avoid issues with data interface lifetime.
	+ Always sync parameters when the asset is set to prevent missing data interfaces in the override list.
	+ Add an enum to control how data interface parameters are handled when calling CopyParametersTo.
	+ When the system instance is copying the asset parameters, have it copy data interfaces by reference so that it's not creating data interfaces copies which will be deleted at the next garbage collection.

	#Tests Auto-tests, also doesn't crash anymore when opeining Jonathan's disolve effect and then opening a level.

Change 3897953 by Frank.Fella

	Niagara - Remove some namespace restrictions from the code that generates the available parameters to read from in the stack UI since it was preventing the use of custom namespaces in modules and it was not clear what issue it was solving since we already prevent scripts from addressing parameters from lower level scripts.  Also move user parameters to their own menu section.

	#Tests Custom namespaces are usable again in the stack.

Change 3898926 by Bradut.Palas

	Fix for crash caused by garbage collection and async search
	#jira UE-55284 (Stack search doesn't work on collapsed entries) now searching through unfiltered children, will need extra fixes on the stack to eliminate "ghost" results"
	Both are still under code review, submitting because they are simple to rollback and harmless to other features.

	#tests none

Change 3899069 by Shaun.Kime

	Parallel compilation

	Major changes:
	Rather than a custom streaming version that we know influences a rebuild, I'm moving away to a guid that you need to regenerate if you change the compiler in any meaningful way
	needed for multiple reasons,
	1) if two people are making changes to the compiler, having something other than a guid as the value makes the content of the ddc ambiguous
	2) when iterating I often need to make multiple changes to get to a working final result, bumping the version number each time that happens gets old fast

	We fully clone the input graph to do the compile in the background. While the translation step is not a huge amount of time, it keeps the main thread responsive.

	We currently have a big critsec around the crosscompiler to bytecode as it isn't threadsafe. Future changes will push this to the ShaderCompilerWorker.

	#tests all tests pass as well as stress tests around saving while compilng, long compile times, etc.

Change 3899071 by Shaun.Kime

	Fixing the availability flags for system and emitter scripts.

	#tests all auto tests pass

Change 3899077 by Shaun.Kime

	Fixing assets to have their wait on compile finished checkbox checked in the editor for testing

	#tests n/a

Change 3899114 by Wyeth.Johnson

	Random bool custom hlsl node

Change 3899184 by Bradut.Palas

	implemented categories for module inputs (now inputs can be assigned a category in the module editor and they will be grouped by those categories in the Niagara stack)

	#tests none

Change 3899329 by Bradut.Palas

	fix broken commit by adding missing new files NiagaraStackInputCategory.cpp and .h

	#tests none

Change 3899439 by Yannick.Lange

	Niagara reroute node.

Change 3899516 by Shaun.Kime

	Official angle conversion modules.

	#tests made a local test emitter that converted back and forth between angles. Results were correct.

Change 3900193 by Shaun.Kime

	Fixing build

	#tests now compiles

Change 3900474 by Shaun.Kime

	Fixes to help Mac compile

	#tests n/a

Change 3901131 by Simon.Tovey

	Warmup feature.

	CPU Sim only.

	Also has ability to advance simulation by tick count or seconds via BP/C++.

	Includes some engine tests.

	#tests editor + autotests

Change 3901455 by Frank.Fella

	Niagara - Add WITH_EDITORONLY_DATA to prevent non-editor compile failures.

Change 3902477 by Frank.Fella

	Niagara - Fix FNiagaraEditorTypeUtilities to be a thread safe TSharedFromThis since it's always created with a thread safe shared pointer, also fix up issues related to this change.  Fixes a crash which occurrs when it's the target object of a delegate binding.

	#Tests adding a curve data interface to a parameter collection no longer crashes.
	#jira UE-55403

Change 3903478 by Shaun.Kime

	No longer doing the check if compiling on load is enabled as this always forces different change ids'

	#tests n/a

Change 3903783 by Shaun.Kime

	Trimming down excess log spew

	#tests auto-tests pass

Change 3905753 by Shaun.Kime

	Made Sine(Degrees), Sine(Radians), and Sine, and the variants thereof for trig functions.

	#tests n/a

Change 3905759 by Shaun.Kime

	Auto tests for mesh orientation

	#tests these now pass

Change 3905762 by Shaun.Kime

	These files needed to be resaved for some reason to keep passing.

Change 3906727 by Bradut.Palas

	Curve UX improvements
	#jira UE-55134

	#tests none

Change 3908177 by Shaun.Kime

	Fixing build due to typo

	#tests now compiles

Change 3908199 by Shaun.Kime

	Trying to fix compilation when destroying objects. We cannot safely attach anything beneath us at this point ,we just need to clear out the queues.

	#tests normal work day-to-day

Change 3908201 by Shaun.Kime

	Working to fix crashes where the component was destroyed out from underneath us due to PIE shutting down and we have a Niagara item editable in Blueprint or world editor.

	#tests n/a

Change 3908985 by Bradut.Palas

	Renaming ColorCurveAsset to CurveAsset to better reflect the actual usage of the variable (fixing copy-paste issue)

	#tests none

Change 3909222 by Yannick.Lange

	Niagara graph connection colors

Change 3909436 by Bradut.Palas

	fix crash in curve ux when importing a linear curve (curve of floats)

	#tests none

Change 3909561 by Bradut.Palas

	Updating LUT before sending NotifyPostChange when editing curves inline (so that LUT will not go out of sync)

	#tests none

Change 3910010 by Yannick.Lange

	Use new Niagara Actor icon

Change 3910191 by Yannick.Lange

	Fix viewport widget showing up in the viewport when pressing W, E or R.
	#jira UE-55142

Change 3910213 by Frank.Fella

	PropertyEditor - PropertyRowGenerator - Added features and fixes to support integration into niagara's stack view.
	+ Added a method to get filter/search strings for an IDetailTreeNode to support external searching and filtering.
	+ Added a delegate to the layout builder for when one of it's owned nodes has it's visibility forcibly changed by a customization.
	+ Changed the filtering so nodes are generated for properties marked as advanced.
	+ Pass the notify hook down to the detail utilities so that change notifications work as expected.
	+ Add layout data for the widgets returned from the IDetailTreeNode to prevent alignment and sizing issues in custom implementations.

Change 3910307 by Frank.Fella

	PropertyEditor - Missed in last checkin.

Change 3910509 by Frank.Fella

	Niagara - Removed nested details panels from the stack and integrate them properly plus other fixes.
	+ Generate rows for nested objects using the details panel property row generator.
	+ Fix the horizontal sizing for niagara parameter editors.
	+ Add an IsValid() method to the base niagara stack entry so that derived classes can know if the associated view models are still valid when processing events.  This is a temporary measure to fix a crash in the user parameter UI.
	+ Set stack entries to be expandable by default and delete usages which were setting it to true.
	+ Highlight the active search result with a border since property rows can't highlight text.

Change 3911653 by Frank.Fella

	Niagara - Fix stack spacer sizing.

Change 3911667 by Frank.Fella

	PropertyEditor - Actually fix the notify hook handling in the property row generator.

Change 3911896 by Yannick.Lange

	Niagara function input context menu.

Change 3911900 by Yannick.Lange

	Project setting for not showing comment bubbles.

Change 3911996 by Yannick.Lange

	Niagara fix if node persistent guids for older nodes. The OutputVarGuids are always synced on PostLoad.

Change 3912221 by Wyeth.Johnson

	Renderer Icons for timeline

Change 3912608 by Bradut.Palas

	stack style refactor
	#jira UE-55399

	#tests none

Change 3913063 by Wyeth.Johnson

	Icons for stack added, including new system param png

Change 3913618 by Shaun.Kime

	Fixing two of the most common Illegal call to StaticFindObject() errors while compiling.

	#tests ran through compilation after changes.

Change 3914369 by Bradut.Palas

	Using new SystemParams.png icon provided by Wyett (instead of the old "Parameters.png")

	#tests none

Change 3914782 by Wyeth.Johnson

	Adjusting icon for update to not indicate "flow"

Change 3915738 by Shaun.Kime

	Moving away from the generic and super-slow EdGraphSchema ShouldAlwaysPurgeOnModification being true to using the same mechanism we use to invalidate the compile to synchronize nodes. This should be substantially faster.

	#jira UE-55463

	#tests ran through a variety of tests creating and wiring nodes

Change 3915739 by Shaun.Kime

	Assignment nodes need to invalidate the graph for compile.

Change 3915741 by Shaun.Kime

	Making default values more accessible and making it possible to route renderers to use different values than the defaults.

	#tests n/a

Change 3915798 by Frank.Fella

	SearchBox - Add options to show the number of search results and an option to show a throbber when a search is active.

Change 3915966 by Shaun.Kime

	Changing the default for velocity to 0,0,0 as requested  by Wyeth

	#tests n/a

Change 3915982 by Shaun.Kime

	Making the default text more readable

	#tests n/a

Change 3916237 by Frank.Fella

	PropertyEditor - Change the DetailCategoryBuilderImpl so that it sets the horizontal alignment to fill for value widgets when generating stand alone widgets so that the behavior in the property row generator matches the behavior of the property grid.

Change 3916240 by Frank.Fella

	Niagara - Should prevent some recent crashes due to stack entry delegates and lifetime.

Change 3916261 by Frank.Fella

	Niagara - Lots of minor stack ui fixes and adjustments
	+ Tweaked padding in a bunch of different places.
	+ Added a dark background behind the stack and stack header to prevent the colors from bleeding together.
	+ Fixed the group text not being white anymore.
	+ Hooked up new features of the search box for showing the search result data and an is searching throbber.
	+ Fixed an issue where the current search result couldn't be interacted with.
	+ Fix some other inconsistencies with searching where you might jump more than one result.
	+ Replace the checkbox for showing curve in the curves tab with an icon based button. (icon is placeholder)

Change 3916833 by Shaun.Kime

	Fixing issue where the system wasn't set to wait for compilation on load, sometimes leading to failures for auto-tests

	#tests this test now passes when forced to recompile

Change 3916846 by Shaun.Kime

	Missed one system in the scene.

	#tests n/a

Change 3917458 by Shaun.Kime

	Fixing another potential race condition on the DDC.

	#tests n/a

Change 3918349 by Frank.Fella

	Niagara - Invalidate the node visuals when reallocating pins.

	#Jira UE-55698

Change 3918783 by Olaf.Piesche

	Correct 'temp' to 'Temp' in map set

Change 3919262 by Shaun.Kime

	We weren't properly updating the default values for user data interface components when tweaked in the editor.

	#tests open skinned mesh auto test system change the preview for the user skinned mesh to be SK_Mannequin_Niagara. It now updates, it didn't before.

Change 3919602 by Shaun.Kime

	Fixing the skeletal mesh to now clamp to the end of the index buffer for safety as well as adding IsValidTriCood. This lets us keep going even when swapping out the skeletal mesh underneath.
	Tested out isvalidtricoord in the test skinning module.

	#tests auto tests pass
	#codereivew simon.tovey

Change 3921701 by Yannick.Lange

	Make Vector2 and Vector4 default blue color to be consistent with blueprints.

Change 3922331 by Damien.Pernuit

	Niagara - Houdini - Added support of CSV File as UAsset (HoudiniCSV)
	Modified the Data Interface to use the CSV asset instead of the imported buffers from the CSV File Path.
	Added some new functions to the DI:
	GetLastParticleIndexAtTime()
	GetCSVPositionAndTime()
	GetCSVVectorValue()
	GetCSVFloatValueByString()

Change 3923118 by Simon.Tovey

	PS4 compile fix.

Change 3924934 by Bradut.Palas

	fix Mac compile issues
	#jira UE-55426

	#tests none

Change 3925168 by Bradut.Palas

	Curve logspamming
	#jira UE-55593

	#tests none
	The UpdateCompiledDataInterfaces would end up comparing LUTs when copying curves and the source LUT was out of date.

Change 3925366 by Frank.Fella

	Slate - SMenuAnchor - Fix the implementation of "BelowRightAnchor" to align the right edge of the menu with the right edge of the anchor.  There aren't any other usages of this in the engine as far as I can tell, hopefully people weren't relying on the broken behavior in a game somwhere.

Change 3925423 by Frank.Fella

	Niagara - Remove the large add buttons from the stack and add smaller add buttons in the group headers.

Change 3925877 by Olaf.Piesche

	New collision modules, separating query, linear and angular impulse; Solve forces and velocity takes care of integrating f->v->p and fA->vA->O; linear impulse module would probably be cleaner by zeroing velocity on collision and calculating a force instead of setting new velocity directly

Change 3926582 by Simon.Tovey

	PS4 compile fix

Change 3927401 by Shaun.Kime

	Fixing events due to added member

	#tests all tests pass as of 3925423 with this change

Change 3927496 by Shaun.Kime

	Getting auto-tests to run
	Questions: Why did I have to recompile the GPU tests... something is missing in their key generation?
	Resaved several files.

	#tests almost all pass now

Change 3927582 by Shaun.Kime

	Fixing last failing auto test

	#tests all tests now pass

Change 3927924 by Simon.Tovey

	Chunk level vm parallelism.
	Any execution processing > batch_size chunks will go wide.

	The batch size is 4 currently but adjsutable via vm.ParallelChunksPerBatch.
	VM parallelism can be disabled by vm.Parallel 0

Change 3927990 by Shaun.Kime

	Submitting redirector

Change 3928426 by Frank.Fella

	Niagara - Always propagate rapid iterations parameters when merging an emitter.

Change 3929823 by Frank.Fella

	Niagara - Fix hlsl generation for system/emitter spawn script so that we read the engine and user parameters from the data set instead of initializing them to 0.

	#Tests Full recompile + auto-tests

Change 3929983 by Simon.Tovey

	Curve LUT Interpolation

	+ updated test altered by it.

Change 3930551 by Frank.Fella

	Niagara - Fix what looks like a copy/paste error in the SNiagaraSelectedEmitterGraph destructor which was preventing clean removal of delegates and causing a crash.

	#Tests closing the "Selected Emitter Graph" tab and then changing the selected emitter no longer crashes.

Change 3932695 by Damien.Pernuit

	Niagara - Houdini:

	Houdini CSV Asset:
	- Packed vector values in the CSV file are now properly supported (not just for Position/Normal) and can be of any size.
	- Added support for reimporting Houdini CSV files.
	- Added an "open in text editor" entry in the context menu.
	- Improved error/warning logging during the parsing of the file

	Houdini Niagara Data Interface:
	- Added GetParticleIndexesToSpawnAtTime():
	New helper functions returning the min index, max index and number of particles to be spawned for a given time value.
	Uses an internal LastSpawnIndex to avoid spawning the same particles twice.
	- Modified GetLastParticleIndexAtTime():
	If the CSV file doesn't have time informations, returns false and set the LastIndex to the last particle
	If desiredTime is smaller than the first particle, LastIndex will be set to -1
	If desiredTime is higher than the last particle in the csv file, LastIndex will be set to the last particle's index

Change 3933425 by Shaun.Kime

	Made the spreadsheet debugger capable of capturing in-world systems as long as they are solo'ed.

	#tests have been running with it for several days, debugging real-world assets stably

Change 3933986 by Frank.Fella

	Niagara - Fixed a bug with merging where added dynamic inputs which changed names could end up with the wrong rapid iteration parameters.  Also fixed an issue where added dynamnic inputs would be renamed when they didn't need to be.

	#Tests Engine tests and fixes custom repro.

Change 3934052 by Frank.Fella

	Niagara - Added a console command to dump rapid iteration parameters for a system or emitter asset.

Change 3934436 by Simon.Tovey

	Fixes for sprite VF depth test failure issue

Change 3934658 by Frank.Fella

	Niagara - Make disabled modules visually distinct.

	#Tests General stack use.

Change 3935383 by Shaun.Kime

	Fixing mac compile errors

	#tests n/a
	#jira UE-55911

Change 3935420 by Yannick.Lange

	Niagara parameter UI first version.

Change 3935482 by Yannick.Lange

	Add missing files for parameters

Change 3935591 by Shaun.Kime

	more macos compile

	#tests na

Change 3935637 by Shaun.Kime

	Reverting to prior behavior

	#tests na

Change 3936541 by Yannick.Lange

	Remove the merge up menu entry for set variables module items.

Change 3936841 by Wyeth.Johnson

	Bool comparison dynamic input

Change 3936895 by Simon.Tovey

	A few perf improvements and fixes to the SetSolo transfering between solo and batched so all lightning sims can run batched after they're warmded up.

Change 3936899 by Simon.Tovey

	Missed a file

Change 3937178 by Krzysztof.Narkowicz

	Fixed bHasSkipOutputVelocityParameter for shaders without PreviousLocalToWorldMatrix (e.g. particles)

	#jira UE-50914

Change 3937222 by Yannick.Lange

	Random event spawn

Change 3937292 by Yannick.Lange

	Fix Adding a new parameter then renaming it the default name deletes the new parameter
	#jira UE-55994

Change 3938472 by Yannick.Lange

	Fix new parameters in emitters saving by using the editable emitter.

Change 3938474 by Yannick.Lange

	- Store graphs as weak object pointers in the parameter UI.
	- Allow right mouse menu on parameters in the system toolkit.
	- Refresh only the parameter actions when deleting an entry instead of refreshing the graphs aswell.

Change 3938525 by Yannick.Lange

	Fix creating an unique FName every tick for parameterstores by using a FString instead.

Change 3938596 by Shaun.Kime

	Macos compile

	#tests n/a

Change 3939362 by jonathan.lindquist

	Adding a new Component Spacing input to the debug value functions. This will allow users to make better use of space when debugging values.

Change 3939365 by Shaun.Kime

	Back out changelist 3936895 and 3936899
	Leaving in some changes around stats as they should be harmless.
	These changes were removed b/c they added poor perf to Jonathan's dissolve effect and also caused multiple tests to fail in engine tests.

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939367 by jonathan.lindquist

	Adding greyscale output

Change 3939368 by jonathan.lindquist

	Changing the pin order

Change 3939377 by Shaun.Kime

	Allows the unnormalized lut table flag to be copied over

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939379 by Yannick.Lange

	Rename FParameterStore Name to DebugName to prevent loading a FName into a FString with existing assets.

Change 3939382 by Shaun.Kime

	Adding the ability to have a default curve index with a custom switch node.

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939383 by Shaun.Kime

	Converting existing curves over to using the new default pin

	#tests all tests pass besides Yannick's FName/FString warning, with the exception of BPTimeControl, Hypnotizer, and MeshOrientation, which seem to be off by one frame, but have been consistently off for several days (CL 3929823 had same issues for me)

Change 3939501 by Shaun.Kime

	Submitting missing files

	#tests n/a

Change 3939580 by Wyeth.Johnson

	Default curve indexing to three more DIs

Change 3940122 by Yannick.Lange

	Parameters view: - Jump to new parameter added and request rename for new parameter.
	- Remove adding parameters to the parameterstore when a pin is requested.
	- Only show make new parameters in the dropdown to add a new parameter.
	- Use Sections of UI as types instead of int32.

Change 3940214 by Bradut.Palas

	fix crash when rename skeletal mesh user variable
	#jira UE-55236

	#tests none

Change 3940215 by Bradut.Palas

	undo not working in graph editor
	#jira UE-55466

	#tests none
	Overriding the BreakPinLinks methods to include a transaction

Change 3940250 by Bradut.Palas

	Creating stats tab in module toolkit to show LastOpCount

	#tests none

Change 3940251 by Bradut.Palas

	#jira UE-55684 create inline menus for stack

	#tests none

Change 3940262 by Simon.Tovey

	Back out changelist 3939365 with fixes
	Tests all now pass

Change 3940333 by Shaun.Kime

	Nullptr check

	#tests n/a

Change 3940338 by Krzysztof.Narkowicz

	Niagara sprite particles - implemented get previous position in order to fix sprite particle motion vectors

	#jira UE-52865

Change 3940407 by Yannick.Lange

	Create pin on map get and set node when dragging without recompiling the graph.

Change 3940534 by Shaun.Kime

	Making sure that collision returns defaults of 0 if nothing was found.

	#tests auto-tests that have been passing still pass

Change 3940709 by Simon.Tovey

	Temp hacks for the skeletal mesh painting issues.

Change 3940960 by Yannick.Lange

	Only build parameter menu once when graphchanged is called multiple times in a frame.
	Also use the existing metadata from graph to build the parameter menu, because the metadata already looped through all nodes and pins.

Change 3941019 by Yannick.Lange

	Meta data UI refresh next tick to avoid refreshing multiple times a tick.

Change 3941853 by Simon.Tovey

	Adding more dynamic parameters

Change 3941957 by Frank.Fella

	Property Editor - Fix issues with property row generator to support the niagara stack.
	+ Make the detail tree node name accessible through the interface, and fix the implementations for category group and property item.
	+ Add a temporary fix for passing instance customizations from the property row generator to the detail property row through the detail layout builder.  This should be unified in a nicer way, but this will work for the time being.

Change 3942174 by Frank.Fella

	Niagara - Stack UI Pass
	+ Advanced rows are not handled properly per item.
	+ Expanded and scroll state is now saved in editor data per asset.
	+ Added a "View Options" drop down for showing all advanced rows, and for showing/hiding outputs.
	+ Added an option to collapse all stack items from the emitter header context menu.
	+ Added support for "Edit Conditions" on module and dymaic inputs which will enable and disabled an input based on the value of another input.  This includes showing a checlbox inline for the edit condition toggle input.
	+ Added support for "Visible Conditions" on module and dynamic inputs which will hide and show inputs based on the value of another input.
	+ Removed the pencil icon for locally editable values in the stack.
	+ Fixed issues with invisible search results.  It's still possible for a search result to not highlight the text correctly, but the outline never disappears.
	+ Removed pinning for module inputs.
	+ Fixed the event handler properties so that they use the property row generator instead of an embedded details panel.
	+ Unified indent handling across all stack classes.
	+ Unified stack editor data across all stack classes.

Change 3942427 by Simon.Tovey

	Another hack for vertex painting tool

Change 3942453 by Simon.Tovey

	Some more hacks for skel mesh vertex painting until Jurre's rework is ready.

Change 3942799 by Yannick.Lange

	Rebuild metadata, input and output parameters UI next frame instead of on every graph changed call.

Change 3942833 by Frank.Fella

	Niagara - Fix the visibility of the advanced expander item.

Change 3942923 by Yannick.Lange

	Revert using metadata for parameters to looping through pins to find parameters in maps not connected to anything.
	Temporary fix to remove used parameters if they are found in the graph.

Change 3943094 by Wyeth.Johnson

	Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Location/SphereLocation.uasset to revision 5

Change 3943154 by Wyeth.Johnson

	Metadata to sphere location module

Change 3943256 by Wyeth.Johnson

	Testing out sweet new metadata control

Change 3943374 by Olaf.Piesche

	Fixing mesh motion blur

Change 3943382 by Olaf.Piesche

	Turning on base pass velocities until I can fix separate vel pass for particles

Change 3943471 by Yannick.Lange

	Emitter view stats only show particles count. Use Niagara.EmitterStatsFormat 0 and 1 to switch between all data and only particle count. Default is 1 to only show particle count.

Change 3943497 by Yannick.Lange

	Paramater map remove FTickableEditorObject and use SWidget::Tick

Change 3943589 by Olaf.Piesche

	-Fix for linear impulse (offset by 1/2*velocity*dt instead to avoid distracting bounciness)
	-Collision Rest; add after impulse modules to make particles rest if in collision under threshold velocity magnitude

Change 3943644 by Olaf.Piesche

	Turn shader development mode back off

Change 3943718 by Olaf.Piesche

	Fix vertex factories

Change 3943776 by Olaf.Piesche

	Properly calculate old particle position using dt for velocity rendering

Change 3943780 by Frank.Fella

	Niagara - Fix ensure when removing dynamic inputs due to incorrect logic which would have left unused nodes in the graph.

Change 3943870 by Yannick.Lange

	Parameter drag drop window

Change 3943994 by Frank.Fella

	Niagara - Fix some editor settings not saving across sessions.

Change 3944056 by Shaun.Kime

	Updating to replace values reset when Wyeth resaved files.

	#tests DrawOrderGPU, DrawOrder, and TestDifferentInactiveEmitters now pass

Change 3944068 by Simon.Tovey

	Back out of my changes to vertex painting and replaced with Jurre's fixes.

Change 3944174 by Frank.Fella

	Niagara - Fix stack categories so that they don't freak out when the stack is refreshed, and also remove the uncategorized heading and move uncategorized inputs to the top.

Change 3944313 by Shaun.Kime

	Updated screenshots after motion blur

Change 3944321 by Shaun.Kime

	Fixing error message to be clearer about a disconnected Get node.

	#tests n/a

Change 3944351 by Shaun.Kime

	Making safe against weak pointers going away.
	Track error encountered by Jonathan.

	#tests n/a

Change 3944368 by Yannick.Lange

	Remove automatic adding prefix "particles."  when renaming functioninput.

Change 3944383 by Shaun.Kime

	Just adding some more nullptr check

	#tests n/a

Change 3944384 by Shaun.Kime

	Providing more context for a check that existed previosuly  and was encountered by Wyeth today

	#tests n/a

Change 3944872 by Yannick.Lange

	Remove old material parameter node.

Change 3945209 by Shaun.Kime

	Fixing possible infinite recurson on child array size of zero

	#tests n/a

Change 3945865 by Yannick.Lange

	Spreadsheet filter for output attributes

Change 3946091 by Simon.Tovey

	Per particle sorting for translucent sprites and meshes

Change 3946095 by Simon.Tovey

	Updated screens for dynamic param tests

Change 3946378 by Olaf.Piesche

	Another sprite motion blur fix

Change 3946864 by Shaun.Kime

	SkinnedMesh per-instance data requires 16 byte alignment due to usage of FMatrix. We were not guaranteeing that in our per-instance data system. We are now enforcing that to be true by aligning all memory size requests.

	#tests autotests pass

Change 3946928 by Wyeth.Johnson

	Skeletal mesh location metadata. THIS VERSION ALSO CRASHES ON SAVE FYI

Change 3946934 by Frank.Fella

	Niagara - Clean up rapid iteration parameters on compile.

	#Tests - Fixes the jira below, all auto tests which were currently passing still pass, and GDC effects load and look correct.

	#jira UE-55932

Change 3946936 by Frank.Fella

	Niagara - Fix crash when undoing adding a dynami input.

Change 3947213 by Simon.Tovey

	Fix for thread safety in collision data interface.
	Previously I'd made them thread safe between VM chunks but they already weren't safe between system instances.

Change 3947279 by Simon.Tovey

	Fixed thread safety issue with niagara global dynamic buffer

Change 3947788 by Simon.Tovey

	Fix enum property warnings

Change 3947849 by Olaf.Piesche

	Normalize orientation quats. Safety first.

Change 3947877 by Frank.Fella

	Niagara - Fix a crash when editing meta-data for a module currently open in a system or emitter editor stack.  This updates the FNiagaraStackFunctionInputBinder to track the lifetime of the default pin correctly.

Change 3948445 by jonathan.lindquist

	Inverting alpha output

Change 3948615 by Olaf.Piesche

	Don't access data layouts that are invalid because their bindings don't exist

Change 3949361 by Yannick.Lange

	Command to expand all groups and collapse all items of those groups in the stack.

Change 3949365 by Yannick.Lange

	Missing file for change 3949361

Change 3951123 by Simon.Tovey

	Fix bug with dynamic parameters in Niagara mesh particle VFs

Change 3951199 by Simon.Tovey

	Fix for issues caused by unsafe reads of GT data from RT

Change 3951293 by Olaf.Piesche

	Workaround for jittering particles with collision at rest state; will need to revisit after GDC

Change 3951533 by Yannick.Lange

	Collapse parameter menu by default

Change 3952106 by Frank.Fella

	Niagara - Fix data interface input initialization when inserting modules and dynamic inputs.  We now put all inputs into categories in the stack and this code didn't handle that.

Change 3954809 by Frank.Fella

	HoudiniNiagara - Add include to fix CIS incremental build.

Change 3954857 by Frank.Fella

	Niagara - Accept newer versions of 3 automated tests images as they are stable and still look correct for what they are testing.

Change 3954935 by Frank.Fella

	Niagara - Fix a crash in the skeletal mesh sampling info details customization when a mesh has no skeleton.

Change 3954969 by Simon.Tovey

	Compile fix for gpu emitters

Change 3955012 by Frank.Fella

	Niagara - Fix clang and deprecation warnings.

Change 3955988 by Olaf.Piesche

	Fixing collision queries (separating line query trace direction and velocity, so we can look a frame ahead properly); various fixes to the impulse modules; rest module now allows for color change when particles are set to rest. This checkin should stabilize collision dynamics substantially.

Change 3956730 by Yannick.Lange

	Cleanup parameter

Change 3957065 by Bradut.Palas

	enable/disable mechanism for renderers

	#tests none

Change 3957802 by Olaf.Piesche

	-Removing Velocity parameter from collision query DI, since velocity at query time is known and can just be passed along in temporary parameter; this stops the compiler from falling over in unity builds and also makes the Perform Query function more sane as an actual line check
	-Put some safeguarding against non-collisions (v.n>0) reported as intersections into the collision query module to avoid instances of particles being pushed through geometry
	-Updated modules to use the new function signature

	#tests modular explosion test map, EngineTests

Change 3957804 by Olaf.Piesche

	Updated tests for 3957802

Change 3957859 by Frank.Fella

	Niagara - Add missing #if to fix some of the nightly build errors.

Change 3958065 by Olaf.Piesche

	Fix GPU sim hlsl for the collision data interface; should make GPU collision bounce test run again

Change 3958302 by Olaf.Piesche

	modified test for sane depth bounds; accepting new results; some changes to hlsl for collision data interface

Change 3959007 by Simon.Tovey

	Further defining the barrier between GT and RT data.

	Not finished yet, especially for GPU sims but we're heading in the right direction.

Change 3960004 by Bradut.Palas

	QOL change, now committing search text in the stack (pressing enter) will jump to the next occurrence.

	#tests none

Change 3960019 by Frank.Fella

	Niagara - Preemptively fix up stack related header includes to avoid manual merges.

Change 3964217 by Bradut.Palas

	Fixing compile issue after renderer enable feature(the Isolate features require the WITH_EDITORONLY_DATA preprocessor directive to be enabled)

	#tests none

Change 3964581 by Frank.Fella

	Niagara - Get things compiling again after merge.  Mostly include fixes and commeting out lots of sequencer related stuff that needs to be fixed.

Change 3965057 by Frank.Fella

	Niagara - Fix compile issues in the houdini plugin.  Also add the houdini pluging to EngineTest so that it compiles by default when running tests.

Change 3965075 by Frank.Fella

	Niagara - Fix another include issue that was caught on the build machine.

Change 3965308 by Frank.Fella

	Niagara - One more header fix.  Should fix the win64 build in CIS.

Change 3965313 by Frank.Fella

	Niagara - Fix in editor playback.  The timeline data is still broken.

Change 3965482 by Yannick.Lange

	Stack source taken apart into different files.

Change 3965863 by Shaun.Kime

	Fixes scope level variable definition causing my local build to fail

	#tests n/a

Change 3965866 by Shaun.Kime

	Crash fix when the module is missing. Now show an error message as well as checking for script validity before calling method on it

	#tests n/a

Change 3968174 by Frank.Fella

	Niagara - Fix more merge fallout.  The emitter/system editor timeline now matches the stack data again.

Change 3968183 by Frank.Fella

	Niagara - Delete commented out include from merge.

Change 3972162 by Frank.Fella

	Niagara - Updated level sequence testing assets.

Change 3972880 by Shaun.Kime

	Merging using DevNiagaraToGDC2018
	Allowing disabled modules to still influence parameter maps.

	#tests n/a

Change 3973269 by Shaun.Kime

	Disabling warning about divide by zero as it is often incorrect

	#tests n/a

Change 3973273 by Shaun.Kime

	Forcing all three planes to be GPU

	#tests n/a

Change 3973307 by Shaun.Kime

	Fixing CIS win32 errors

	#tests n/a

Change 3973374 by Shaun.Kime

	Fixing minor static analysis warnings

	#tests n/a

Change 3976107 by Shaun.Kime

	Updating multiple files as they have the unversioned file warning

	#tests auto tests now show green

Change 3976114 by Shaun.Kime

	Taking snapshots after the integration for time control to clear automated tests. Frank was uncertain about the current behavior being correct, but didn't want to hold up integration for that.

	#jira UE-57117

Change 3976119 by Shaun.Kime

	Makiing GPU shaders contain the dependencies and the compile id's and other items so that they update properly.

	#tests auto-tests now pass

Change 3976449 by Shaun.Kime

	Adding additional debugging to logs

	#tests n/a

Change 3977172 by Frank.Fella

	Niagara - Fix issues with the level sequence integration for niagara caused by the integration from main, and accept the new test image.  This code should be updated at some point to use the new channel blending in sequencer.

	NOTE: There is still a timing issue that is evident in the automated test screen shot due to float timing and rounding issues in niagara, but the sequencer code is functioning correctly.

Change 3977362 by Bradut.Palas

	UE-55601 curve snapping not working in Niagara curve editor

	#tests none

Change 3977363 by Bradut.Palas

	exposed added external asset for function input so it would appear in context menu in the Niagara stack.

	#tests none

Change 3977368 by Bradut.Palas

	#jira UE-51052 If you undo an emitter rename we get invalid values
	The CachedUsageInfo got emptied but it didn't get restored by the undo, sending the system in an endless Compile() loop
	Added a Modify() call in the UNiagaraScriptSource::InvalidateCachedCompileIds()

	#tests none

Change 3978716 by Shaun.Kime

	Fixing half of CIS static analysis warnings and localization symbol dupe warnings from Jamie Dale

	#tests auto tests pass other than known level sequence test

Change 3978857 by Shaun.Kime

	The map SpawnTest niagara actor didn't have its wait for compilation flag set, potentially leading to artifacts. Disabling for now as that didn't resolve the issue.

Change 3979594 by Shaun.Kime

	Potential fix for cook on Orion

	#tests n/a

Change 3979713 by Shaun.Kime

	Fixing several more CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale

	#tests n/a

Change 3980017 by Shaun.Kime

	Fixing CIS static analysis warnings as well as duplicate localization string warnings from Jamie Dale

	#tests n/a

Change 3981859 by Shaun.Kime

	Fixing crash in Paragon when the normals buffer was not present during startup with just UI screens.

	#jira UE-57188

	#tests got through to paragon main screen, related auto-tests pass

Change 3982685 by Shaun.Kime

	For some reason, when Lightmass is spinning off workers, the render thread is null, causing us to trigger checks that we shouldn't trigger when killing of system instances.
	#jira UE-57214

	#tests all auto-tests pass

Change 3983902 by Simon.Tovey

	Speculative fixes for mac errors regarding niagara vertex decls.

Change 3984023 by Andrew.Rodham

	Sequencer: No longer upgrade bIsInfinite for section types that do not support open ranges

Change 3986727 by Wyeth.Johnson

	Fixed add velocity from point to work in more situations, not cause errors regardless of stack location, made it more programmable with inputs, and added metadata

Change 3988114 by Wyeth.Johnson

	fixed color and inherit parent vel

Change 3989175 by Simon.Tovey

	Improved VM error reporting.

	#tests engine tests

Change 3995007 by Yannick.Lange

	Parameter menu in system layout

Change 3995192 by Yannick.Lange

	Fix niagara script details panel search

Change 3995291 by Yannick.Lange

	Parameter menu tooltip fix

Change 3997804 by shaun.kime

	Lookup table is off for this. Keys are 0,0 and 1,1, so you'd expect normalized age as a sampler to just return the same value from lookup. If LUT is disabled, this is true. If LUT is enabled, it isn't, especially the farther one gets from 0.

Change 3998124 by Simon.Tovey

	Fixed Curve LUT generation

	#tests editor
	#jira UE-57604

Change 3998286 by Wyeth.Johnson

	Fixed normalized execution index to, you know, work.

Change 4000324 by Shaun.Kime

	Replacing a thread-safety issue where we get an enum on an as-needed basis. This was causing crashes in cooking as you cannot find from the global table while serializing.

	#tests have not gotten the crash since

Change 4000428 by Bradut.Palas

	UE-55750 focus curve editor when "show" button is pressed
	UE-55791 user variable curves cannot be shown in the Curve tab
	These issues were related and touched the same area of code, so I fixed them together. UE-55791 is basically just getting curve data from the system exposed variables too.

	#tests none

Change 4001094 by Frank.Fella

	Niagara - Fix slowdown in the metadata editor due to delegate rebinding.

Change 4001098 by Frank.Fella

	Niagara - Remove the tool tip from the additional options drop-down for modules since it covers the drop down menu.

Change 4001133 by Bradut.Palas

	Fix curve editor getting focused each time a curve was changed.
	#jira UE-57708

	#tests none

Change 4001253 by Frank.Fella

	PropertyEditor - Fix issues with external root handling.
	+ Fix external nodes not being cleaned up correctly when custom node builders rebuild children.
	+ Fix expanded state being trampled when processing external nodes due to the expanded nodes list being emptied every time RestoreExpandedItems was called.
	+ Fix performance issues with refreshing during tick by moving all calls to RestoreExpandedItems to UpdateFilteredDetails, and then only calling UpdateFilteredDetails once per tick as needed instead of per root property node and per root external node.

Change 4003365 by Shaun.Kime

	If the physical material has gone away, make sure to set value values. Note that if this data interface is going to go on in parallel to the game thread, we'll need something more sophisticated.

	#tests Win64 tests pass

Change 4003367 by Shaun.Kime

	Making sure that the system has finished compiling before we begin cooking.

	#tests n/a

Change 4003374 by Frank.Fella

	Niagara - Fix a crash when adding and removing modules and dynamic inputs with data interfaces.

	#jira UE-57749

Change 4003696 by Shaun.Kime

	Getting rid of whitelist, now open on all platforms.

	#tests n/a

Change 4005368 by Shaun.Kime

	Fixing compile error on Linux

	#tests n/a

Change 4013779 by Shaun.Kime

	Interpolated spawn on GPU does not yet work but checkpointing work.
	+ Added AdditionalDefines to the VMCompileId, switched interpoalted spawn to use that
	+ Added rough interpolated spawn support to translator by refactoring away from specific calls and hard-coded update/spawn somewhat... could improve for events
	+ Revised shader variables away from Phase0/Phase1 terminology to the true Update/Spawn meaning. Leaving the phase numbers as an implementation detail within the usf.
	+ Added ToString to ParameterStores for debugging
	+ Changed GPU ExecIndex() logic to actually work similar to the VM

	#tests collision gpu fails

Change 4015355 by Simon.Tovey

	Persistent IDs final.

	Still need to change the compile ID parts over to use the new additional defines but the core functionality is in.

	#tests editor + engine tests

Change 4018445 by Simon.Tovey

	Some missing assets

Change 4021647 by shaun.kime

	Moving jonathan's DebugParticleData to Niagara Extras

Change 4024809 by Yannick.Lange

	Parameter map hover text using metadata description.

Change 4025042 by Wyeth.Johnson

	Dogfooding the skeletal Mesh location module w/ comments, reroute pins, map gets and sets, metadata, tooltips, etc.

Change 4025236 by Shaun.Kime

	Working on getting interpolated spawning working. Submitting to get assistance from Simon.

	... PLEASE DON'T SYNC UNLESS YOU'VE SPOKEN TO ME...

	#tests collision test on GPU is better, but not yet right.. ribbon id emitter is ensuring on LUT table generation

Change 4025372 by Shaun.Kime

	Making the debug particle data stay the same size as the base particle for easier debugging.

	#tests n/a

Change 4025701 by Shaun.Kime

	Debug asset for Simon

	#tests n/a

Change 4027865 by Shaun.Kime

	Fixing parameter map stores to properly handle reset. Previously was leaving around padding info from previous version of the script which could be totally wrong.

	#tests now don't crash

Change 4029638 by Wyeth.Johnson

	Refactor Skeletal mesh location module to test some ideas on coding standards and shake out workflow issues

Change 4030135 by Shaun.Kime

	Interpolated spawning now works on the GPU.

	#tests collision gpu has stray collisions and the GenerateLocationEvent was recently updated that broke . will fix in a later update

Change 4030197 by Wyeth.Johnson

	Refactor static mesh location module

Change 4033437 by Simon.Tovey

	Adding a few simple new functions for direct access to vertex positions for cannabis.cod3r.

Change 4033937 by Shaun.Kime

	Setting the wait for compilation flag

	#tests now pass consistently

Change 4034391 by Shaun.Kime

	Created a parameter map default node to start default call chains.Updated standard modules and dynamic inputs.

	#tests all previoulsy passing tests pass

Change 4035002 by Shaun.Kime

	Updated to work with latest main integration

	#tests n/a

Change 4035523 by Wyeth.Johnson

	Refactor Cone stuff to coding standards, replace some things with functions

Change 4035672 by Shaun.Kime

	Fixing build warnings

	#tests n/a

Change 4036887 by Wyeth.Johnson

	Some metadata, some optimization, some additional refactoring and swapping in functions. Straight Dogfoodin'

Change 4037132 by Shaun.Kime

	Adding GPU test versions of several assets

Change 4037241 by Wyeth.Johnson

	Optimizing, metadata, and making some coding standards changes

Change 4037436 by Wyeth.Johnson

	Fixing a pointless module to make it... pointful?

Change 4037629 by Frank.Fella

	Niagara - Fix issues with data interfaces as parameters
	+ Collect data interface reads and writes from parameter maps during compilation so they can be hooked up a runtime.
	+ Add new runtime parameter stores for systems and emitters at runtime which bind the exposed data interfaces into the execution contexts.
	+ Fix the editor code which updates the compiled data interfaces so that it updates the correct ones regardless of where they are defined.
	+ Fix an issue where failed compiles weren't being propgated to the UI correctly.

Change 4037832 by Shaun.Kime

	Properly handling nullptr references

	#tests deleting a module from the stack after it was recently refreshed now doesn't crash

Change 4037917 by Wyeth.Johnson

	Fix add velocity from point (needed begin defaults), reorg, comment and metadata

Change 4038250 by Wyeth.Johnson

	Big refactor of spawn per unit

Change 4038665 by Shaun.Kime

	Events now take parameter map in/out pins

	#tests now the events auto-tests should pass

Change 4038723 by Shaun.Kime

	Now renderers can say if they are compatible with the SimTarget mode.

	#tests now changing to GPU doesn't crash a light renderer

Change 4038731 by Shaun.Kime

	Missing file from prior checkin

	#tests n/a

Change 4038742 by Shaun.Kime

	Attempting to fix editor build, which is unfortunately fine on my machine

	#tests n/a

Change 4040069 by Wyeth.Johnson

	Refactor of Event Generator and Event Receiver, new coding standards for events

Change 4040377 by Wyeth.Johnson

	Refactor the solver to adhere to coding standards (and remove some reroute pins, sorry Shaun)

Change 4040639 by Wyeth.Johnson

	Vector Noise Force refactor and optimization

Change 4041031 by Shaun.Kime

	Making the modulo functions on the gpu return a value.

	#tests passes cook on PS4 and gets past this in compile on Mac

Change 4041254 by Wyeth.Johnson

	Refactor Point Attraction, change some behavior also

Change 4041999 by Yannick.Lange

	Parameters refactor:
	- Find parameters and references in graph
	- Renaming parameters, includes renaming all pins in the graph
	- Removing parameters
	- Find metadata when finding parameters, so we are not looping through all nodes/pins twice
	- Parameters list supports multiple emitters in systems

Change 4042058 by Simon.Tovey

	Refactored GPU parameters.

	- Shader now uses the DI default object to create the correct parameters struct.
	All parameter and buffer management now being handled inside this parameter struct.
	This allows far more encapsulated code for each DI.
	Allows us to reamove the GPU buffers from and the Scene texture refs that were in the base DataInterface class.
	Simplifies the API and process of implementing DI's on the GPU considerably.

	- Removed all existing GPU buffer support code and usage. All DIs now use a parameters struct.

	- Have moved tons of curve code into the base class, simplifying the child implementation classes.

	- Implemented GPU curve interpolation.

	- Removed bAllowUnnormalizedLUT. Confusing and now unnessessary. All curves do this by default.

	- Modified FNiagaraShaderMapId to use the latest FNiagaraCustomVersion::LatestScriptCompileVersion and bumped it.

	- Created NiagaraCore module and moved a few classes into it. Anything needed by both the shaders and runtime should be here.
	- Refactored DI hierarchy to base from a new UNiagaraDataInterfaceBase which is inside NiagaraCore.

	- Removed constness from many UStruct/UEnum/UClass pointers. Technically we don't ever need these to be non const so initialy coded as const. Some existing engine code however requires these be non const so had to propagate that back through our code.

Change 4043427 by jonathan.lindquist

	Submitting a material function that will allow users to reproduce mesh surfaces.

Change 4043448 by Olaf.Piesche

	Async GPU buffer readbacks and updates

Change 4043679 by Shaun.Kime

	Fixing Mac compile issue. Not sure if correct, but unused code so good for now.

	#tests n/a

Change 4044000 by Simon.Tovey

	static analysis fix

Change 4044001 by Simon.Tovey

	Fix for gpu scripts with multiple curves.

Change 4044124 by Yannick.Lange

	Fix persistent guid for parameter map set pins.

Change 4044230 by Simon.Tovey

	I didn't forget to check these in. Nothing to see here.... *whistling*....

Change 4044584 by Bradut.Palas

	Module dependency properties are now available (to be used by technical artists before the functionality is done and submitted)
	#jira UE-58200

	#tests none

Change 4044663 by Wyeth.Johnson

	Jitter position needed begin defaults, got a refactor which I was in there

Change 4044894 by Yannick.Lange

	Rename parameter and all referenced pin when renaming a pin on a map set or get.
	Also fixes renaming a pin not deleting the old metadata.

Change 4045383 by Wyeth.Johnson

	Fix up and comment/tooltip on mesh rotation, look at, and rot rate

Change 4045488 by Wyeth.Johnson

	Update Age reorg just for readability

Change 4045799 by Shaun.Kime

	Reworking test art to get rid of known issues and put known issues into their own assets.

Change 4046328 by Wyeth.Johnson

	Some optimizations, options to polar/cartesian, starting in on Dynamic Inputs

Change 4046728 by Shaun.Kime

	Fixed error where we were writing to Loca.Module.EventVelocity instead of Local.Module.EventVelocity.

Change 4047423 by Frank.Fella

	Niagara - Fix post load code for the assignment node which was not conditionally post loading another object it was using which now has a custom post load.  This resulted in strange pin renaming which was breaking merging and automated tests.

Change 4047425 by Frank.Fella

	Niagara - Make the merge manager a little more resistant to malformed stacks.

Change 4047788 by Bradut.Palas

	#jira UE-57902 Module input sort priority

	#tests none

Change 4048063 by Yannick.Lange

	Fix don't show context menu on parameter view categories.
	#jira UE-57196

Change 4048068 by Yannick.Lange

	Fix create system from emitter
	#jira UE-57186

Change 4048132 by Yannick.Lange

	Add missing includes.

Change 4048269 by Shaun.Kime

	Removing ensure that we log later

	#tests n/a

Change 4048273 by Shaun.Kime

	Really doing it this time

	#tests n/a

Change 4048595 by Yannick.Lange

	Fix niagara if node input disconnect on output pin rename.
	#jira UE-58095

Change 4049640 by Simon.Tovey

	Daft mistake in curve hlsl gen.

Change 4050270 by jonathan.lindquist

	Submitting a module that lerps each of a particle system's intrinsic particle values. Each variable set utilizes an opt-in bool.

Change 4050282 by jonathan.lindquist

	Submitting newly formated Mesh Reproduction modules. They now contain documentation, be fully generalized and meet our updated coding standards.

Change 4050566 by Olaf.Piesche

	-More fixes and changes for async gpu buffer readback
	-removed more CPU intervention; spawning and death now happen largely without CPU direction, other than determining the number of particles to spawn
	-Added piping number of vert indices per instance from the renderer down to the GPU context and CS; as a result, GPU simulated mesh emitters are working again; this will need a bit of additional work to handle multiple renderers (will need multiple DrawIndirect parameter buffers reflecting the different renderers)
	-General cleanup and prettification

Change 4050907 by Frank.Fella

	Niagara - Add support for default dynamic inputs on modules and dynamic inputs.

Change 4051436 by Simon.Tovey

	Forcing a refresh of curve LUTs on assets with old versions.

Change 4051463 by Simon.Tovey

	Compile fix

Change 4051900 by Frank.Fella

	Niagara - Fix linux warning.

Change 4052253 by Olaf.Piesche

	GPU sim interpolated spawn fixes - Look Ma, no gaps!

Change 4052321 by Frank.Fella

	Niagara - Enable the level sequence test.

Change 4052353 by Shaun.Kime

	Renamed variable after Wyeth's change

	#tests MeshOrientationTests now pass

Change 4052627 by jonathan.lindquist

	Submitting a new spline function.

Change 4052648 by Shaun.Kime

	PS4 development builds don't seem to be able to remove generated data for structs like this even though it is in a non-editor build.

	#tests n/a

Change 4052661 by Olaf.Piesche

	-Avoid branching on every OutputData operation by allocating a scratch instance at the buffer end and setting the default index from AcquireIndex to that.
	-bit of shader code cleanup

Change 4052706 by jonathan.lindquist

	Adding a module that supports a single segment spline

Change 4052712 by jonathan.lindquist

	Adding a below threshold output to the direction and length safe function

Change 4052786 by jonathan.lindquist

	Submitting a new height lerp function

Change 4053126 by jonathan.lindquist

	Submiting a function that calculates a triangle's surface area.

Change 4053132 by jonathan.lindquist

	Changing the category to geometry

Change 4053141 by jonathan.lindquist

	Moving the asset back to a generic math category

Change 4053166 by jonathan.lindquist

	Submitting a new threshold function that removes threshold downtime.

Change 4053564 by Shaun.Kime

	Added staging to ini as requested by cook

	#tests n/a

Change 4053619 by Shaun.Kime

	Fixing defaults

	#tests used by Orion art

Change 4054171 by Yannick.Lange

	Remove bold font for parameters.

Change 4054183 by Yannick.Lange

	Syncing system exposed parameters and parameters list. Includes adding, removing and renaming parameters.

Change 4054313 by Wyeth.Johnson

	Refactor spawnrate to (mostly, other than a bug) conform to coding standards, and set begin defaults on a few things.

Change 4054840 by Shaun.Kime

	Fixing redundant branch for CI

	#tests n/a

Change 4055492 by Shaun.Kime

	Updating compile version since I changed the usf

	#tests n/a

Change 4055550 by Shaun.Kime

	Disabling rendering of middle module as it differs between machines.

	#tests LevelSequenceTestsNiagara now passes

Change 4056256 by Shaun.Kime

	Disabling the ensure and turning into log statements for curve copying

	#tests n/a

Change 4056287 by Shaun.Kime

	Now using GLobalCompileShader. There are still issues with cooking as there is sometimes a runtime streaming error that we didn't read in the correct amount of data. I think the logic for when/if we stream out the compiled shader might still need TLC.

	#tests n/a

Change 4056381 by jonathan.lindquist

	A new quat to angle axis and angle axis to quat conversion mat function

Change 4056513 by Frank.Fella

	Niagara - Fix crashes for default data interfaces where the pin default was empty or the data interface wasn't initialized.

	#jira UE-58789

Change 4056734 by Frank.Fella

	Niagara - Drag and drop for modules.

Change 4056880 by Simon.Tovey

	Replacing engine tests shots for RibbonID test.
	Some slight changes introduced, likely curve or recent module changes.

Change 4056894 by Bradut.Palas

	UNiagaraStackEntry Error refactoring + Module dependency warning feature.
	#jira UE-58199, UE-58200

	#tests none

Change 4056916 by Bradut.Palas

	Add missing files from shelved changelist.

	#tests none

Change 4056937 by Bradut.Palas

	#jira UE-54678 The skeletal mesh customisation did not update when the mesh was changed through the data interface or mesh editor

	#tests none

Change 4057014 by Frank.Fella

	Niagara - Fix cis initializer order warning.

Change 4057542 by Bradut.Palas

	#jira UE-58554 Remove Refresh UI button from Niagara script editor
	#jira UE-58555 Remove Numeric Output Type Selection Mode from Niagara script UI

	#tests none

Change 4057702 by Bradut.Palas

	The stack editor priority in the variable metadata now properly has zero as default value.
	#jira UE-58740

Change 4057758 by Frank.Fella

	Niagara - Fix text wrapping for error items.

Change 4057990 by Bradut.Palas

	Stack error tweaks (added error count to the stack errors button and also updating icon according to highest severity issue in the subtree)

	#tests none

Change 4057996 by Shaun.Kime

	Trying to fix the static analysis header tool error in CIS

	#tests n/a

Change 4058027 by Shaun.Kime

	Fixing compilation on other platforms

	#tests compiles on playstation

Change 4058356 by Frank.Fella

	Niagara - Fix an assert that happens when adding a module or dynamic input with a boolean or enum input.

Change 4058428 by Frank.Fella

	Niagara - Fix a crash when removing an input from a set variables node in the stack which was caused by the function losing an input without the stack being refreshed.  This also fixes an issue where add and remove actions on a set variables module wouldn't take affect until the graph was compiled.

Change 4059924 by Wyeth.Johnson

	Rollback //UE4/Dev-Niagara/Engine/Plugins/FX/Niagara/Content/Modules/Spawn/Velocity/AddVelocity.uasset to revision 5

Change 4060256 by Wyeth.Johnson

	Forces are now dependent on a solver

Change 4060430 by Wyeth.Johnson

	Velocity modules depend on a solver

Change 4060949 by Shaun.Kime

	Fixing pragma once definition as well as a possible null deref

	#tests n/a

Change 4060955 by Shaun.Kime

	Fixing due to changes in defaults

	#tests all now pass PC

Change 4061000 by jonathan.lindquist

	Debug particle material improvements which includes comments in the shader, rearranged layout with a vector 2 input for particle id, new texture, a new instance that includes "focus masking"

Change 4061804 by Wyeth.Johnson

	Optimized out a couple unnecessary bits of math from some axis alignment stuff, solver dependencies

Change 4061974 by Simon.Tovey

	Fixed GPU cooking.

	- Removing check for emitter SimTarget in CanBeRunOnGpu() and relying only on the script usage having been loaded already.
	We can't rely on properties in the emitter being loaded before the call to UNiagaraScript::PostLoad() so this is unsafe.

	- Adding some dummy gpu buffers to bypass validation ensures in rhi when we need to set params for SRVs that have not been allocated yet.

	- Fixed bug in RHI that was returning FGPUFenceRHIParamRef and so the created fence was immediately freed and boom.

Change 4062269 by Shaun.Kime

	Re-enabling most of the tests.

	#test n/a

Change 4062414 by tim.gautier

	QAGame: Updated QA-Effects for mobile compatibility
	- Removed Atmospheric Fog (not supported on Mobile)
	- Added SkySphere (resolved lighting issues)

Change 4062651 by Shaun.Kime

	Saving with versions

Change 4062673 by Shaun.Kime

	Making emitter names without spaces so that they can be blacklisted if need be

Change 4062686 by Shaun.Kime

	Getting ready for CI for 4.20

Change 4062687 by Shaun.Kime

	Updating mac images

Change 4063298 by Shaun.Kime

	Disabling collision test gpu for now. Need to investigate what broke it tomorrow.

	#tests  CollisionBounceGPU

Change 4063373 by Shaun.Kime

	Blacklisting mac tests that still need work

Change 4063434 by Shaun.Kime

	Cleaning out previous debug code

	#tests n/a

Change 4063618 by Yannick.Lange

	Fix dragging an input pin to the add pin of an if node

	#jira UE-58600

Change 4063847 by Frank.Fella

	Niagara - Rename RibbonSortKey to RibbonLinkOrder, change it from an int32 to a float, and disable uv age offset when using link order instead of normalized age to order particles in the ribbon.  This should fix the issues preventing beams from being implemented nicely.

	#tests Auto-tests

Change 4064150 by tim.gautier

	QAGame: Removing floating NewWidgetBP from /Content

Change 4064237 by Shaun.Kime

	Disabling the level sequence test for now

Change 4064902 by Shaun.Kime

	Fixing compile errors on linux editor build
	#jira UE-58620

	#tests n/a

Change 4065167 by tim.gautier

	QAGame: Submitting temporary update to TM-ShaderModels, adding Niagara station

Change 4065400 by tim.gautier

	QAGame: Submitting updated (temp) TM-ShaderModels. Set NewNiagaraEmitter to Local Space by default

Change 4065540 by Frank.Fella

	Niagara - Temporarily disable the module dependencies until they can be fixed.

Change 4065570 by Shaun.Kime

	Fixing linux build

	#tests n/a
	#jira UE-58979

Change 4066753 by Shaun.Kime

	Updating custom version after previous change to shader includes

	#tests autotests pass

Change 4067981 by Frank.Fella

	Niagara - Fix potential null dereference found by CIS

	#jira UE-59013

Change 4067998 by Shaun.Kime

	Nullpointer checks on shutdown

	#jira UE-59000

Change 4068104 by Frank.Fella

	Niagara - Change the prefix for the previous parameter values from PREV__ to PREV_ since the cross compiler reserves all symbols with double underscores for opengl.

Change 4068118 by Frank.Fella

	Niagara - Fix an open GL crash where we weren't passing the correct buffer index when setting parameters for compute shaders.

Change 4069299 by Olaf.Piesche

	Async GPU readback/update mobile platform fixes

	CPU particles should work on Android

	#jira UE-58986

Change 4069603 by Shaun.Kime

	Making it possible to see the debug output if the console variables are set for shaders.

	#tests auto-tests pass

Change 4069628 by Shaun.Kime

	OpenGL is very picky about shutting down its texture buffers. We were improperly holding onto static resources and leaking OpenGLShaderResourceViews until module shutdown. Unfortunately, this is *after* the renderer has been shut down and the corresponding OpenGL managers have been deleted, causing us to call into deleted memory. By making several classes FRendererResources, we now register at the appropriate times. In several cases, since the buffers are special purpose fallbacks I moved them into helper locations that are build on demand.

	Removed FNiagaraVertexFactoryBase::DummyBuffer
	Created FNiagaraDummyRWBufferInt and FNiagaraDummyRWBufferFloat so that I could wrap several dummy RW buffers in RendererResources and TGlobalResource.
	Removed NiagaraEmitterInstanceBatcher::DummyWriteIndexBuffer

	#tests all auto-tests pass on PC and OpenGL and we can open and close OpenGL after using Niagara assets

	#jira UE-59000

Change 4069646 by Shaun.Kime

	Disabling Niagara component activation on Switch. This is an attempt to bypass a crash after the assets have been loaded on Switch.

	#tests auto-tests on PC still pass

	#jira UE-59048

Change 4069660 by Shaun.Kime

	Updated Niagara version

	#tests Auto tests pass

Change 4069714 by Shaun.Kime

	Fixing Olaf's checkin prior adding offset to the base readback call

	#tests autotests pc pass

Change 4070785 by Olaf.Piesche

	Make RWBuffer available on Metal, Vulkan, and ES3.1 with SRVs

Change 4070888 by Olaf.Piesche

	#jira UE-57657

	Reenable ribbon custom facing mode

Change 4071570 by Shaun.Kime

	Removing thread pool size log item as it comes up thousands of times in a cook and is purely for debugging.

	#tests n/a

Change 4071926 by Shaun.Kime

	Disabling Olaf's change from earlier in the day as it doesn't work on PS4.

	#tests Ribbon test now works again


Change 4073700 by Shaun.Kime

	Fixing compiler warning about float4 being used as a float.

	#tests pc auto tests pass

	#jira UE-59157

[CL 4075457 by Shaun Kime in Main branch]
2018-05-16 12:53:39 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Marc Audy
eaccf4135c Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3582324)
#lockdown Nick.Penwarden
#rb none
#rnx

============================
  MAJOR FEATURES & CHANGES
============================

Change 3431439 by Marc.Audy

	Editor only subobjects shouldn't exist in PIE world
	#jira UE-43186

Change 3457323 by Marc.Audy

	Undo CL# 3431439 and once again allow (incorrectly) for editor only objects to exist in a PIE world

	#jira UE-45087

Change 3499927 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker

	#jira UE-43458

Change 3502939 by Michael.Noland

	Back out changelist 3499927

Change 3522783 by Zak.Middleton

	#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).

Change 3544641 by Dan.Oconnor

	Remove conditional that is no longer needed, replace with ensure. It is unsafe to change CDO names

	#jira OR-38176

Change 3544645 by Dan.Oconnor

	In addition to marking nodes as not transient, FBlueprintEditor::ExpandNode needs to mark them as transactional
	#jira UE-45248

Change 3545023 by Marc.Audy

	Properly encapsulate FPinDeletionQueue
	Fix ensure during deletion of split pins when not clearing links
	Fix split pins able to end up in delete queue twice during undo/redo

Change 3545025 by Marc.Audy

	Properly allow changing the pin type from a struct that is split on the node
	#jira UE-47328

Change 3545455 by Ben.Zeigler

	Fix issue where combined streamable handles could be freed before their complete callback is called if nothing external referenced them
	Copy of CL#3544474

Change 3545456 by Ben.Zeigler

	Allow PrimaryAssets to update their AssetData based on in-memory changes when launching 'Standalone Game' and 'Mobile Preview' from the editor. As it was, changes could be detected and propagated through UPrimaryDataAsset::PostLoad, but the changes would always reapply whatever already exists in the AssetRegistry. The primary use-case for this: making AssetBundle tag changes and allowing them to propagate without resaving/recooking all affected assets.
	Copy of CL #3544374

Change 3545547 by Ben.Zeigler

	CIS Fix

Change 3545568 by Michael.Noland

	PR #3758: Fixing a comment typo from Transistion to Transition (Contributed by gsfreema)

	#jira UE-46845

Change 3545582 by Michael.Noland

	Blueprints: Prevent duplicate messages from being added to the compiler results log (fixes a crash when resizing the results log while a math expression node has an error)
	Blueprints: Fixed the tooltip of math expression nodes not showing up, and error messages getting cleared on subsequent compiles
	[Duplicating fixes for UE-47491 and UE-47512 from 4.17 to Dev-Framework]

Change 3546528 by Ben.Zeigler

	#jira UE-47548
	Fix crash when a map's key type has changed but value has not, it was passing the UStruct defaults in when serialize was expecting the default instance, so pass null instead as we don't have the instance

Change 3546544 by Marc.Audy

	Fix split pin restoration logic to deal with wildcards and variations in const/refness

Change 3546551 by Marc.Audy

	Don't crash if the struct type is missing for whatever reason

Change 3547152 by Marc.Audy

	Fix array exporting so you don't end up getting none instead of defaults
	#jira UE-47320

Change 3547438 by Marc.Audy

	Fix split pins on class defaults
	Don't cause a structural change when reapplying a split pin as part of node reconstruction
	#jira UE-46935

Change 3547501 by Ben.Zeigler

	Fix ensure, it's valid to pass a null path for a dynamic asset

Change 3551185 by Ben.Zeigler

	#jira UE-42835 Fix it so SoftObjectPaths work correctly when inside levels loaded for the first time from PIE. Added code to do in-place PIE fixup for levels that are loaded instead of duplicated, and changed the fixup logic to fix all level references, not just ones being explicitly duplicated

Change 3551723 by Ben.Zeigler

	Improve UI for displaying actor soft references. Add an error/warning icon if the cross level reference is broken or unloaded, and fix various display and copy/paste behaviors

Change 3553216 by Phillip.Kavan

	#jira UE-39303, UE-46268, UE-47519
	- Nativized UDS now support external asset dependencies and will construct their own linker import tables on load.

	Change summary:
	- Modified FCompactBlueprintDependencyData and FFakeImportTableHelper to be more relevant to UStruct and not just UClass-derivative types.
	- Modified FBlueprintDependencyData to accept a single FCompactBlueprintDependencyData struct rather than its individual fields.
	- Modified FBlueprintCompilerCppBackendBase::GenerateCodeFromStruct() to emit dependency assignment and static type registration functions for nativized UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FStatePerPlatform to include an array for tracking UDS assets that need to be converted during the nativization pass at cook time.
	- Modified FBlueprintNativeCodeGenModule::GenerateFullyConvertedClasses() to generate nativized code for UDS assets. This ensures that UDS conversion falls under the same scope as BPGC conversion, so that they both feed into the same NativizationSummary context for asset dependency tracking (i.e. since we only have a single global dependency table in the codegen). Also modified InitializeForRerunDebugOnly() to do the same.
	- Modified FBlueprintNativeCodeGenModule::Convert() to defer UDS conversion so that it's done at the same time as BPGC conversion (see note above).
	- Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to include support for UStruct types and to conform to changes made to FCompactBlueprintDependencyData.
	- Modified FEmitDefaultValueHelper::AddRegisterHelper() to include support for UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FindReplacedClassForObject() to ensure that converted User-Defined Enum types are switched to a UEnumProperty at package save time so that any import tables contain the proper class. This is necessary because we nativize User-Defined Enum types as 'enum class' types, and UHT will generate code for those as a UEnumProperty with an "underlying" property. However, non-nativized User-Defined Enum types are referenced as a UByteProperty with a UEnum reference, so we have to fix up all the import tables before saving. Otherwise, EDL will assert on load (see UE-47519).

Change 3553301 by Ben.Zeigler

	Fix ensure when passing literal None to SoftObjectPath, it now treats them as empty instead

Change 3553631 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker. This change was originally submitted in 3499927, but it was incorrectly clearing the UField::Next pointer in UField::Serialize.

	#jira UE-43458

Change 3553799 by Ben.Zeigler

	Fix issue where calling WaitUntilComplete on a combined handle with Stalled children wouldn't work properly. It now forces all stalled children to start immediately. I also added a warning log when this happens and an ensure if somehow the force didn't work
	Copy of CL #3553781

Change 3553896 by Michael.Noland

	Blueprints: Allow the autowiring logic to better break and replace existing connections when made (e.g., when dragging a variable onto a compatible pin with an existing connection, break the old connection to allow the new connection to be made)
	#jira UE-31031

Change 3553897 by Michael.Noland

	Blueprints: Adjust search query when doing 'Find References' on variables from My Blueprints so that bound event nodes show up for components and widgets
	#jira UE-37862

Change 3553898 by Michael.Noland

	Blueprints: Add the name of the variable directly in the get/set menu options (when dragging from My Blueprints into the graph)

Change 3553909 by Michael.Noland

	Blueprints: Added the full name of the type, container type (and value type for maps) to the tooltips for the type picker elements, so long names can be read in full
	#jira UE-19710

Change 3554517 by Michael.Noland

	Blueprints: Added an option to disable the comment bubble on comment boxes that appears when zoomed out
	#jira UE-21810

Change 3554664 by Michael.Noland

	Editor: Renamed "Find in CB" command to "Browse" and renamed "Search" (in BP) to "Find", so terminology is consistent and keyboard shortcuts make sense (Ctrl+B for Browse, Ctrl+F for find, not using the term Search anywhere)

	#jira UE-27121

Change 3554831 by Dan.Oconnor

	Non editor build fix

Change 3554834 by Dan.Oconnor

	Actor bound event related warnings now show up in blueprint status when opening level blueprint for first time, improved warning message. Removed unused delegate and return value from FixLevelScriptActorBindings. Can now pass raw strings to blueprint results log (no need for Printf, although padding is not great), UClasses in compiler results log will open the generated blueprint when clicked on

	#jira UE-40438

Change 3556157 by Ben.Zeigler

	Convert LevelSequenceBindingReference to use FSoftObjectPath so it works properly with redirectors and fixups

Change 3557775 by Michael.Noland

	Blueprints: Fixed swapped transaction messages when converting a cast node between pure and impure
	#jira UE-36090

Change 3557777 by Michael.Noland

	Blueprints: Allow 'Goto Definition' and 'Find References' to be used while stopped at a breakpoint
	PR #3774: Expose GotoFunctionDefinition during BP debugging (Contributed by projectgheist)
	#jira UE-47024

Change 3560510 by Michael.Noland

	Blueprints: Add support for 'goto definition' on Create Event nodes when the Object pin is not hooked up
	#jira UE-38912

Change 3560563 by Michael.Noland

	Blueprints: Disallow converting a variable get node to impure/back when debugging (no graph mutating operations should be allowed)

Change 3561443 by Ben.Zeigler

	Restore code to support gc.DumpPoolStats, was accidentally removed when FGCArrayPool was moved to a header.
	Clean up comments around Cleanup function, the functionality to trim the memory pools was integrated into ClearWeakReferences on a prior change

Change 3561658 by Michael.Noland

	Blueprints: Refactored 'Goto Definition' so there is no per-class logic in the Blueprint editor or schema any more; any node can opt in individually
	- Added a key binding for Goto Definition (Alt+G)
	- Added a key binding for Find References (Shift+Alt+F)
	- Collapsed 'Goto Code Definition' for variables and functions into the same path, so there aren't separate menu items and commands
	- Added new methods CanJumpToDefinition and JumpToDefinition to UEdGraphNode, the default behavior for UK2Node subclasses is to call GetJumpTargetForDoubleClick and call into FKismetEditorUtilities::BringKismetToFocusAttentionOnObject
	- Going to a native function now goes thru a better code path that will actually put the source code editor on the function definition, rather than just opening the file containing the definition

Change 3562291 by Ben.Zeigler

	Fix issue where calling FSoftObjectPtr::Get during a package save would result in that ptr being forever marked broken, because the ResolveObject fails during save. It's too risky to change that behavior, so change it so the TagAtLastTest doesn't get updated in that case

Change 3562292 by Ben.Zeigler

	#jira UE-39042 When renaming or moving actors between levels it now attempts to fix any soft object references from blueprints or sequencer
	When deleting actors that are soft referenced by actor/sequencer it will now warn the same way it does for level script. Added IAssetTools::FindSoftReferencesToObject to perform this search
	Change it so saving a non-primary world does not result it being dirtied due to the temporary physics scene fixup
	Fix issue where the actor name was shown incorrectly in the SSCS tree for actor instances, which meant that if you renamed it you would end up renaming it to the BP's name

Change 3564814 by Ben.Zeigler

	#jira UE-47843 Don't set InputKey output pins to AnyKey if empty, this was causing blueprints with key events to constantly dirty themselves

Change 3566707 by Dan.Oconnor

	Remove unused code, UClassGenerateCDODuplicatesForHotReload was attempting to create a CDO with a special name, which triggered an ensure. The Duplicated CDO was never used (callign code removed in 3289276 as it was a waste of cycles)

	#jira None

Change 3566717 by Michael.Noland

	Core: Remove all defintions that contain "_API" from the command line when compiling .rc files (they do not support repsonse files and a too-long command line will fail the compile)

Change 3566771 by Michael.Noland

	Editor: Fixing deprecation warning

	#jira UE-47922

Change 3567023 by Michael.Noland

	Blueprints: Change various TArray<> uses to TSet<> throughout name validation and related code to enable it to scale better to high component or variable counts
	Adapted from PR #3708: Fast construction of bp (Contributed by gildor2)
	#jira UE-46473

Change 3567304 by Ben.Zeigler

	Add bCheckRecursive option to IsEditorOnlyObject that is enabled by default and will check outer/archetype/class.
	This is needed for places that call this function from outside of SavePackage.cpp when the editor only mark is set, such as the automation test code

Change 3567398 by Ben.Zeigler

	Fix crash when spawning a widget that has no editor WidgetTree, but does have a cooked widget tree template due to tree inheritance

Change 3567729 by Michael.Noland

	Blueprints: Clarified message about "{VariableName} is not blueprint visible" to define what that means "(BlueprintReadOnly or BlueprintReadWrite)"

Change 3567739 by Ben.Zeigler

	Don't crash if PropertyStruct cannot find it's struct. The function half handled this before, but Preload crashes with a null parameter

Change 3567741 by Ben.Zeigler

	Disable optimization for a path test that was crashing in VC2015 in a monolithic build

Change 3568332 by Mieszko.Zielinski

	Prevented UAIPerceptionSystem::GetCurrent causing a BP error when WorldContextObject is null #UE4

	#jira UE-47948

Change 3568676 by Michael.Noland

	Blueprints: Allow editing the tooltip of each enum value in a user defined enum

	#jira UE-20036

	Known issue: Undo/redo is not currently possible on the tooltip as it is directly stored in package metadata

Change 3569128 by Michael.Noland

	Blueprints: Removing the experimental profiler as we won't be returning to it any time soon
	#jira UE-46852

Change 3569207 by Michael.Noland

	Blueprints: Allow drag-dropping component Blueprint assets into the graph to create Add Component nodes and improved the error message when dragging something that cannot be dropped into an actor Blueprint
	#jira UE-8708

Change 3569208 by Michael.Noland

	Blueprints: Allow specifying a description for user defined enums (shown in the content browser)
	#jira UE-20036

Change 3569209 by Michael.Noland

	Editor: Allow adjusting the font size for each individual comment box node in Blueprints and Materials
	#jira UE-16085

Change 3570177 by Michael.Noland

	Blueprints: Fixed discrepancy between the Structure tab name and the menu option for the tab in the user defined structure editor (now both say Structure Editor)

	#jira UE-47962

Change 3570179 by Michael.Noland

	Blueprints: Fixed the tooltip of a user defined structure not updating immediately in the content browser after being edited

Change 3570192 by Michael.Noland

	Blueprints: Added "(selected)" after the label (in the 'debug filter' dropdown in the Blueprint editor) for actors that are selected in the level editor, which should make it easier to choose the specific actor you want to debug
	#jira UE-20709

Change 3571203 by Michael.Noland

	Blueprints: Cleanup and refactoring to prepare for turning commented out nodes into an official feature
	- Made EnabledState and bUserSetEnabledState private on UEdGraphNode and added new getters/setters
	- Introduced IsAutomaticallyPlacedGhostNode() and MakeAutomaticallyPlacedGhostNode() to start decoupling the concept from commented out nodes
	- Updated a couple of places that used a hardcoded UberGraphPages[0] into instead editing the most recently interacted with event graph if possible
	- Updated 'is data only blueprint' logic to allow multiple ubergraph pages, as long as they're all empty of non-disabled nodes

Change 3571224 by Michael.Noland

	Blueprints: Draw banners on development-only and user disabled nodes (excluding 'ghost' nodes like autogenerated event entries in new BPs)
	Adapted from PR #2701: Differentiate development nodes in BP (Contributed by projectgheist)

	#jira UE-29848
	#jira UE-34698

Change 3571279 by Michael.Noland

	Blueprints: Changed UK2Node::GetPassThroughPin so that only the execution wire on nodes with exactly one input and one output exec wire will have a corresponding pass-through pin (when there is ambiguity in which exec would be used, e.g., with a branch or sequence or timeline node, the subsequent nodes are now effectively disabled as well)

Change 3571282 by Michael.Noland

	Blueprints: Fixed the tooltip for dragging a variable onto an inherited category not showing the 'move to category' hint

Change 3571284 by Michael.Noland

	Blueprints: Made wires into/out of a user-disabled node draw verly dimly (other than the passthrough exec if it exists)

Change 3571311 by Ben.Zeigler

	Add ActorIteratorFlags which allows overriding which types of actors/levels are iterated by ActorIterator, to allow iterating levels that are not visible.
	All of the iteration logic is now in the base and the children just set different flags, which fixes it so TActorIterator does the same level collection check as FActorIterator

Change 3571313 by Ben.Zeigler

	Several fixes to automation framework to allow it to work better with Cooked builds.
	Change it so the automation test list is a single  message. There is no guarantee on order of message packets, so several tests were being missed each time.

Change 3571485 by mason.seay

	Test map for Make Set bug

Change 3571501 by Ben.Zeigler

	Accidentally undid the UHT fixup for TAssetPtr during my bulk rename

Change 3571531 by Ben.Zeigler

	Fix warning messages

Change 3571591 by Michael.Noland

	Blueprints: Made drag-dropping assets into a graph to create a component transactional (allowing the action to be undone)
	#jira UE-48024

Change 3572938 by Michael.Noland

	Blueprints: Fixed a typo in a set function comment

	#jira UE-48036

Change 3572941 by Michael.Noland

	Blueprints: Made the compact node title for cross and dot product the words cross and dot rather than hard to see . and x symbols
	#jira UE-38624

Change 3574816 by mason.seay

	Renamed asset to better reflect name of object reference

Change 3574985 by mason.seay

	Updated comments and string outputs to list Soft Object Reference

Change 3575740 by Ben.Zeigler

	#jira UE-48061 Change it so Editor builds work like cooked builds and always try to reuse existing packages when loading them instead of recreating them in place. Recreating in place does not work well for levels and blueprints, and blueprints already had a hack that was causing this behavior to not activate

Change 3575795 by Ben.Zeigler

	#jira UE-48118 Call into the AssetManager as part of the DistillPackages commandlet. This makes sure that ShooterGame and EngineTest end up with the correct content in launcher builds

Change 3576374 by mason.seay

	Forgot to submit the deleting of a redirector

Change 3576966 by Ben.Zeigler

	#jira UE-48153 Fix issue where actors in streaming levels weren't properly replicating in PIE. It now does the remap path on both send and receive for the manual PC level streaming commands

Change 3577002 by Marc.Audy

	Prevent wildcard pins from being connected to exec pins
	#jira UE-48148

Change 3577232 by Phillip.Kavan

	#jira UE-48034 - Fix EDL assert on load caused by a native reference to a nativized BP class that also references a nativized UDS asset.

	Change summary:
	- Modified FNativeClassHeaderGenerator::ExportGeneratedStructBodyMacros() to emit the 'ReplaceConverted' package name for the FCompiledInDeferStruct global associated with the nativized UDS asset in the UHT codegen. This brings nativized UDS to parity with nativized BP class assets (it was likely just an oversight initially).

Change 3577710 by Dan.Oconnor

	Mirror of 3576977:
	Fix for crash when loading cooked uassets that reference functions that are not present
	#jira UE-47644

Change 3577723 by Dan.Oconnor

	Prevent deferring of classes that are needed to load subobjects

	#jira UE-47726

Change 3577741 by Dan.Oconnor

	Back out changelist 3577723 - causes crash when starting QAGame in Dev-Framework - not in Release-4.17

Change 3578938 by Ben.Zeigler

	#jira UE-27124 Fix issue where renaming a map with legacy map build data would end up with a half-loaded redirector package, becuase the old map build data was still in use. It's possible the call to HandleLegacyMapBuildData should just be in World PostLoad instead of piecemeal in several other places but I am unsure.
	Fix it so the redirector cleanup code on map change will not be stopped by non-standalone top level objects, which could be left behind by issues in other systems

Change 3578947 by Marc.Audy

	(4.17) Properly expose members of DialogueContext to blueprints
	#jira UE-48175

Change 3578952 by Ben.Zeigler

	Fix ensure where ParentHandles on a StreamableHandle could be modified while iterating

Change 3579315 by mason.seay

	Test map for Make Container nodes

Change 3579600 by Ben.Zeigler

	Disable window test on non-desktop platforms as they cannot be resized post launch

Change 3579601 by Ben.Zeigler

	#jira UE-48236 Disable optimizations on PS4 for certain math tests pending fixing of platform issue

Change 3579713 by Dan.Oconnor

	Prevent crashes when bluepints implement an interface that was deleted
	#jira UE-48223

Change 3579719 by Dan.Oconnor

	Fix two compilation manager issues: Make sure CDOs are not renamed under a UClass, because they will be considered as possible subobjects, which has bad side effects and make sure that we update references even on empty functions, so that empty UFunctions are not left with references to REINST data

	#jira UE-48240

Change 3579745 by Michael.Noland

	Blueprints: Improve categorization and reordering support in 'My Blueprints'
	- Allow drag-dropping functions, macros, delegates, etc... to reorder them within a category or to change categories (bringing them to parity with variables)
	- Make category ordering on all categories sticky so you can reorder categories (the relative ordering will be the same within different sections like variables and functions)
	- Added hover cues when drag dropping some items that were missing them (e.g., event dispatchers)
	- Added support for renaming categories using F2

	Known issues (none are regressions):
	- Timelines cannot be moved to other categories or reordered
	- Renaming a nested category will result in it becoming a top level category (discarding the parent category chain)
	- Some actions do not support undo

	#jira UE-31557

Change 3579795 by Michael.Noland

	PR #3867: Fix for not releasing Local Notification Delegate. (Contributed by enginevividgames)
	#jira UE-48105

Change 3580463 by Marc.Audy

	(4.17) Don't crash if calling PostEditUndo on an Actor in the transient package
	#jira UE-47523

Change 3581073 by Marc.Audy

	Make UK2Node_SpawnActorFromClass inherit from K2Node_ConstructObjectFromClass and eliminate duplicate code.
	Correctly reconnect split pins when changing class on create widget, construct object, and spawn actor nodes

Change 3581156 by Ben.Zeigler

	#jira UE-48161 Fix issue where split pins would not be restored if a Struct type was changed due to refactoring of parent variables/functions. For structs we want to copy the pins, if they're invalid due to other changes they will be individual orphaned
	Also fix bug where the category of parent pins was being set incorrectly while changing variable type, we only want to override type for wildcard pins

Change 3581473 by Ben.Zeigler

	Properly turn off optimization for PS4 test

Change 3582094 by Marc.Audy

	Fix anim nodes not navigating to their graph on double click
	#jira UE-48333

Change 3582157 by Marc.Audy

	Fix double-clicking on animation asset nodes not opening the asset editors

Change 3582289 by Marc.Audy

	(4.17) Don't crash when adding a streaming level that's already in the level
	#jira UE-48928

Change 3545435 by Ben.Zeigler

	#jira UE-47509 Rename and refactor internals StringAssetReferences and AssetPtrs to become SoftObjectPath/Ptr. This is to prepare them for use for subobjects like actors. Here is the rename table:
	FStringAssetReference -> FSoftObjectPath
	FStringClassReference -> FSoftClassPath
	TAssetPtr -> TSoftObjectPtr
	TAssetSubclassOf -> TSoftClassPtr
	The old headers are deprecated, and FSoftClassPath is now in the same header has FSoftObjectPath.
	This change increments the UE4 version because FSoftObjectPaths are now stored as a name + substring instead of one giant name, which in practice will improve performance and memory while manipulating them. Also the package table of soft referenced packages is now stored as FNames instead of FStrings as these packages names will already be in the name table due to the AssetRegistry
	Remove automatic support for loading Objectpaths starting with engine-ini:, as it was only partially supported and is very outdated. ResolveIniObjectsReference can still be called manually
	Changed TPersistentObjectPtr and TLazyObjectPtr to be structs instead of classes
	Change UnrealHeaderTool to read configuration such as StructsWithNoPrefix out of inis instead of using a hardcoded list. Add support for TypeRedirects, which is used to make the old type names automatically remap to the new ones
	Clean up FRedirectCollector to remove some of the functionality that is no longer used by the cooker, and disable tracking of redirects in standalone -game builds

Change 3567760 by Ben.Zeigler

	Fix it so EngineTest can be cooked by moving some utility functions to EditorTestsUtilityLibrary and adding an EditorFunctionalTest. The core EngineTest module is safely runtime-only now and can run it's tests locally in windows cooked
	Merge FuncTestManager into FunctionalTestModule to avoid confusion with FunctionalTestingManager UObject
	Add EngineTestAssetManager and override the cook function to cook all maps with runtime functional tests
	Change actor merging tests to be editor only, this stops them from cooking
	Several individual tests crash on cooked builds, I started threads with the owners of those

Change 3575737 by Ben.Zeigler

	#jira UE-48042 Change it so playing via PIE Standalone, multiprocess networked PIE and external cook launch on does not save temporary levels to UEDPC and instead prompts the user to save. This is how launch on works by default already, and this fixes cross level references/sequencer. The UEDPC code has been removed entirely.
	As part of this change, connecting a -game client to a PIE server and vice versa is much more likely to work. You may still have game-side problems, look at UEditorEngine::NetworkRemapPath for an example of how to do the PIE prefix conversion
	Remove advanced CreateTemporaryCopiesOfLevels option from sequencer capture, it has not been tested in multiple years and does not work with newer sequencer features
	#jira UE-27124 Fix several possible crashes with changing levels while in PIE

Change 3578806 by Marc.Audy

	Fix Construct Object not working correctly with split pins.
	Add Construct Object test cases to functional tests.
	Added split pin expose on spawn test cases.
	#jira UE-33924

[CL 3582334 by Marc Audy in Main branch]
2017-08-11 12:43:42 -04:00
Dan Oconnor
e29126385f Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3380068)
#lockdown Nick.Penwarden

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

Change 3358702 on 2017/03/22 by Marc.Audy

	Always mark child actors pending kill when in PostLoad as often the World is too early to have a WorldContext which causes issues in DestroyActor
	#jira UE-42679

Change 3358737 on 2017/03/22 by Mieszko.Zielinski

	Exposed UBrainComponent::IsRunning() and UBrainComponent::IsPaused() to Blueprint #UE4

Change 3359062 on 2017/03/22 by Michael.Noland

	Blueprints: Show the Save and Find in CB buttons when working with level script blueprints (they will save/show the map package)

	#jira UE-30748

Change 3359066 on 2017/03/22 by Michael.Noland

	PR #3348: Make fields of FAttributeMetaData editable (Contributed by hoelzl)

	#jira UE-42620

Change 3359069 on 2017/03/22 by Michael.Noland

	PR #3288: InverseLerp Blueprint Tooltips Clarification (Contributed by wunawuna)

	#jira UE-42250

Change 3359108 on 2017/03/22 by Michael.Noland

	Blueprints: Fix an issue where running the editor in a different culture could break pins on nodes that have optional arrays of pins (e.g., animation graph nodes like blend by layer)
	#jira UE-36232

Change 3359235 on 2017/03/22 by Marc.Audy

	Expose bShouldPerformFullTickWhenPaused to blueprints and details panel
	#jira UE-17286

Change 3359324 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Disable collision on NavModifierVolumes. Previously they had an OverlapAll response and generated overlap events. They are only supposed to be used for preventing nav mesh generation, but overlap events could affect gameplay, and also are bad for performance.

	(Integrate CL 3249525 from Odin).

Change 3359326 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Optimization during attachment to check bool before expensive casts and body instance fetching.

	(Integrate CL 3261262 from Odin).

Change 3359327 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Make bSkipAgentHeightCheckWhenPickingNavData actually ignore height when picking data.

	(Integrate CL 3231908 from Odin)

Change 3359328 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Make a static FName in UMovementComponent::OverlapTest const and move it to a namespace.

	(Integrate CL 3259985 from Odin)

Change 3359329 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Fix ProjectileMovementComponent continuing to simulate (and generate hit events) after it is deactivated during simulation. HasStoppedSimulation() should check if bIsActive is false.

	(Integrate CL 3260001 from Odin)

Change 3359330 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Fix accumulated forces in CharacterMovement when movement mode or activation changes.

	- Added CharacterMovementComponent::ClearAccumulatedForces()
	- AddForce() and related functions now avoid adding the force if in MovementMode "None". When ticking in "None", forces are cleared so they don't pile up until the next valid movement mode. Forces are also cleared if the updated component changes or when the capsule simulates physics.
	- CharacterMovementComponent::Deactivate() implemented to stop movement and call ClearAccumulatedForces().
	- ClearAccumulatedForces() now also clears pending launch velocity.
	- Exposed ClearAccumulatedForces() to blueprints.
	- AddForce() and AddImpulse() now also check that character movement is active (not deactivated, able to tick).
	- ApplyAccumulatedForces() does not call ClearAccumulatedForces(), since that would prevent pending launch.
	- SimulateMovement() handles pending launch and clears forces regardless of whether it's simulated proxy. Added note to investigate using ApplyAccumulatedForces() in SimulateMovement().
	- Inlined ActorComponent::IsActive().

	(Integrate CLs 3259933, 3266018 from Odin)

Change 3359338 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) TickCharacterPose() and clear root motion before abandoning tick in UCharacterMovementComponent::PerformMovement() when movement mode is None. Prevents root motion building up until next valid movement mode.

	(Integrate CL 3271928 from Odin)

Change 3359345 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Fix characters sliding when landing on slanted surfaces or stairs, when aggressive "Perch" settings could cause a line trace (from the center of a capsule) instead of capsule trace and thereby screw up the floor distance checks.

	(Integrate CL 3273026 from Odin)

Change 3359381 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Performance tweak to ApplyRadialDamageWithFalloff(). Don't rebuild FRadialDamageEvent each loop over hit actors. Added stats for BreakHitResult()/MakeHitResult() under "stat game".

	(Integrate CLs 3275415, 3276810 from Odin).

Change 3359422 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Fix build (CollisionProfile included).

Change 3359442 on 2017/03/22 by Michael.Noland

	Blueprints: Prevent comment boxes from clipping the last letter of some words at the edge by increasing the padding on the wrap-at position

Change 3359445 on 2017/03/22 by Michael.Noland

	PR #2989: Improved BP comment nodes (Contributed by projectgheist)

	#jira UE-36788
	#jira UE-39118

Change 3359446 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Add support for FScopedMovementUpdate to be able to queue up overlaps that do not require reflexive bGenerateOverlapEvents. This allows custom inspection or processing of overlaps within a scoped move. Overlap events from the move will still only trigger in UpdateOverlaps() if bGenerateOverlapEvents is enabled on both components, as before.

	(Integrate CL 3278307 from Odin)

Change 3359494 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Make some data in FScopedMovementUpdate protected rather than private so it can easily be subclassed, and expose a new helper SetWorldLocationAndRotation().

	(Integrated CL 3280775 from Odin).

Change 3359506 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) MovementComponent::Deactivate() calls StopMovement() to clear cached velocity. It's silly that reactivation many seconds or frames later would restore that velocity. Some special handling in CharacterMovement to keep it acting as before (it cleared velocity, but did not clear the path request, leaving that alone).

	(Integrate CL 3287026 from Odin).

Change 3359514 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Collision.ListComponentsWithResponseToProfile command includes pending kill objects.

	(Integrate CL 3293322 from Odin)

Change 3359553 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Optimization in CharacterMovement tick to not extract transform values twice.

	(Integrate CL 3299098 from Odin).

Change 3359554 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Perf: optimize UKismetMathLibrary::GetForwardVector() (converts Rotator to forward direction). This way we avoid building a matrix, and avoids 1 more SinCos call.

	(Integrate CL 3296254 from Odin).

Change 3359555 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Add OnComponentCollisionSettingsChangedEvent delegate to PrimitiveComponent. Fixed SkeletalMeshComponent not calling Super implementation.

	(Integrate CL 3295744 from Odin)

Change 3359561 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Perf: AActor::GetComponents() with generic type should *not* assume the output array needs space for the entire contents of OwnedComponents. If OwnedComponents.Num() > the array reserve size, this forces an allocation, even if few or no components of the requested type are found.

	(Integrate CL 3299111 from Odin)

Change 3359573 on 2017/03/22 by dan.reynolds

	Added BP log to the Passive Mix Modifier test platform BP

Change 3359593 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Perf: avoid allocations during creation in AAIController::PostInitializeComponents() (in development builds).

	(Integrate CL 3299118 from Odin)

Change 3359595 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Perf: HasActiveCameraComponent() and HasActivePawnControlCameraComponent() don't need to fill in an array while searching for a certain component. Also see CL 3359561, which could cause each of these functions to always cause an allocation when filling in the array when num components > 24.

	(Integrate CL 3299116 from Odin)

Change 3359602 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Clean up some of the new fast overlap code in PrimitiveComponent. Mostly some variable renaming, and CVar access optimization.

	(Integrate CL 3340622 from Odin)

Change 3359616 on 2017/03/22 by Zak.Middleton

	#ue4 - (Merge) Added support for bIgnoreTouches to FCollisionQueryParams. MoveComponent uses this to avoid PhysX collision queries for overlaps in GeomSweepMulti when bGenerateOverlapEvents is off.

	(Integrate CL 3340635 from Odin)

Change 3359864 on 2017/03/23 by Mieszko.Zielinski

	Added a safeguard to prevent crashes resulting from people trying to name their BB keys things longer than 1024 characters #UE4

	#jira UE-43120

Change 3360884 on 2017/03/23 by Zak.Middleton

	#ue4 - (Merge) Audio: AUDIO_MIXER_ENABLE_DEBUG_MODE turned off in Test builds. Shipping already had it off.

	(Integrate CL 3310724 from Odin)

Change 3361045 on 2017/03/23 by Zak.Middleton

	#ue4 - (Merge) Audio: new cvars to help with optimization:

	- au.DisableReverbSubmix
	- au.DisableEQSubmix
	- au.DisableParallelSourceProcessing
	- au.SetAudioChannelCount

	Also checked in some code to cut down on the amount of parameter setting in EQ

	(Integrate of CL 3303165 in Odin by Aaron.Mcleran)

Change 3361172 on 2017/03/23 by Zak.Middleton

	#ue4 - (Merge) Audio: added stat for HRTF.

	(Integrate CL 3310728 from Odin)

Change 3361189 on 2017/03/23 by Zak.Middleton

	#ue4 - (Merge) CVar to toggle HRTF for perf settings. Default is on.

	(Integrate CL 3310926 from Odin).

Change 3361914 on 2017/03/23 by Aaron.McLeran

	UE-42649 Fixing crash in cleaning up active sound in sound concurrency

	-Handling edge case of an active sound not have a sound base ptr, which is possible.

Change 3361924 on 2017/03/23 by Aaron.McLeran

	UE-41378 Fixing passive mix modifier bug

Change 3361978 on 2017/03/23 by Aaron.McLeran

	UE-42627 Fix for when audio device is removed and getting a deadlock in computing audio clock

Change 3361989 on 2017/03/23 by Aaron.McLeran

	PR #3010: Check for null GEngine on sound processing

Change 3362053 on 2017/03/23 by Zak.Middleton

	#ue4 - (Merge) Audio: Perf: Avoid thousands of Array.Add() calls during processing, which on shipping still does checks to see if the allocator has to grow, and updates ArrayCount.

	(Integrate CL 3311120 from Odin)

Change 3362102 on 2017/03/23 by Aaron.McLeran

	PR #3182:  Enabled SwitchOnEnum nodes for EAttenuationShape and EAttenuationDistanceModel

Change 3362153 on 2017/03/23 by Aaron.McLeran

	UE-43286 Oculus audio plugin not working/available

Change 3362162 on 2017/03/23 by Aaron.McLeran

	UE-42252  Frequent ensure in FLevelEditorViewportClient::UpdateAudioListener

Change 3362206 on 2017/03/23 by Aaron.McLeran

	UE-43287 Fixing HRTF spatialization in editor viewport

	- Steam Audio doesn't support multiple audio devices at the moment
	- Instead of hard-coding all audio plugins to not work in main audio device (GDC temp fix), I allow audio plugins to specify if they should be used on main audio device

Change 3362775 on 2017/03/24 by mason.seay

	Replaced deprecated node

Change 3363024 on 2017/03/24 by Ben.Zeigler

	Fix regression in behavior of streamable manager where loading both a valid and null asset used to work but now fails. Instead added a warning for that case, but if only null are requested it still fails with an error

Change 3363030 on 2017/03/24 by Zak.Middleton

	#ue4 - Lower default max sendrate for clients to 60Hz from 90Hz when net speed is high and player count is low. Throttled rate remains at 45Hz. This value has been tested in Paragon with no ill effect, and saves on bandwidth and server CPU when clients run at high framerate.

Change 3363036 on 2017/03/24 by Zak.Middleton

	#ue4 - (Merge) Audio: Perf: turned a float divide into a multiply. It happens at least 32k times per audio update.

	(Integrate CL 3311158 from Odin)

Change 3363541 on 2017/03/24 by Zak.Middleton

	#ue4 - (Merge) Audio: Perf: remove pointer indirection, and successive TArray Add()s in GetChannelMap().

	(Integrate CL 3311169 from Odin)

Change 3363642 on 2017/03/24 by Zak.Middleton

	#ue4 - (Merge) Audio: Perf: Save ~5% total audio update time. Savings in "Source Output Buffers".

	- Removed function call overhead to updating channel map. 64,000 function calls...
	- Simplified FSourceParam::Update() to reduce branching and have 1 return site.
	- Added alternative to GetChannelMap() called UpdateChannelMap() that avoids copying out values to an array. The values can then be fetched from the channel data directly.

	(Integrate CL 3311235 from Odin)

Change 3364441 on 2017/03/24 by Ben.Zeigler

	Fix issue where calling LoadLocalIniFile on a plugin file would result in an empty file. It was assuming engine/game dirs, now it instead pulls it out of GConfig if available.
	This fixes issue where iterative cooking would fail on plugin config files
	Add FindConfigFileWithBaseName to GConfig

Change 3364652 on 2017/03/25 by Phillip.Kavan

	#jira UE-43210 - Fix a runtime VM crash upon removing an element from a set after consecutive add/remove iterations.

	Change summary:
	- Fixed FScriptSet::Add() to initialize the HashIndex member of the new element when the HashSize does not change.

Change 3365609 on 2017/03/27 by Richard.Hinckley

	#jira UEDOC-4720
	Fixed global enums being dropped from documentation after being extracted by Doxygen.

Change 3365737 on 2017/03/27 by Marc.Audy

	Move setting of the ParentComponent property on an actor to PostRepNotifies instead of having a separate OnRep function.

Change 3365795 on 2017/03/27 by Marc.Audy

	Fix compile error

Change 3365894 on 2017/03/27 by Phillip.Kavan

	#jira UE-35507 - Fix for a GLEO when choosing an LSBP class as the default value for a class input pin in a non-LSBP graph.

	Change summary:
	- Modified FGraphPinFilter::IsClassAllowed() to disallow a given class if the type is contained within a map package that does not match the current graph context.

Change 3366067 on 2017/03/27 by Marc.Audy

	Add UWorld* to PostLoadMap indicating which world has been loaded. Null if an error has occurred.
	#jira UE-40228

Change 3366097 on 2017/03/27 by Marc.Audy

	Fixed missed deprecation disable pairing for PostLadMap

Change 3366170 on 2017/03/27 by Aaron.McLeran

	Fixing div by zero

Change 3366221 on 2017/03/27 by Aaron.McLeran

	UE-43240 Removing dependency on component visualizers in runtime Phonon module.

Change 3366698 on 2017/03/27 by Marc.Audy

	Fix Orion compile errors

Change 3366782 on 2017/03/27 by Aaron.McLeran

	Bringing over optimizations from Odin to Dev-framework.

	Original CL 3311435

Change 3366818 on 2017/03/27 by Aaron.McLeran

	Bringing fix from Odin to Dev-Framework from CL 3304533

	Fix for rare condition that stomps memory during source recycling.

Change 3366984 on 2017/03/27 by Michael.Noland

	Blueprints: Downgraded a warning in the connection drawing policy to verbose to suppress it. It does no good to a typical user.
	#jira UE-41638

Change 3367085 on 2017/03/27 by Brent.Pease

	 - Improve AudioMixer buffering so that only two buffers are needed instead of three, buffer submission and buffer processing are ovelapped, and a warning is issued if the audio processing thread can not keep up.
	 - Added time critical thread priority so that audio processing is not starved which would produce clicks and popping
	 - Allow the audio thread to not be created if a platform implements its own BeginGeneratingAudio() call (as happens on Android)

Change 3367434 on 2017/03/28 by Marc.Audy

	Fix UT compile error

Change 3368587 on 2017/03/28 by Mike.Beach

	Adding a "CookedOnly" plugin type (now used by the nativized Blueprint plugin).

Change 3368724 on 2017/03/28 by Zak.Middleton

	#ue4 - MovementComponent does not ignore initial blocking overlaps when moving from SafeMoveUpdatedComponent(). Set "p.MoveIgnoreFirstBlockingOverlap" back to zero and add a new flag that prevents the depenetration test from generating hit events (to prevent the problem discovered in UE-39387).

	#jira UE-41613, UE-28610

Change 3368748 on 2017/03/28 by Dan.Oconnor

	Provide &FUObjectThreadContext::Get().ObjLoaded when using the compilation manager, add validation functions for finding REINST/TRASH references

Change 3368852 on 2017/03/28 by Mike.Beach

	Fixing a CIS error before it happens - wrapping implementation in preprocessor defines to match declaration in header.

Change 3368873 on 2017/03/28 by Dan.Oconnor

	Rather than collecting script object references, just use the ScriptObjectReferences array. This allows reference replacing archives to update ScriptObjectReferences.

Change 3368998 on 2017/03/28 by Dan.Oconnor

	Setting  CLASS_Interface early in the compilation process

Change 3369494 on 2017/03/29 by Marc.Audy

	Fix UAT compile error

Change 3369924 on 2017/03/29 by Zak.Middleton

	#ue4 - Allow CharacterMovement AdjustFloorHeight() to adjust using the line trace if in penetration. Force next floor check so it will check after it depenetrates.

	#jira UE-36973

Change 3369932 on 2017/03/29 by Ben.Zeigler

	#jira UE-19494 Finish asset auditing work by allowing reading back a cooked asset registry in the editor
	Split off FAssetRegistryState as the struct to hold serialization and accessors, to allow loading multiple platform states at once.
	Optimized runtime asset registry serialization to be around 1/3 as large as before. Dependencies are disabled by default for the runtime registry, you can re-enable with bSerializeDependencies in Engine.ini
	Add FAssetPackageData which is explicitly per-package and only updated on save/load time. File size is stored in here and is computed for both editor and cooked data
	Add code to AssetManagerEditorModule to allow loading pre-cooked asset registry files and reading cooked sizes. The Asset Audit window now has a platform drop down that allows reading from cooked data
	Rename ChunkManifestGenerator to AssetRegistryGenerator and change it to directly hold an FAssetRegistryState internally
	Add new experimental AssetRegistry mode for iterative cooking. This mode is much faster as it does not need to do it's own internal dependency checking and it can be enabled with bUseAssetRegistryForIteration
	Change it so during cooking it doesn't directly load string asset references, but instead cues them for cook and uses the asset registry to find and add redirector mappings that are used during save time

Change 3370028 on 2017/03/29 by Ben.Zeigler

	CIS fix

Change 3370360 on 2017/03/29 by Mike.Beach

	Adding an extra field to FPlatformInfo; a 'UBTTarget' identifier intended to sync up with UBT's UnrealTargetPlatform enum (needed for programatically generating plugin platform whitelists).

Change 3370363 on 2017/03/29 by Ben.Zeigler

	Fix issue where loading out of date editor asset registry cache would throw pointless errors

Change 3370414 on 2017/03/29 by Marc.Audy

	Remove autos

Change 3370428 on 2017/03/29 by Ben.Zeigler

	Fix linux CIS issue, remove implicit conversion from FSavePackageResultStruct back to enum result as it was creating ambiguous operators

Change 3370453 on 2017/03/29 by Marc.Audy

	CIS fix

Change 3370548 on 2017/03/29 by Marc.Audy

	#rn Fix issues with seamless travel in PIE and shared sub levels between different parents.

Change 3370564 on 2017/03/29 by Mieszko.Zielinski

	PR #3429: fix comment typo (Contributed by kayama-shift)

Change 3370602 on 2017/03/29 by Mieszko.Zielinski

	Fixed FRecastTileGenerator::Modifiers being erroneously counted twice when stating memory #UE4

Change 3370615 on 2017/03/29 by Phillip.Kavan

	#jira UE-35515 - No longer crash when creating a new BP class from one or more selected Actors in which the root component is not Blueprint-spawnable.

	Change summary:
	- Modified FKismetEditorUtilities::AddComponentsToBlueprint() to handle deferred SceneComponent SCS node adds when the parent component was not also added (due to not being BP-spawnable).

Change 3370693 on 2017/03/29 by Michael.Noland

	Fixing some bad indentation
	#rnx

Change 3370740 on 2017/03/29 by Ben.Zeigler

	DLC/Mod Cooking fixes, the list of packages from release build as in uncooked filename format so fixed code and made this more obvious
	Fix Asset Registry to allow loading multiple source asset registries into the same state, by keeping a list of preallocated buffers

Change 3370792 on 2017/03/29 by Michael.Noland

	Blueprints: Deleted some unversioned backwards compat. code that would only matter for assets older than VER_UE4_OLDEST_LOADABLE_PACKAGE

Change 3370794 on 2017/03/29 by Michael.Noland

	PR #3190: Reduce some output logging
	- Reduced an Oculus log from Log to Verbose because it spams quite a bit
	- Corrected the spelling and the meaning of a blueprint warning when an invalid breakpoint is encountered
	- Treat UInputComponent::GetAxisValue(None) as not a warning
	- Switch FGenericSaveGameSystem::LoadGame to silently attempt to load the file, it returns success/failure and it isn't necessary to have a separate warning at the file i/o layer

	#jira UE-41446

Change 3370831 on 2017/03/29 by Dan.Oconnor

	Iteration on compilation manager
	 - Fix Skeleton class compilation order
	 - Pass ObjLoaded array to compilation manager to ensure all objects get PostLoaded
	 - Make sure data only classes get reinstanced, so that UpdateCustomPropertyListForPostConstruction is run correctly

Change 3370923 on 2017/03/29 by Michael.Noland

	Blueprints: Added an icon to indicate whether or not a macro contains latent actions
	- Note: The state of the icon is cached for performance reasons on request, with the cache being cleared when the BP containing the macro is modified or a macro graph is removed
	- This does mean that editing the inner macro of a nested macro to add/remove a latent action will not show up in visualization for the outer node until the editor is restarted or the outer macro is modified

Change 3371039 on 2017/03/29 by Dan.Oconnor

	Hacky fix for dropping return params when a function's return node is culled

Change 3371750 on 2017/03/30 by Richard.Hinckley

	Stencil write mask exposed. Adds nine new options (all bits, plus each bit individually - write on pass or depth fail). This allows stencil overlaps to be detected by mixing masks.

Change 3372513 on 2017/03/30 by Ben.Zeigler

	#jira UE-43475 Fix cooker issues with string asset references to null packages.
	Fix redirector detection to follow recursive chains, and correctly strip object class from redirected string asset references.

Change 3372565 on 2017/03/30 by Richard.Hinckley

	Rolling back stencil change, will be moved to Dev-Rendering.

Change 3372764 on 2017/03/30 by Marc.Audy

	Do not create a duplicate sub object that is not in the annotation if a sub object of the same name and class already exists.
	#jira UE-43328

	#rn Fixed cases where the blueprint of a class used as a child actor could be dirtied when compiling the owning blueprint.

Change 3372847 on 2017/03/30 by Marc.Audy

	Fix missing include

Change 3372994 on 2017/03/30 by Zak.Middleton

	#ue4 - Fix build in Debug (checkSlow using incorrect function params).

Change 3373195 on 2017/03/30 by Mike.Beach

	For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist).

Change 3373320 on 2017/03/30 by mason.seay

	Basic for TM-Gameplay map (WIP)

Change 3373448 on 2017/03/30 by Ben.Zeigler

	Fix recursive size display in audit window
	Improve asset manager comments

Change 3373576 on 2017/03/30 by dan.reynolds

	AEOverview Update:

	Updated Passive Mix Modifier Test based on recent changes in behavior

	Also added Initial Delay Time timer to test

Change 3373589 on 2017/03/30 by dan.reynolds

	AEOverview Passive Mix Mod Test Map update

Change 3373624 on 2017/03/30 by Zak.Middleton

	#ue4 - Increase Pawn location replication precision to 2 decimal places from 0. Prevents replicated pawns from being inside geometry by a large amount. Removed CVars controlling CharacterMovement proxy shrink amount and made those instanced properties on the component.

	#jira UE-40420

Change 3374271 on 2017/03/31 by Marc.Audy

	Fix deprecation warning in new UT code

Change 3374320 on 2017/03/31 by Marc.Audy

	Fix HTML5 compile.

Change 3374413 on 2017/03/31 by Jeff.Farris

	Added ENGINE_API to 2 functions in PlanarReflection, so projects can subclass it.

	(Copied CL 3276454 from Robo Recall to Dev-Framework)

Change 3374414 on 2017/03/31 by Jeff.Farris

	Added support for setting UNavigationSystem::bUpdateNavOctreeOnComponentChange

	(Copied CL 3267903 from RoboRecall to Dev-Framework)

Change 3374616 on 2017/03/31 by Ben.Zeigler

	Copy of Fortnite CL #3312058 to add a missing redirector. I do not understand why this is not erroring on Main, I guess my minor cook changes somehow exposed this

Change 3374664 on 2017/03/31 by Jeff.Farris

	Consted AIController::GetBrainComponent()

	(Copied 3239101 from Robo Recall to Dev-Framework)

Change 3374665 on 2017/03/31 by Jeff.Farris

	PrimitiveComponent bIgnoreRadialImpulse and bIgnoreRadialForce are now exposed to BPs. bIgnoreRadialImpulse now respected when applying impulse to relevant movement components.

	(Coped CL 3242355 from Robo Recall to Dev-Framework)

Change 3374779 on 2017/03/31 by Jeff.Farris

	Exposed SetAllPhysicsAngularVelocity to blueprints

	(Copied CL 3228390 from Robo Recall to Dev-Framework)

Change 3374792 on 2017/03/31 by Ben.Zeigler

	#jira UE-42618
	PR #3347: Improve support for FGameplayAttributeData properties in attribute sets (Contributed by hoelzl)

Change 3374844 on 2017/03/31 by Ben.Zeigler

	#jira UE-42587 Fix issue where supressed gameplay effects that granted abilities would only work the first time, it now clears out of date ability handles

Change 3374925 on 2017/03/31 by Marc.Audy

	Don't throw warning about missing world context for inactive worlds.
	#jira UE-42679

Change 3374927 on 2017/03/31 by Michael.Noland

	Editor: Added options for configuring the editor window background color and texture, which can be useful to visually distinguish the editor when switching between different branches or projects

Change 3374995 on 2017/03/31 by Michael.Noland

	Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor:
	- CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass
	- CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor))
	- Now shows each function as a separate button, placed in the category associated with the function
	- The button strip entry is now searchable by function name or tooltip
	- Prevented operating on functions that have parameters or return values, which would crash before
	- Removed the duplicate copies of properties placed in the Blutility section
	- Added a scoped transaction around CallInEditor execution
	- Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...)

	Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components

	Upgrade Note: Behavior has changed so that CallInEditor can be called on CDOs as well, this will probably be walked back in a subsequent update, at least for actors and components.

Change 3375005 on 2017/03/31 by Michael.Noland

	Fixing incremental compilation error due to missing include
	#rnx

Change 3375015 on 2017/03/31 by Michael.Noland

	Fixing incremental compilation error due to missing include (for real)
	#rnx

Change 3375045 on 2017/03/31 by Marc.Audy

	Only calculate the streaming levels prefix during seamless travel if it is a PIE world
	#jira UE-43485

Change 3375053 on 2017/03/31 by Ben.Zeigler

	#jira UE-41988 Fix it so leaving PIE while gameplay debugger is active will disable HUD extensions properly, restoring ability to print messages to screen

Change 3375057 on 2017/03/31 by Ben.Zeigler

	#jira UE-39226 Don't add to DrawDebug list for player controllers with no local player

Change 3375121 on 2017/03/31 by Michael.Noland

	Added missing include for FScopedTransaction
	#rnx

Change 3375222 on 2017/03/31 by mason.seay

	Submitting work done to TM-Gameplay.  Still WIP

Change 3375308 on 2017/03/31 by Michael.Noland

	Editor: Added back CDO filtering to CallInEditor, it's too easy to explode in the BP editor.  May consider allowing opt-in behavior when we revisit Blutilities

Change 3375321 on 2017/03/31 by Ben.Zeigler

	#jira UE-39062 Fix issue where using the level editor toolbar to modify blueprints was not properly marking the blueprints as modified, so the constructor links weren't being updated until manually compiling or resaving
	Always recompute post constructor links when calling MarkBlueprintAsModified, as it can be called from native and other places where we modified CDOs but don't have a property changed event

Change 3375372 on 2017/03/31 by Ben.Zeigler

	#jira UE-39568 Change Components to specifically update LatentActions the same as Actors do, so they update properly if bUpdateWhilePaused is set

Change 3375380 on 2017/03/31 by Marc.Audy

	Modify IsMainAudioDevice to deal with the case where no audio device has been created.

Change 3375402 on 2017/03/31 by Marc.Audy

	Fix DuplicateWorldForPIE in the case that the OwningWorld is null.

Change 3376037 on 2017/04/02 by Phillip.Kavan

	#jira UE-35332 - Preserve the least common ancestor pin type on object array function node inputs after a node refresh.

	Change summary:
	- Added UK2Node_CallArrayFunction::GetDynamicallyTypedPins() to consolidate the code that retrieves type-dependent parameter pins.
	- Added FBlueprintEditorUtils::FindLinkedPinWithAuthoritativePinType() to consolidate the code that considers other linked pins when choosing which type to propagate to type-dependent parameter pins.
	- Added FBlueprintEditorUtils::PropagatePinTypeInfo() to consolidate the common code from UK2Node_CallArrayFunction::PropagateArrayTypeInfo(); this eliminated a redundant retrieval of the target pin set.
	- Refactored UK2Node_CallArrayFunction::PropagateArrayTypeInfo() to now call FBlueprintEditorUtils::PropagatePinTypeInfo() after retrieving the set of dynamically-typed pins.
	- Refactored UK2Node_CallArrayFunction::NotifyPinConnectionListChanged() to remove some unnecessary iteration passes and to ensure that we propagate the authoritative (least common ancestor) pin type for object- and struct-based types.

Change 3376364 on 2017/04/03 by Richard.Hinckley

	UE-40920 Fix to Paper2D flipbook timeline editor. Previously, the timeline shown was one frame shorter than the animation. Now, the timeline shows the correct frame count.

Change 3376366 on 2017/04/03 by Richard.Hinckley

	UE-40920 Bugfix to Paper2D flipbook editor. The red line indicating the current frame now adjusts properly if the timeline is longer than the editor window and the scroll bar is moved to the right.

Change 3376517 on 2017/04/03 by Marc.Audy

	PR #3195: Added support for GamePad on RawInput Plugin (Contributed by katze7514)
	#jira UE-41499

Change 3376708 on 2017/04/03 by Mike.Beach

	Moving nativized plugins into a centralized folder (so we can use it as an additional plugin lookup dir) - this is so we can ultimately keep the generated code around for debugging purposes.

	Summary of changes:
	- nativized plugins now moved to ...\Intermediate\Plugins\<PLATFORM>\NativizedAssets
	- corresponding manifest files get saved inside the module and named to match the platform
	- nativized modules now whitelisted only for the platform they were generated for
	- cleanup on how we generate paths (now piping in platform name) and pass multi-cook process ids (for building manifest filenames)
	- extending the 'NativizeAssets' command line, so you can use it to specify the target plugin path (utilized by UAT to coordinate the plugin path between cook & build - was previously hardcoded in multiple places).

Change 3376826 on 2017/04/03 by Phillip.Kavan

	#jira UE-43330 - Fix a crash when adding an input parameter to a Custom Event node after deleting a Function Graph containing a Create Event node.

	Change summary:
	- Modified UK2Node_CreateDelegate::HandleAnyChangeWithoutNotifying() to check for a valid blueprint before accessing it (since the accessor is now a checked operation).
	- Modified UK2Node_CreateDelegate::GetScopeClass() to also check for a valid blueprint before accessing it.
	- Switched 'NULL' to 'nullptr' in a few spots.

Change 3376831 on 2017/04/03 by Ben.Zeigler

	#jira UE-43500, clean up UPackage when EDL/async loading fails. This restores EDL LoadPackage to work the same as non EDL and return NULL instead of an invalid empty package

Change 3376846 on 2017/04/03 by Ben.Zeigler

	#jira UE-38760 Properly refresh exec pins when removing pin from a Switch on Int node

Change 3376850 on 2017/04/03 by Dan.Oconnor

	Use authoritative class to mitigate compilation order issues

Change 3376961 on 2017/04/03 by Ben.Zeigler

	#jira UE-43127 Add struct ops implementations for FIntVector and FBox2d, any blueprint type needs struct ops to avoid crashes
	Fix Box2d variable name in NoExportTypes

Change 3376985 on 2017/04/03 by Ben.Zeigler

	#jira UE-43582 Remove Xbox-specific code from AssetRegistry because it won't work after my refactor. The serialization is much faster now and neither Bob nor I can conceive of a way this would take long enough to stall the main thread. If it it is somehow a problem, it should be wrapped in a slow task instead

Change 3377009 on 2017/04/03 by Ben.Zeigler

	#jira UE-43036 Fix crash when right clicking blueprint with no parent class. Ensures are fine but crashes should be avoided so people can try to copy data out of them

Change 3377054 on 2017/04/03 by Zak.Middleton

	#ue4 - Fix CharacterMovementComponent updated with very high delta time on server when initially joining. Make sure the ServerTimeStamp is initialized to current world time rather than zero to prevent large delta.

	#jira UE-40344
	#udn https://udn.unrealengine.com/questions/310497/large-delta-time-for-first-player-movement-update.html

Change 3377061 on 2017/04/03 by Dan.Oconnor

	Fixes for issues exposed by cooking with compilation manager. When cooking we end up with more blueprints compiling at a single time, which highlighted issues reading from generated classes while they were actively regenerating.

	Note that EInternalCompilerFlags::PostponeLocalsGenerationUntilPhaseTwo has only been added to mitigate risk - there is no known reason that existing compilation flows can't postpone generatation of local variables.

Change 3377073 on 2017/04/03 by Mike.Beach

	CIS fix - proper initialization ordering.

Change 3377371 on 2017/04/03 by Ben.Zeigler

	#jira UE-43144 Disallow creating map of FText, like bool it is not hashable

Change 3377395 on 2017/04/03 by Dan.Oconnor

	Build fix - make order in source match initialization order in artifact

Change 3377417 on 2017/04/03 by Dan.Oconnor

	Speculative SA fix

Change 3377496 on 2017/04/03 by Aaron.McLeran

	#jira UE-43558 Cleaning up shutdown code with audio plugins.

Change 3377608 on 2017/04/03 by Zak.Middleton

	#ue4 - Added function ACharacter::CacheInitialMeshOffset() to cache initial mesh offset, used as the target for network smoothing. Added a call to this function from BeginPlay() in addition to the existing call from PostInitializeComponents(), and exposed this to blueprints as well. This fixes the case of people moving the mesh in BeginPlay rather than in the editor or construction script and not having the mesh offset reflected correctly in network games.

	#jira UE-38966

Change 3377880 on 2017/04/03 by Aaron.McLeran

	Audio bug fixes

	#jira UE-43600  Fixing sounds played by playsoundatlocation for audio volume calculations
	#jira UE-43601 Fixing listener volume interpolation
	#jida UE-43602 Fixing reverb/eq interpolation

Change 3377908 on 2017/04/03 by Phillip.Kavan

	#jira UE-43565 - Fix a regression on type-dependent array function node pins that have more than one link.

	Change summary:
	- Added FBlueprintEditorUtils::FindLinkedPinWithMostDerivedPinType()
	- Modified FBlueprintEditorUtils::FindLinkedPinWithAuthoritativePinType() to properly handle pins that have multiple links.

Change 3377912 on 2017/04/03 by Dan.Oconnor

	Fix for missing SUBINSTANCE variables on anim BP skeletons. I elected to force SUBINSTANCE variable creation for the compilation manager codepath

Change 3377946 on 2017/04/03 by Ben.Zeigler

	#jira UE-43594 Fix issue with streamable manager where a failed load would leave bAsyncLoadRequestOutstanding, which would confuse later calls to stream the same asset
	Lower some error verbosity now that I believe I have tracked down the issue

Change 3377950 on 2017/04/03 by Michael.Noland

	Blueprints: Prevent merge tool from crashing in SVN when looking at a file with gaps in the revision history
	(May still not work correctly, but it won't crash; full fix covered by UE-43603)
	#jira UE-22428

Change 3377981 on 2017/04/03 by Michael.Noland

	PR #3416: UE-43005: Prevent crash due to too long name (Contributed by projectgheist)

	#jira UE-43291
	#jira UE-43005

Change 3378039 on 2017/04/04 by Michael.Noland

	PhysX: Allowed the editor to compile when bRuntimePhysicsCooking is disabled (WITH_EDITOR is used in every place in C++ to force it in already)

Change 3378041 on 2017/04/04 by Michael.Noland

	Paper2D: Adjusted under what circumstances CreatePhysicsMeshes is called on various Paper2D types to match UProceduralMeshComponent

Change 3378081 on 2017/04/04 by Dan.Oconnor

	Fix Blueprint Context nodes so that they don't rely on Ar.IsBeingSaved() call before compilation
	3x because of copy/paste

Change 3378094 on 2017/04/04 by Dan.Oconnor

	Add missing preload call for compilation manager

Change 3378917 on 2017/04/04 by Marc.Audy

	Fix static analysis (which is very dumb)

Change 3378986 on 2017/04/04 by Dan.Oconnor

	Fix bad merge

Change 3379100 on 2017/04/04 by Dan.Oconnor

	Fix missing CPF_ConstParm/CPF_ReferenceParm/CPF_OutParm logic in 'fast' skeleton path
	#jira UE-43629

Change 3379102 on 2017/04/04 by Ben.Zeigler

	Actually fix StreamableManager issues with cancelling a request messing up things in the future. We now always queue a request, even if it failed before or there is one in progress. This has to be done to avoid issues with cancelling the existing request or mounting new files after it's failed once
	Now that StreamableManager will retry missing files, add failed load packages to the known missing list so it won't spam errors over and over

Change 3379147 on 2017/04/04 by Zak.Middleton

	#ue4 - Improve on CL 3377608: Made Character::CacheInitialMeshOffset() take location and rotation params so you can be explicit on the values, in case you try to change these during network smoothing, where reading the relative offsets would have been skewed.

Change 3379254 on 2017/04/04 by Aaron.McLeran

	Fixing sounds in audio mixer when no EQ has been set.

Change 3379760 on 2017/04/04 by Ben.Zeigler

	#jira UE-43647 Don't delete failed async packages that are rooted

[CL 3380073 by Dan Oconnor in Main branch]
2017-04-04 20:49:52 -04:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f 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
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
Michael Noland
4c3276c5b6 Graph Editing: Renamed UEdGraphNode::NodeWidget DEPRECATED_NodeWidget to indicate it should not be used in future code since the assumption that at most a single graph editor is viewing a UEdGraph is not valid
(existing uses have been updated to the new name but not refactored yet)

[CL 2606946 by Michael Noland in Main branch]
2015-06-30 22:14:13 -04:00
Ben Cosh
333979f59b This modfiies the InlineEditableTextBlocks to have a multiline option and enables this on comment nodes
#UE-9118 - Graph comments (Blueprints, Materials, Sound cues, etc...) should support multiline text editing
#UE-12964 - Comment box hits (Title bar) are offset
#Branch UE4
#Proj GraphEditor, Kismet, Slate

[CL 2546952 by Ben Cosh in Main branch]
2015-05-12 06:09:01 -04:00
Michael Noland
1105b5645c Graph Editor: Allowed double-clicking to interact with splines when they overlap the body of a comment node (double-clicking on the header still activates comment editing) [UE-15209]
[CL 2543793 by Michael Noland in Main branch]
2015-05-08 17:44:46 -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
0dc3ecf817 Fix for broken comment node colors
#UE-14212 - Fortnite Branch: Colors no longer work on Blueprint comments
#Branch UE4
#Proj GraphEditor

[CL 2526760 by Ben Cosh in Main branch]
2015-04-27 06:45:26 -04:00
Ben Cosh
a04ac2129c Fix for the comment nodes displaying comment balloons at fulldetail
#UE-13107 - Blueprint Editor: Newly-created Comments draw a redundant comment balloon on top by default
#UE-13301 - Comment depth is editable in the details panel for comment nodes
#Branch UE4
#Proj UnrealEd, GraphEditor

[CL 2505583 by Ben Cosh in Main branch]
2015-04-08 14:54:52 -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
Michael Schoell
9c0cbd9c6b Hidden comment bubbles should no longer reappear when doing unrelated actions.
#jira UE-9416 - Unpinned comment bubbles on comment blocks come back after deleting an unrelated node

[CL 2448867 by Michael Schoell in Main branch]
2015-02-17 12:27:10 -05:00
Dan Oconnor
700b762cc9 FBlurpint::OnChanged split into OnCompiled and OnChanged. Only difference is that we don't call RefreshEditors in the case of OnCompiled (we manually update displayed error information on the graph nodes)
Added Stats
Fixed bad delegate logic in BlueprintActionDatabase

[CL 2407793 by Dan Oconnor in Main branch]
2015-01-15 15:57:51 -05:00
Nick Atamas
f5e19bef14 Slate : RelativeLayoutScale is now computed in the SlatePrepass(). ComputeDesiredSize() now takes a float parameter. API-breaking change!
[CL 2406629 by Nick Atamas in Main branch]
2015-01-14 19:04:45 -05:00
Ben Cosh
1e8e5b2552 This expands recent work to resolve comment depths of all comments in a region when a single comment node is moved to that region.
#UE-3724 - LIVE: BP: If a comment box is created inside of another larger comment box the smaller box is no longer editable
#Branch UE4
#Proj GraphEditor

[CL 2397421 by Ben Cosh in Main branch]
2015-01-05 08:54:17 -05:00
Dan Hertzka
c042ddcb94 ---- 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
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Ben Cosh
ffcddfac6a To fix the comment in comment selection issues this changelist adds a node sort to the node panel and adds some functionality to help comments manage their depth in relation to one another.
#UE-3724 - LIVE: BP: If a comment box is created inside of another larger comment box the smaller box is no longer editable
#Branch UE4
#Proj UnrealEd, GraphEditor

#info this issue came about after recent changes to slate resulted in OnHitTest no longer being called by design. This changelist seeks to eliminate the requirement for this by correctly sorting the comments in arrangedchildren.

codereview Nick.Atamas

[CL 2377331 by Ben Cosh in Main branch]
2014-12-05 05:33:22 -05:00