Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/BuildGraph/Script.cs
Andrew Grant c5ccb6e4a9 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3564337)
#lockdown Nick.Penwarden
#rb na


Change 3564610 on 2017/07/31 by Uriel.Doyon

	Integrated CL 3543210 : Fixed an issue when computing material scales where the default material ends up being used instead of the required material.
	Deprecated previous material data as it was causing some waste.
	Integrated CL 3526859 : Texture mip bias is now reset whenever the streaming budget increases
	#!rb none
	#!tests played monolith2 on PS4

Change 3564585 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: ben.salem
	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

	#!ROBOMERGE-SOURCE: CL 3564579 in //Orion/Release-42/... via CL 3564580
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3564584 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: ben.salem
	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

	#!ROBOMERGE-SOURCE: CL 3564579 in //Orion/Release-42/... via CL 3564580
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3564583 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: ben.salem
	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

	#!ROBOMERGE-SOURCE: CL 3564579 in //Orion/Release-42/... via CL 3564580
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3564582 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: ben.salem
	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

	#!ROBOMERGE-SOURCE: CL 3564579 in //Orion/Release-42/... via CL 3564580
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3564580 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: ben.salem
	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

	#!ROBOMERGE-SOURCE: CL 3564579 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3564579 on 2017/07/31 by Ben.Salem

	Merging using Dev-Gen_->_Release-42
	Killing old useless nodes, fixing perf reporting, turning on shallow tests, killing non-focus in-depth perf tests for now
	#!rb various people in devgen
	#!tests Ran a shallow test map.

Change 3564513 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3564512 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3564511 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3564510 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3564509 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3564507 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	[CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

	#!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3564506 on 2017/07/31 by Laurent.Delayen

	Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened).

	#!codereview jurre.debaare, dwayne.martin, lina.halper, martin.wilson
	#!rb none
	#!tests Kwang AnimBP opens without a warning.

Change 3564384 on 2017/07/31 by Shaun.Kime

	Now have a System Life Cycle module that looks for all the emitters being dead and then disables itself. This also triggers the reset of the simulation.
	GPU particles seems to have degraded after the spawn rate.

	Emitters now reset when there are no particles.
	Systems now reset when the state is Dead or Disabled, so you'll need to add a System Life Cycle component to have proper looping behavior for a system.

	#!rb none
	#!tests updated hypnotizer and other scripts

Change 3564012 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/... via CL 3564005
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3564009 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/... via CL 3564005
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3564008 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/... via CL 3564005
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3564007 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/... via CL 3564005
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3564006 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/... via CL 3564005
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3564005 on 2017/07/31 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added console command to disable URO interpolation.

	[CODEREVIEW] martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

	#!ROBOMERGE-SOURCE: CL 3564003 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3564003 on 2017/07/31 by Laurent.Delayen

	Added console command to disable URO interpolation.

	#!codereview martin.wilson, lina.halper
	#!rb none
	#!tests ghost networked, simulated proxy.

Change 3563538 on 2017/07/30 by Frank.Fella

	Niagara - Stack data interface editing fixes
	+ When a data interface object is modified by the stack, refresh the curves UI and re-initialize the simulation.
	+ Generate better names for the inputs used by data interfaces.

	#!Tests The curve UI and simulation update correctly when modifying the curve data interfaces in the stack and the generated inputs for data interfaces have better names.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3563537 on 2017/07/30 by Frank.Fella

	Niagara - Fix the background color for stack errors.

	#!Tests Stack errors are no longer white.
	#!rb none

Change 3563531 on 2017/07/30 by Frank.Fella

	Niagara - Generate stack spacer keys more safely to prevent list view crashes.

	#!Tests adding an emitter spawn module no longer crashes.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3563518 on 2017/07/30 by Frank.Fella

	Niagara - Give parameter map error log message more context

	#!Tests none
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3563384 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/... via CL 3563379
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3563383 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/... via CL 3563379
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3563382 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/... via CL 3563379
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3563381 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/... via CL 3563379
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3563380 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/... via CL 3563379
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3563379 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563375 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3563375 on 2017/07/29 by Andrew.Grant

	Fixed some commandline logic issues in LoadTest

	#!tests ran locally
	#!rb none

Change 3563307 on 2017/07/29 by Frank.Fella

	Niagara - Stack UI Rework
	+ Refactor most of the stack layout code to make things more consistent and to make future features possible.
	+ Add a hover cue for item rows.
	+ Add icons for the different types of inputs.
	+ Make inputs collapsible.
	+ Move the pin buttons to the right side of the name column to prevent visual clutter with the expanders.
	+ Make the module splitter visible and add a correct hover cue.

	#!Tests Stack functions correctly.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3563305 on 2017/07/29 by Ben.Salem

	Add Shallow FX Test node to gauntlet and to orionbuild. Also switched Dev-Gen to being the Deep Test branch instead of dev-ui.
	#!rb none
	#!tests Ran a test of the new node, preflighted orionbuild.xml changes.

Change 3563205 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/... via CL 3563200
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3563204 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/... via CL 3563200
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3563203 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/... via CL 3563200
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3563202 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/... via CL 3563200
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3563201 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/... via CL 3563200
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3563200 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563199 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3563199 on 2017/07/29 by Andrew.Grant

	Add an exception handler around post-test Gif creation.

	Added -attended option to tests.

	#!tests compiled
	#!rb none

Change 3563187 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/... via CL 3563182
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3563186 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/... via CL 3563182
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3563185 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/... via CL 3563182
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3563184 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/... via CL 3563182
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3563183 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/... via CL 3563182
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3563182 on 2017/07/29 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3563181 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3563181 on 2017/07/29 by Andrew.Grant

	Fix an issue where we'd try to set a file attriute before copying it (!)

	Turn failure of handling loadorder file into a warning

	#!tests compiled.
	#!rb none

Change 3562983 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/... via CL 3562978
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3562982 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/... via CL 3562978
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3562981 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/... via CL 3562978
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3562980 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/... via CL 3562978
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3562979 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/... via CL 3562978
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3562978 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: dan.hertzka
	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[at Nick.Darnell,] [at Don.Eubanks] [FYI] Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	[QAREVIEW] Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

	#!ROBOMERGE-SOURCE: CL 3562969 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3562977 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/... via CL 3562970
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3562976 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/... via CL 3562970
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3562975 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/... via CL 3562970
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3562974 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/... via CL 3562970
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3562973 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/... via CL 3562970
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3562970 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	[at daniel.lamb] #!tests LoadTest locally on cooked data on PS4/Win64

	#!ROBOMERGE-SOURCE: CL 3562966 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3562969 on 2017/07/28 by Dan.Hertzka

	Fixed all orion tooltip scaling & placement issues
	- Tooltip itself is always drawn unscaled, regardless of the anchor's layout or render scaling
	- Tooltip is anchored based on both the layout and render scaling, so the unscaled tooltip still appears in the correct spot relative to the scaled anchor
	- Finally, all tooltips are always drawn at full opacity and with no tint, regardless of the tint/alpha on the anchor
	- Unfortunately this couldn't all just be added direcly to SMenuAnchor. It's in proper Slate land and unable to access the game viewport's DPI scale.

	Made a few small engine-level changes to SMenuAnchor:
	- Added bApplyWidgetStyleToMenu - if false, the popup is given a default FWidgetStyle when it's painted
	- Moved the FPopupPlacement declaration to SMenuAnchor.h, but it's a protected declaration within the widget

	[OR-41642] - Alpha is no longer applied to the chest tooltips. Also, the chests on the edge won't have their tooltip clip off the screen.

	#!review-3562971 @Nick.Darnell, @Don.Eubanks
	#!fyi Matt.Schembari, Philip.Buuck, Stephan.Jiang
	#!rb none
	#!tests Editor tooltips are fine; PIE Frontend - checked that both the deck builder gem tree gems and the side entries in the chest selection screen appear properly (good examples of layout scaling and pure render scaling)

	#!QAReview Let me know if you come across any tooltips that are blatantly huge, tiny, or in an incorrect place

Change 3562966 on 2017/07/28 by Andrew.Grant

	Editgration of 3437205 from Dev-Framework to address issues with Blueprint references being incorrectly collected

	#!rb none
	#!review-3562967 @daniel.lamb
	#!tests LoadTest locally on cooked data on PS4/Win64

Change 3562965 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/... via CL 3562960
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3562964 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/... via CL 3562960
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3562963 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/... via CL 3562960
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3562962 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/... via CL 3562960
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3562961 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/... via CL 3562960
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3562960 on 2017/07/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3562959 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3562959 on 2017/07/28 by Andrew.Grant

	Changed to LoadTest to prevent it timing out on PS4

	#!tests tested locally
	#!rb none

Change 3562136 on 2017/07/28 by Shaun.Kime

	Changing the version so that old assets will recompile and regenerate their spawn attribute table

	#!rb none
	#!code.review simon.tovey
	#!tests opened asset and made sure it compiled on load

Change 3560805 on 2017/07/28 by Simon.Tovey

	- Programmable spawning
	All spawning controlled by creating a FNiagaraSpawnInfo attribute. Any of these attributes in an emitter will feed one spawn script run.
	- Fixed issue with HLSL and register table layout not matching for structs correctly.
	- Removed some vestigial code.
	- Temporarily commenting out references to burst in the UI until we can hook them back up.
	- Removed direct ref to emitter handle in emitter instances with an EmitterIndex in their parent. More broadly useful and can be used to access emitter handle.
	- Fixed a couple of issues breaking interpolated spawning.
	- Updated default emitter and the hypnotiser to new spawning method.

	#!rb none
	#!tests Tested new default emitter and a few others.
	#!codereview Olaf.Piesche, Frank.Fella, Shaun.Kime

Change 3560376 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/... via CL 3560370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3560375 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/... via CL 3560370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3560374 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/... via CL 3560370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3560373 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/... via CL 3560370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3560372 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/... via CL 3560370
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3560370 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: stephan.jiang
	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

	#!ROBOMERGE-SOURCE: CL 3560367 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3560367 on 2017/07/27 by Stephan.Jiang

	OrionEditableTextBox max count

	  -- This way there is a max count for Deck names so they won't go over above 50 characters.

	#!rb Dan.Hertzka
	#!test PIE

Change 3560196 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/... via CL 3560183
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3560192 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/... via CL 3560183
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3560188 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/... via CL 3560183
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3560186 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/... via CL 3560183
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3560185 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/... via CL 3560183
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3560183 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

	#!ROBOMERGE-SOURCE: CL 3560180 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3560180 on 2017/07/27 by Daniel.Lamb

	Added more information to the logging output for OR40458.
	#!rb Trivial
	#!test Compile and run orion server / ps4 client

Change 3560131 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/... via CL 3560126
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3560130 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/... via CL 3560126
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3560129 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/... via CL 3560126
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3560128 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/... via CL 3560126
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3560127 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/... via CL 3560126
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3560126 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: ori.cohen
	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3560123 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3560123 on 2017/07/27 by Ori.Cohen

	Fix rigid body node not working on ps4 due to fast path not allowing ragdolls to be created. This should not apply for animation.

	#!rb David.Hill
	#!jira OR-41774
	#!tests none

Change 3559908 on 2017/07/27 by Aaron.McLeran

	Fixing compile error
	#!tests none
	#!rb none
	#!codereview Andrew.Grant

Change 3559674 on 2017/07/27 by Shaun.Kime

	Now batching up the shader constants into another data set for System/Emitter graphs.

	#!rb Simon.Tovey
	#!tests ran multiple copies of Hypnotizer and made sure that they obeyed the emitter lifetime module outputs.

Change 3559527 on 2017/07/27 by Aaron.McLeran

	#!jira UE-45483 Integrating fix to //Orion/Dev-General
	#!rb none
	#!tests none

Change 3559284 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/... via CL 3559115
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3559283 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/... via CL 3559115
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3559282 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/... via CL 3559115
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3559281 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/... via CL 3559115
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3559280 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/... via CL 3559115
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3559254 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/... via CL 3559060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3559253 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/... via CL 3559060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3559252 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/... via CL 3559060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3559251 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/... via CL 3559060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3559250 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/... via CL 3559060
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3559192 on 2017/07/27 by Shaun.Kime

	Removing compile on load for standalone functions.

	#!rb none
	#!tests n/a

Change 3559115 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

	#!ROBOMERGE-SOURCE: CL 3559111 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3559111 on 2017/07/27 by Laurent.Delayen

	Exposed GetAzimuthAndElevation to blueprints.

	#!rb none
	#!tests Pyro turrets

Change 3559060 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: jon.lietz
	compile fix

	#!rb none
	#!test compiles
	@Daniel.Lamb

	#!ROBOMERGE-SOURCE: CL 3559043 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3559043 on 2017/07/27 by Jon.Lietz

	compile fix

	#!rb none
	#!test compiles
	#!review-3559054 @Daniel.Lamb

Change 3558928 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/... via CL 3558919
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3558927 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/... via CL 3558919
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3558926 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/... via CL 3558919
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3558923 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/... via CL 3558919
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3558921 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/... via CL 3558919
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3558919 on 2017/07/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

	#!ROBOMERGE-SOURCE: CL 3558917 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3558917 on 2017/07/27 by Daniel.Lamb

	More temporary code to track down OR-40458
	#!test Paragon boot test ps4
	#!rb None

Change 3558264 on 2017/07/27 by Wyeth.Johnson

	Pondering update

Change 3558206 on 2017/07/27 by Jurre.deBaare

	HLOD: Need to be able to disable auto-LOD generation on meshes in a BP
	#!fix added flag to PrimitiveComponent to disable certain BP components to be excluded from HLOD generation, and also not have a LODParent primitive set
	#!jira UE-47711
	#!rb Benn.Gallagher
	#!Tests generate HLOD clusters with enabled/disabled components and actors

Change 3558200 on 2017/07/27 by Jurre.deBaare

	Crash rebuilding HLOD cluster
	#!fix Simplygon returns an empty mesh if the input is not overlapping the culling (landscape) mesh, so added bound check for input vs landscape to prevent this situation
	#!misc Added error when Simplygon returns an invalid raw mesh after processing
	#!jira UE-47709
	#!rb Benn.Gallagher

Change 3558116 on 2017/07/27 by Wyeth.Johnson

	Roughed in drag, while pondering physical correctness or lack therof

Change 3557918 on 2017/07/27 by Simon.Tovey

	~2x speed up of niagara compilation.
	Set of visited nodes in numeric fix up viistor was becoming massive and spending about half the total compile time just ensuring we'd not visited a node before.
	Moved over to a slightly clunkier but faster method of using a visitor ID on the node itself.

	#!codereview Olaf.Piesche, Frank.Fella, Shaun.Kime
	#!rb none
	#!tests tested several emitters. Seems to work

Change 3557439 on 2017/07/26 by Olaf.Piesche

	Replicating CL3557068

	Adding a configurable spawn rate scaling reference value; sets the zero-scale reference value (default: 2),  so additional quality levels can be added and scaling customized further.
	IMPORTANT: This sets the reference to 3 in PS4Scalability.ini; effects on PS4 are again going to have reduced spawn rates versus PC and Neo, as intended by the FX artists starting with this change.

	#!rb marcus.wassmer
	#!tests QAGame

Change 3556915 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/... via CL 3556910
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3556914 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/... via CL 3556910
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3556913 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/... via CL 3556910
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3556912 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/... via CL 3556910
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3556911 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/... via CL 3556910
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3556910 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

	#!ROBOMERGE-SOURCE: CL 3556903 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3556903 on 2017/07/26 by Daniel.Lamb

	Temporary change to help track down garbage UTexture refrence related to OR-40458
	#!rb Trivial
	#!test Paragon cooked

Change 3556592 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/... via CL 3556587
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3556591 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/... via CL 3556587
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3556590 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/... via CL 3556587
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3556589 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/... via CL 3556587
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3556588 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/... via CL 3556587
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3556587 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

	#!ROBOMERGE-SOURCE: CL 3556570 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3556570 on 2017/07/26 by Andrew.Grant

	Allow Notify nodes to be absolute - e.g. replace any notication settings the node has from being included in other targets.

	This is to allow us to restrict emails about certain warnings or failures to a smaller subset of people


	#!rb Ben.Marsh (review)
	#!tests Debugged through a Nightly Build target of OrionBuild and verified absolute notifies are correctly set up.

Change 3556239 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/... via CL 3556229
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3556238 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/... via CL 3556229
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3556237 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/... via CL 3556229
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3556236 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/... via CL 3556229
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3556235 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	[at Daniel.Lamb]

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/... via CL 3556229
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3556229 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	@Daniel.Lamb

	#!ROBOMERGE-SOURCE: CL 3556226 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3556226 on 2017/07/26 by David.Ratti

	Fix issue where gameplay tags were not deterministic between cooked and uncooked

	#!rb none
	#!tests pie
	#!review-3556227 @Daniel.Lamb

Change 3556163 on 2017/07/26 by Frank.Fella

	Niagara - Rework the system toolkit so that it can edit stand alone emitters and systems.  This allows the use the attribute spreasheet and system views when editing emitters and enables inspecting and editing the emitter graphs (for debug purposes) when editing systems.

	#!Tests Verified general system and emitter editing functionality.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3556104 on 2017/07/26 by Jian.Ru

	Changed OpacityConst and OpacityMaskConst default to 1.0 to prevent HLOD meshes from disappearing

Change 3555992 on 2017/07/26 by Frank.Fella

	Niagara - Fix a bug when deleting dynanmic inputs which would leave the graph broken.

	#!Tests Removing a dynamic input now leaves the graph in a vaild state.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3555991 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/... via CL 3555896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3555988 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/... via CL 3555896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3555984 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/... via CL 3555896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3555983 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/... via CL 3555896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3555982 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/... via CL 3555896
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3555896 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

	#!ROBOMERGE-SOURCE: CL 3555778 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3555778 on 2017/07/26 by David.Ratti

	Change GameplayCueManager to deal with UClasses instead of CDOs when managing preallocation lists.

	OR-41476

	#!rb none
	#!tests pie

Change 3555726 on 2017/07/26 by Frank.Fella

	Niagara - Don't clear keyboard focus on commit for float and int value editors.

	#!Tests keyboard focus is no longer cleared.
	#!rb none

Change 3555668 on 2017/07/26 by Frank.Fella

	Niagara - Fix a bug in the hlsl translator where multiple dynamic input usages were not genering unique code like modules.

	#!Tests Multiple dynamic input usages generate correct code.
	#!rb Shaun K.

Change 3555188 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/... via CL 3555088
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3555187 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/... via CL 3555088
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3555186 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/... via CL 3555088
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3555185 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/... via CL 3555088
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3555184 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/... via CL 3555088
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3555088 on 2017/07/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3555053 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3555053 on 2017/07/26 by Andrew.Grant

	Gauntlet - Fixed error in checking availability range of devices

	#!tests debugged
	#!rb none

Change 3554987 on 2017/07/26 by Simon.Tovey

	Fixed register table / hlsl mismatch

	#!rb none
	#!tests Scripts with compound structs containing ints now work correctly.
	#!codereview Shaun.Kime, Frank.Fella, Olaf.Pieche

Change 3554672 on 2017/07/25 by Olaf.Piesche

	More PS4 cooking/launching fixes


	#!rb none
	#!codereview simon.tovey,frank.fella,shaun.kime
	#!tests cook PS4

Change 3554407 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/... via CL 3554400
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3554406 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/... via CL 3554400
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3554405 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/... via CL 3554400
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3554404 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/... via CL 3554400
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3554403 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/... via CL 3554400
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3554400 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3554397 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3554397 on 2017/07/25 by Andrew.Grant

	Duplicating fix for UE-47657 - streaming issues with Linux builds

	#!tests compiled, ran PS4 client
	#!rb none

Change 3554394 on 2017/07/25 by Wyeth.Johnson

	Mooooore modules work

Change 3553557 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/... via CL 3553552
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3553556 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/... via CL 3553552
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3553555 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/... via CL 3553552
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3553554 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/... via CL 3553552
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3553553 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/... via CL 3553552
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3553552 on 2017/07/25 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3553548 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3553548 on 2017/07/25 by Andrew.Grant

	Added availability constraints to devices

	#!tests ran locally and debugged results
	#!rb none

Change 3553261 on 2017/07/25 by Frank.Fella

	Niagara - Added some editor only delegates so that we can handle the niagara system instance creation and destruction more consistently.  Also removed the get on create functionality when getting the system instance from the component.

	#!Tests Verified that the system instance is now valid when opening the system and emitter editors.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3553018 on 2017/07/25 by Frank.Fella

	Niagara - Remove a check which was causing crashes when executing an empty script.  We probably shouldn't execute these at all, but that can be a future optimization.

	#!Tests Empty scripts no longer crash when executed.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3552872 on 2017/07/25 by Frank.Fella

	Niagara - Allow setting system parameters in the system scripts and tweak the IsValid() logic on systems and scripts so that systems with empty system scripts can still run.

	#!Tests Empty system scripts now run, and invalid system scripts no longer try to simulate and cause a crash.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3552115 on 2017/07/24 by Olaf.Piesche

	More compile errror fixes for Clang

	#!rb none
	#!codereview Simon.Tovey
	#!tests build Win64 and PS4

Change 3551601 on 2017/07/24 by Wyeth.Johnson

	Some debug stuff

Change 3551581 on 2017/07/24 by Frank.Fella

	Niagara - Make the simulation tolerate float inaccuracies a little better when updating using desired age.

	#!Tests Simulations no longer reset every frame when paused.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3551454 on 2017/07/24 by Wyeth.Johnson

	test for frank

Change 3551387 on 2017/07/24 by Daniel.Lamb

	Reduced the sensitivity on the slow tick timer warning
	#!rb Trivial
	#!test Cooked paragon ps4

Change 3551377 on 2017/07/24 by Daniel.Lamb

	When you run from launch build it always puts notimeouts on the commandlines
	#!rb Trivail
	#!test Cooked paragon ps4

Change 3551370 on 2017/07/24 by Daniel.Lamb

	Added option to dump all the scalability options which were applied.
	#!rb Trivial
	#!test Cooked paragon

Change 3551101 on 2017/07/24 by Bart.Hawthorne

	Remove the call to UDemoNetDriver::TickCheckpoint inside UDemoNetDriver::SaveCheckpoint. There was an edge case where if the partial bunch reliable threshold was hit, since this call is outside the normal tick flow, the connection didn't have a chance to internally ack the packets, so the actor might not replicate out to the checkpoint since the channel was waiting for them to still be ack'd.

	#!codereview ryan.gerleve
	#!rb none
	#!tests saved and loaded replay

Change 3551058 on 2017/07/24 by Shaun.Kime

	Removed logging code

	#!rb none
	#!tests n/a

Change 3550968 on 2017/07/24 by Wyeth.Johnson

	Some more tests

Change 3550806 on 2017/07/24 by Shaun.Kime

	Basic lifetime in place for solo emitters.

	#!rb none
	#!test modified Hypnotizer asset to have two loops then ultimately a reset at 15 sec.

Change 3550785 on 2017/07/24 by Frank.Fella

	Niagara - Fix a crash when opening the system editor related to moving the stack to it's own module.

	#!tests no longer crashes.
	#!rb none

Change 3550137 on 2017/07/23 by Frank.Fella

	Niagara - Create a separate module for niagara editor widgets and move the stack UI there.  This enables hot reloading for faster UI iteration.

	#!tests Verified that hot reloading works for the stack UI.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3549581 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/... via CL 3549576
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3549580 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/... via CL 3549576
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3549579 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/... via CL 3549576
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3549578 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/... via CL 3549576
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3549577 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/... via CL 3549576
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3549576 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549564 in //Orion/Release-42/...
	#!ROBOMERGE-BOT: ORION (Release-42 -> Main)

Change 3549564 on 2017/07/22 by Andrew.Grant

	Gauntlet - only warn on device issue if > 2 errors occur
	#!tests compiled
	#!rb none

Change 3549546 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn about device problems if > 1 error occurs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549544 in //Orion/Release-41.3/... via CL 3549545
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3549545 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet - only warn about device problems if > 1 error occurs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3549544 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3549544 on 2017/07/22 by Andrew.Grant

	Gauntlet - only warn about device problems if > 1 error occurs

	#!tests compiled
	#!rb none

Change 3549542 on 2017/07/22 by Andrew.Grant

	Merging latest from //Orion/Main to Release-42
	#!tests #!rb none

Change 3549530 on 2017/07/22 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3549505 on 2017/07/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3549101 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3549488 on 2017/07/22 by Andrew.Grant


	Merging //Orion/Main to Dev-Balance (//Orion/Dev-Balance)
	#!tests #!rb none

Change 3549423 on 2017/07/22 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)
	#!tests #!rb none

Change 3549404 on 2017/07/22 by Andrew.Grant

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics)
	#!tests #!rb none

Change 3549101 on 2017/07/21 by Andrew.Grant

	Copying //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

Change 3549055 on 2017/07/21 by Frank.Fella

	Niagara - Move stack editor data to it's own class so that the system and emitter sub-stacks can have their own copies since they are in different graphs and the system is shared among all emitter stacks.

	#!Tests various stack functionality which is stored in the editor data.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3548983 on 2017/07/21 by Olaf.Piesche

	Re-adding inadvertantly deleted IsValid function to FNiagaraDataSetIterator. Oops.
	Should fix Wyeth's current crash opening assets.

	#!rb none
	#!codereview frank.fella,shaun.kime,simon.tovey
	#!tests none

Change 3548810 on 2017/07/21 by Bart.Hawthorne

	Don't replicate the WorldSettings Pauser property out to replays - this causes the pause button to automatically get pressed (since it checks the pauser property for its state).

	#!jira OR-41516
	#!rb none
	#!codereview ryan.gerleve
	#!tests watched a live replay and paused it from the match, also used the pause button normally in a regular replay

Change 3548740 on 2017/07/21 by Bart.Hawthorne

	- Added an OnRep for the Pauser member on the WorldSettings so code can get notified for when the server becomes paused
	- Hooked up the HUDContext and Escape Menu Widget to the WorldSettings Pauser OnRep so that the pause game button text can update appropriately

	#!codereview ryan.gerleve, cody.haskell
	#!rb none
	#!tests paused and unpaused game in a live match and tested pausing in a replay

Change 3548656 on 2017/07/21 by Olaf.Piesche

	Changing const statics with class-scope initialization to class-scope enum to make compile on Clang

	#!rb none
	#!codereview shaun.kime,frank.fella,simon.tovey
	#!tests builds, editor, sample assets

Change 3548395 on 2017/07/21 by Jeff.Williams

	Initial branch of files from Main (//Orion/Main) to Release-42 (//Orion/Release-42)

Change 3548394 on 2017/07/21 by Ben.Salem

	Add flavor of build to FX Perf report mail. Also, add -localmailer flag to FXtests to allow for reports to be sent out from tests run locally.
	#!rb none
	#!tests Ran a pass with the -localmailer flag enabled and mail sent out properly.

Change 3548382 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3548082 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3548285 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3548082 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3548098 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546847 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3548095 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546847 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3548092 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546847 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3548090 on 2017/07/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546847 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3548082 on 2017/07/21 by Andrew.Grant

	Copying //Orion/Dev-UI to Main
	#!tests #!rb none

Change 3548077 on 2017/07/21 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb na

Change 3547577 on 2017/07/20 by Olaf.Piesche

	-various build problems for non-editor builds fixed
	-almost there
	-editor should still build and run fine; PC game and PS4 are building save for one more error


	#!rb none
	#!codereview frank.fella,shaun.kime,simon.tovey
	#!tests editor

Change 3547495 on 2017/07/20 by Shaun.Kime

	Checkpointing code for liftetime management of emitters. Moved everything to new enum ENiagaraExecutionState. More work on EmitterLifetime module. Added the count for number of alive emitters and emitter particle counts to appropriate emitter and system script execution. Still need to implement for batched system scripts. Fixed up enums so that they can be assigned using numerics so that we can use in ==/!=/etc.

	#!rb none
	#!tests n/a

Change 3547204 on 2017/07/20 by Thomas.Ross

	Compile all blueprints commandlet
	#!rb Andrew.Grant
	#!tests Local command line, Electric Commander

Change 3546884 on 2017/07/20 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3546847 on 2017/07/20 by Andrew.Grant

	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#!tests #!rb none

Change 3546620 on 2017/07/20 by Simon.Tovey

	Adding integer random to fix wyeths random issues.
	#!rb none
	#!tests random range now works. Exisiting randoms work

Change 3546539 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Version locking to 3537225
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546537 in //Orion/Release-41.3/... via CL 3546538
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3546538 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Version locking to 3537225
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546537 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3546537 on 2017/07/20 by Andrew.Grant

	Version locking to 3537225
	#!ROBOMERGE: !41.4
	#!tests #!rb none

Change 3546417 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/... via CL 3546399
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3546416 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/... via CL 3546399
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3546415 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/... via CL 3546399
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3546414 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/... via CL 3546399
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3546413 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/... via CL 3546399
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3546399 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: bart.hawthorne
	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	[FYI] cody.haskell
	#!tests paused match several times and check that pause text got updated

	#!ROBOMERGE-SOURCE: CL 3543964 in //Orion/Release-41.5/...
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3546344 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546335 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3546343 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546335 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3546342 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546335 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3546341 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546335 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3546340 on 2017/07/20 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3546335 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3546335 on 2017/07/20 by Andrew.Grant

	Merging 3542600 from Release-41.5 (Escape_Menu left as target)

	#!tests #!rb none

Change 3546201 on 2017/07/20 by Andrew.Grant

	AsyncLoading fix from UE4/Main

	#!tests compiled
	#!rb Gil.Gribb

Change 3545394 on 2017/07/19 by Shaun.Kime

	Missing header

	#!rb none
	#!tests n/a

Change 3545391 on 2017/07/19 by Shaun.Kime

	Added an HLSL code viewer to Niagara scripts in the system panel.

	#!rb none
	#!tests n/a

Change 3545250 on 2017/07/19 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3545029 on 2017/07/19 by Daniel.Lamb

	Merging 3474537
	//UE4/Dev-Rendering/Engine/Source/...
	to //Orion/Dev-UI/Engine/Source/...

	#!test Paragon editor rebuild lighting

	Fixed lighting needs rebuild happening after blueprint rescript and a non symetrical Quaterion != ToQuaternion(ToRotator(Quaternion)
	#!rb Phillip.Kavan, Zak.Middleton

Change 3544816 on 2017/07/19 by Wyeth.Johnson

	Moduleiteration

Change 3544763 on 2017/07/19 by Shaun.Kime

	Fixing a hard checked cast

	#!rb none
	#!tests n/a

Change 3544762 on 2017/07/19 by Shaun.Kime

	Fixing a hard checked cast.

	#!rb none
	#!tests n/a

Change 3544587 on 2017/07/19 by Dan.Oconnor

	Hardening for edge case in blueprint loading. This if statement will be removed entirely in Dev-Framework
	#!rb Phillip.Kavan
	#!rnx
	#!jira OR-38176
	#!fyi Ben.Zeigler
	#!tests:PIE

Change 3544082 on 2017/07/19 by Andrew.Grant

	Duplicating 3531450 to address OR-41160

	#!tests compiled
	#!rb Chris.Bunner

Change 3543964 on 2017/07/19 by Bart.Hawthorne

	Force a net update on the world settings when the server is paused. This is so that clients get the updated pauser property, which might not be replicated because the world game time is not increasing.

	#!rb ryan.gerleve
	#!fyi cody.haskell
	#!tests paused match several times and check that pause text got updated

Change 3543522 on 2017/07/18 by Wyeth.Johnson

	Added some comments to spawn location script

Change 3543419 on 2017/07/18 by Olaf.Piesche

	Merging //Orion/Dev-General to Dev-Niagara (//Orion/Dev-Niagara)

	Code only; OrionGame still to be merged

	#!rb none
	#!codereview simon.tovey shaun.kime frank.fella
	#!tests sample niagara assets

Change 3543302 on 2017/07/18 by Brian.Fasten

	Fix for include paths/
	#!rb Daniel.Lamb
	#!test Paragon editor compile

Change 3543200 on 2017/07/18 by Andrew.Grant

	Fixed another formatting error

	#!tests compiled
	#!rb none

Change 3543120 on 2017/07/18 by Andrew.Grant

	Fixed extra format specifier

	#!tests compiled
	#!rb daniel.lamb

Change 3543066 on 2017/07/18 by Wyeth.Johnson

	First pass at a real Niagara module. Sphere spawning checked in, supports radius, XYZ transform, Nonuniform scale, two different density distributions, and hemispherical culling.

	Points of debate are: how and what to hide behind  switches
	How to generalize the density function. curve lookup? dynamic input? What is fast, cheap, and useful
	Need for static switching for optimization
	Need for dynamic exposure/collapse of options based on those switches
	Need to bubble up autopinned stuff to the stack, leave the rest collapsed
	Commenting style, node layout style, numeric pins use (convert to type, vs. leave numeric through as much as possible)

Change 3542935 on 2017/07/18 by Olaf.Piesche

	-More events work; spawn events for GPU sim
	-bit of cleanup, more needed
	-PS4 shader compilation and cooking now working
	-Fixed the bug that made it so a manual recompile was needed to get a GPU simulated emitter to run

	#!rb none
	#!tests example assets

Change 3542926 on 2017/07/18 by Frank.Fella

	Niagara - Missed in last checkin.

	#!tests none
	#!rb none

Change 3542914 on 2017/07/18 by Andrew.Grant

	Removed hack, changed material warning to ASSET_LOG

	#!tests compiled
	#!rb none

Change 3542889 on 2017/07/18 by Ori.Cohen

	Exposed an inertia scale for body instances

	#!rb Lina.Halper
	#!tests none

Change 3542861 on 2017/07/18 by Andrew.Grant

	Fix for compile issue in non-shipping

	#!tests compiling
	#!rb none

Change 3542835 on 2017/07/18 by Frank.Fella

	Niagara - Stack UX improvements
	+ Can now navigate to dynamic input and module assets by double clicking on them in the stack.  Currently only works in the emitter editor since we deep copy the graph and lose the asset references.
	+ Can now collapse stack groups with a button.
	+ Curves should always show up in the curve editor now.  Custom seleciton is coming later.
	+ Prevent duplication of output nodes since they can't be deleted.

	#!tests Verified new stack functionality and output node duplication.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3542816 on 2017/07/18 by Wyeth.Johnson

	Sphere V2

Change 3542798 on 2017/07/18 by Simon.Tovey

	Fix for crash Wyeth is seeing.

	#!rb none
	#!tests fixes crash.

Change 3542787 on 2017/07/18 by Andrew.Grant

	Added UE_ASSET_LOG macro and moved some current warnings in Orion to UE_ASSET_LOG

	UE_ASSET_LOG is intended to provide a means of emitting asset-related logging in a consistent format that can be parsed by CIS jobs and tools. Currently there is a single option (AssetLogShowsDiskPath, true by default) but this could be expanded to provide additional options.

	The asset argument can be a UObject pointer or a const TCHAR* to a path. Package paths  (/Game/Path/Foo.uasset), object paths (/Game/Path/Foo.Foo) and relative paths (..\..\..\OrionGame\Foo\Foo.uasset) are all supported.

	Usage:

	E.g

	UE_ASSET_LOG(LogMaterial, Warning, Material, TEXT("Failed to compile material"));

	UE_ASSET_LOG(LogMaterial, Warning, *Material->GetPathName(), TEXT("Failed to compile material"));

	#!tests ran locally with a selection of different asset arguments
	#!rb Ben.Marsh
	#!review-3542499 @Ben.Marsh

Change 3542648 on 2017/07/18 by Jon.Lietz

	needed file

	#!rb none
	#!tests compiles

Change 3542600 on 2017/07/18 by Cody.Haskell

	Work on adding pause feature to escape menu.

	use -fakecustom on the command line to make the menu option come up in non-custom matches for testing

	#!codereview Bart.Hawthorne
	#!tests Golden Path
	#!rb none

Change 3542560 on 2017/07/18 by Jon.Lietz

	first pass moving cards in world from BP to native

	- fixed issue with active items
	- fixed a crash inside the engine with actor sequence component
	- fixed an issue with the Ability system comp upadting shadow plane vision based on vision manager that might not have updated yet.

	#!rb none
	#!tests cards now no longer show up if the user is in shadow plane and the viewer's team does not have vision on them.

Change 3542543 on 2017/07/18 by Simon.Tovey

	A bit of improved log spam for VM backend

	#!rb none
	#!tests none

Change 3542235 on 2017/07/18 by Wyeth.Johnson

	Two separate implementations of sphere spawning, working on 3rd before eval

Change 3542102 on 2017/07/18 by Simon.Tovey

	Fixed bug in bytecode generation due to incorrect temp register allocation.

	#!rb none
	#!tests Wyeths test case now works + some other emitters tested still working.

	Keeps around the last HLSL translation generated.

	#!rb none
	#!tests n/a

Change 3541991 on 2017/07/18 by Shaun.Kime

	Fix for making sure that the cube map selected for the profile is loaded from disk between editor runs.

	#!rb none
	#!tests opened editor, changed profile's cube map, then closed settings editor to save, exited app, restarted and verified that the cube map is the same

Change 3541819 on 2017/07/18 by Andrew.Grant

	Better logging for warning

	#!tests #!rb none

Change 3541178 on 2017/07/17 by Ori.Cohen

	Fix jitter with hair in rigid body node caused by bad contact offset.

	#!rb none
	#!tests none

Change 3541059 on 2017/07/17 by Daniel.Lamb

	Fixed issue with volatile string names being used as the key for TMap.
	#!rb Jason.Bestimt
	#!test Paragon Client
	#!jira OR-41135

Change 3540970 on 2017/07/17 by Wyeth.Johnson

	test emitters for modules

Change 3540948 on 2017/07/17 by Ben.Salem

	Add comma separated hero list support to FXTest Gauntlet node.
	#!rb none
	#!tests compiled and passed in a 2-person comma separated list.

Change 3540875 on 2017/07/17 by Ben.Salem

	Enable SoloSmokes to back up logs after tests run.
	#!rb none
	#!tests Ran smoke pass today.

Change 3540561 on 2017/07/17 by Ori.Cohen

	Fix incorrect bone mapping for rigid body node. (Only matters when first call to init has a different number of bodies, for example a different skin)

	#!rb Lina.Halper
	#!tests none

Change 3540529 on 2017/07/17 by Andrew.Grant

	Disable screenshots

	#!tests compiled
	#!rb none

Change 3540108 on 2017/07/17 by Ori.Cohen

	Turn joint pre-processing on for immediate mode. This helps with some stability issues.

	#!rb David.Hill
	#!tests none

Change 3539847 on 2017/07/17 by Wyeth.Johnson

	Fixing up redirects in Niagara content plugin folder

Change 3539554 on 2017/07/17 by Don.Eubanks

	Added Deck Descriptions to Deck Selection Screen
	  - Set basic / placeholder descriptions for all 6 starter decks to include Attribute names

	Added "bAllowRightClickScrolling" to SScrollBox and UScrollBox to control whether or not holding the right mouse button will allow scrolling.
	  - Disabled for Deck Selector scroll box.

	#!rb none
	#!tests Compile DebugGame Editor Win64 / Shipping Client PS4
	#!review-3539555 matt.schembari dan.hertzka philip.buuck
	#!fyi dan.hertzka - Hope I'm not out of line adding this feature to SScrollBox, didn't see any other way to disable it (MouseWheel already a similar feature driven by an enum)

Change 3539506 on 2017/07/16 by Andrew.Grant

	REsolved files from Main after Dev-UI merge

	#!CodeReview: andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_Balance/OrionGame/Content/Blueprints/AbilityRangedMacros.uasset

	--------------------------------------
	Copying //Orion/Dev-UI to Main (//Orion/Main)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3539142 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3539483 on 2017/07/16 by Don.Eubanks

	Backing out changelist 3539458 per andrew.grant's request as it can cause a crash on project generation.

	#!rb none
	#!tests Compile DebugGame Editor Win64

Change 3539458 on 2017/07/16 by Andrew.Grant

	Combined rules for Orion targets into common base class to remove some inconsitencies and provide easier editing

	#!tests BuildCookTest locally, preflighted with tests
	#!rb none
	#!review-3539459 @daniel.lamb, @david.ratti

Change 3539386 on 2017/07/16 by Andrew.Grant

	Disabled screenshots on 'None' test
	#!tests #!rb none

Change 3539383 on 2017/07/16 by Andrew.Grant

	Initial branch of files from Dev-UI (//Orion/Dev-UI) to Dev-IWYU (//Orion/Dev-IWYU)

Change 3539374 on 2017/07/16 by Andrew.Grant

	Gauntlet - Added timeout to PS4DevkitUtil commands

	#!tests ran test locally
	#!rb none

Change 3539174 on 2017/07/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main (//Orion/Main)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3539142 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3539156 on 2017/07/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main (//Orion/Main)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3539142 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3539146 on 2017/07/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Copying //Orion/Dev-UI to Main (//Orion/Main)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3539142 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3539142 on 2017/07/15 by Andrew.Grant

	Copying //Orion/Dev-UI to Main (//Orion/Main)

	#!tests #!rb none

Change 3539129 on 2017/07/15 by Andrew.Grant

	Added an ensure on render-target size to catch bad data earlier

	#!tests ran with some bad data :)
	#!rb none

Change 3539094 on 2017/07/15 by Andrew.Grant

	Fixed log location not being written out to report

	#!tests none
	#!rb none

Change 3539009 on 2017/07/15 by Andrew.Grant

	Moved perf extraction into the SoakTest node
	Now generate perf values for ShortSoloGame

	#!tests ran locally
	#!rb none

Change 3538990 on 2017/07/14 by Andrew.Grant

	Made gif's work for editor-based tests

	#!tests ran locally
	#!rb none

Change 3538968 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	[at david.ratti] #!rb none

	#!ROBOMERGE-SOURCE: CL 3538962 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3538967 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	[at david.ratti] #!rb none

	#!ROBOMERGE-SOURCE: CL 3538962 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3538966 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	[at david.ratti] #!rb none

	#!ROBOMERGE-SOURCE: CL 3538962 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3538965 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	[at david.ratti] #!rb none

	#!ROBOMERGE-SOURCE: CL 3538962 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3538964 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	[at david.ratti] #!rb none

	#!ROBOMERGE-SOURCE: CL 3538962 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3538962 on 2017/07/14 by Andrew.Grant

	Only warn about errors in magnitude modifiers if that is the magnitude type the GE is set to use.

	#!tests verified some warnings in Orion go aay
	#!review-3538963 @david.ratti
	#!rb none

Change 3538954 on 2017/07/14 by Andrew.Grant

	Screenshot support for gauntlet:

	- Test nodes and/or controllers can specify a periodic interval for screenshots to be taken.
	- Screenshots are converted to jpeg and archived with other artifacts
	- Screenshots are turned into gif's and linked in the report

	#!tests lots of running of tests
	#!rb none

Change 3538714 on 2017/07/14 by Shaun.Kime

	Adding in a root transform adjustment for the emitter so that things don't spawn at 0,0,0 anymore. Will make it adjustable in the future.

	#!rb none
	#!tests n/a

Change 3538710 on 2017/07/14 by Shaun.Kime

	Moving to the advanced preview scene so that we can have something to collide against and also contrast against for better preview.

	#!rb none
	#!tests n/a

Change 3538581 on 2017/07/14 by Don.Eubanks

	Fixing compilation.

	#!rb none
	#!tests Compile DebugGame Editor Win64
	#!fyi daniel.lamb

Change 3538543 on 2017/07/14 by Ori.Cohen

	Fix gravity not being converted into the right simulation space for the RigidBody node

	#!rb Lina.Halper
	#!tests none

Change 3538428 on 2017/07/14 by Daniel.Lamb

	Added support for timerguard to take in a delegate used to generate the string output which means it doesn't need to be generated unless the timer triggers.
	#!rb Jason.Bestimt
	#!test Paragon ps4

Change 3538416 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410 via CL 3538411
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3538415 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410 via CL 3538411
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3538414 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410 via CL 3538411
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3538413 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410 via CL 3538411
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3538412 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410 via CL 3538411
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3538411 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/... via CL 3538410
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3538410 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538408 in //Orion/Release-41.4/...
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3538408 on 2017/07/14 by Andrew.Grant

	Merging 3503620 from //UE4/Release-4.16/...

	extra checks to catch bad things that may contribute to GPU crashes

	#!tests compiled
	#!rb marcus.wassmer

Change 3538389 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380 via CL 3538382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3538388 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380 via CL 3538382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3538387 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380 via CL 3538382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3538384 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380 via CL 3538382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3538383 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380 via CL 3538382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3538382 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/... via CL 3538380
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3538380 on 2017/07/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

	#!ROBOMERGE-SOURCE: CL 3538379 in //Orion/Release-41.4/...
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3538379 on 2017/07/14 by Andrew.Grant

	Adding extra latency to device deletion to see if it helps with d3d crashes

	#!tests compiled
	#!rb marcus.wassmer

Change 3538305 on 2017/07/14 by Shaun.Kime

	Making if nodes handle enums and a follow-up file from previous commit

	#!rb none
	#!tests n/a

Change 3538303 on 2017/07/14 by Shaun.Kime

	Added comment nodes

	#!rb none
	#!tests added to working script saved and reloaded

Change 3538084 on 2017/07/14 by Frank.Fella

	Niagara - Change the available parameter list for functions so that it only shows parameters written before the current module, add initial versions of parameters written in the spawn script, and fix the function output lists so that they only show actual outputs.

	#!tests Verified that the available parameters for inputs is correct, and verified that the output lists are correct.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3538007 on 2017/07/14 by Shaun.Kime

	Adding basic enum support. By default we have an enum ENiagaraExecutionState that can be used by both systems and emitters to track their status.

	Removed the Start/End/NumLoop data from Emitters. A future changelist will introduce scripts that manage the execution state mentioned above.

	#!rb None
	#!test n/a

Change 3537732 on 2017/07/14 by Ori.Cohen

	Made it so that linear and angular velocity are properly computed for kinematic targets in immediate physics and rigid body node.

	#!rb David.Hill
	#!tests none

Change 3537395 on 2017/07/14 by Simon.Tovey

	Slightly improved error reporting for data interfaces that can't (yet).
	Error reporting in general needs a lot of work. Soon.

	#!rb none
	#!tests We now don't just ensure() when using interfaces with not GPU implementation, an error is reported to the log.
	? Interfaces with instance data now work.
	? Emitter editor now has proper system setup so their scripts work correctly.
	? Modified pin creation for emitter nodes.
	? System instances respecting their bError flag again.
	? Removed some log spam from compiling function/module/dynamic input scripts.

	#!rb none
	#!tests Interfaces needing instance data now work
	#!codereview Shaun.Kime, Frank.Fella, Olaf.Piesche

Change 3537288 on 2017/07/14 by Frank.Fella

	Niagara - Parameter wrangling Part 1
	+ Modules for setting specific parameters can be reassigned to set other parameters.
	+ You can now add a new parameter of any type to the current namespace in each stack.
	+ The "Read from new parameter" options when assigning an input will be correct based on the current namespace and asset editor type.
	+ You can now assign any written parameter in the stack to an input.  This will be filtered based on the current context in the future.
	+ Set parameter modules are now added with their input pinned and collapsed.

	#!Tests adding and re-assigning set parameter nodes works correctly and read from new parameter options have the correct context.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3537247 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227 via CL 3537232
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3537246 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227 via CL 3537232
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3537245 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227 via CL 3537232
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3537244 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227 via CL 3537232
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3537243 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227 via CL 3537232
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3537242 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170 via CL 3537231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3537241 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170 via CL 3537231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3537240 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170 via CL 3537231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3537239 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170 via CL 3537231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3537238 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170 via CL 3537231
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3537232 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226 via CL 3537227
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3537231 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169 via CL 3537170
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3537227 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/... via CL 3537226
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3537226 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537225 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3537225 on 2017/07/13 by Andrew.Grant

	Temp fix for PS4DevkitUtil being created when running with -server

	Root issue logged as UE-47237

	#!tests ran editor with -server
	#!rb none

Change 3537170 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/... via CL 3537169
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3537169 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	[at luke.thatcher] #!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

	#!ROBOMERGE-SOURCE: CL 3537166 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3537166 on 2017/07/13 by Andrew.Grant

	On failure of orbis-pub-cmd parse log for warnings/errors and print them in a way that registered with EC.

	#!tests preflighted with a bogus png
	#!review-3537167 @luke.thatcher
	#!rb none

	Sample - https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/65912461?stepName=Publish%20PS4%20Client%20Patches&jobId=7886572&jobName=Orion%20Release-41.3%20-%20Preflight%20CL%203533132%20with%20Base%20CL%203537005%20-%20Standard%20Build&tabGroup=diagnosticHeader

Change 3537121 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	[at matt.schembari,] [at matt.kuhlenschmidt,] [at nick.darnell] #!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537114 in //Orion/Dev-UI/... via CL 3537116
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3537120 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	[at matt.schembari,] [at matt.kuhlenschmidt,] [at nick.darnell] #!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537114 in //Orion/Dev-UI/... via CL 3537116
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3537119 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	[at matt.schembari,] [at matt.kuhlenschmidt,] [at nick.darnell] #!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537114 in //Orion/Dev-UI/... via CL 3537116
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3537117 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	[at matt.schembari,] [at matt.kuhlenschmidt,] [at nick.darnell] #!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537114 in //Orion/Dev-UI/... via CL 3537116
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3537116 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	[at matt.schembari,] [at matt.kuhlenschmidt,] [at nick.darnell] #!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3537114 in //Orion/Dev-UI/...
	#!ROBOMERGE-BOT: ORION (Dev-UI -> Main)

Change 3537114 on 2017/07/13 by Andrew.Grant

	Fix for OR-40456 & OR-39909 - game & pie crashing on exit.

	Similar to UE-35726 there's something modifying the layer list while it's emptied so handle this by removing them first and then destructing.

	#!review-3537115 @matt.schembari, @matt.kuhlenschmidt, @nick.darnell
	#!jira OR-40456, OR-39909
	#!tests ShortSoloGame with editor no longer crashes
	#!rb none
	#!ROBOMERGE: Main

Change 3536905 on 2017/07/13 by Andrew.Grant

	Safety ensure as someone hit a crash here

	#!tests #!rb none
	#!jira OR-41029

Change 3536904 on 2017/07/13 by Andrew.Grant

	Don't ask PhysX to clean invalid meshes

	#!tests cooked
	#!rb none

Change 3535790 on 2017/07/13 by Andrew.Grant

	Back out changelist 3534956

	#!tests #!rb none

Change 3535541 on 2017/07/13 by Frank.Fella

	Sequencer - Implement SupportsSequence in the audio, event, and matarial parameter collection tracks.  This change is being made to prevent them from showing up in the niagara sequencer UI.

	#!tests Tracks don't show up in niagara and still do in the level sequence and widget animation.
	#!rb Max.Chen

Change 3535092 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3535068 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3535083 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3535068 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3535080 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3535068 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3535074 on 2017/07/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3535068 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3535068 on 2017/07/13 by Andrew.Grant

	Merging //Orion/Dev-UI to Main (//Orion/Main)
	#!tests #!rb none

Change 3534956 on 2017/07/12 by Andrew.Grant

	Made ensures non-errors for commandets

	Ben - let me know what you think of this. Probably worthy of discussion, but at least this checkin will get the overnight builds a bad tag that some muppet checked in :)

	#!review-3534957 @Ben.Marsh
	#!tests compiled
	#!rb none

Change 3534933 on 2017/07/12 by Andrew.Grant

	Merging //Orion/Main to Dev-REGS (//Orion/Dev-REGS)
	#!tests #!rb none

Change 3534918 on 2017/07/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics)

	#!tests #!rb none

Change 3534892 on 2017/07/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Balance

	#!tests #!rb none

Change 3534817 on 2017/07/12 by Andrew.Grant

	Merging //Orion/Main to Dev-General
	#!tests #!rb none

Change 3534728 on 2017/07/12 by Andrew.Grant

	Copying //Orion/Dev-UI @ 3534719 to Main

	#!tests #!rb none

Change 3534652 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/... via CL 3534055 via CL 3534057 via CL 3534058
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3534651 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/... via CL 3534055 via CL 3534057 via CL 3534058
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3534649 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/... via CL 3534055 via CL 3534057 via CL 3534058
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3534640 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/... via CL 3533919 via CL 3533920 via CL 3533921
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3534639 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/... via CL 3533919 via CL 3533920 via CL 3533921
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3534637 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/... via CL 3533919 via CL 3533920 via CL 3533921
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3534629 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3533599 in //Orion/Release-41.4/... via CL 3533600 via CL 3533602
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3534628 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3533599 in //Orion/Release-41.4/... via CL 3533600 via CL 3533602
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3534626 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3533599 in //Orion/Release-41.4/... via CL 3533600 via CL 3533602
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3534511 on 2017/07/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics)
	#!tests #!rb none

Change 3534430 on 2017/07/12 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI

Change 3534341 on 2017/07/12 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI

	#!tests #!rb none

Change 3534318 on 2017/07/12 by Ori.Cohen

	Fix external force on immediate mode not accounting for body mass

	#!rb none
	#!tests none

Change 3534240 on 2017/07/12 by Ori.Cohen

	Added ExternalForce to rigid body node for faking inertia while simulating in component space

	#!rb Lina.Halper
	#!tests none

Change 3534062 on 2017/07/12 by Frank.Fella

	Niagara - Stack system support.
	+ System spawn and update are now available in the stack when in the system editor.
	+ Rmoved some potentially unsafe stack utility methods which could make the graph unusable and replaced them with safe ones.
	+ Removed some checks from the emitter node compile and replaced them with compiler errors.

	#!tests System stacks show up in the system editor and you can add and remove modules.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3534058 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/... via CL 3534055 via CL 3534057
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3534057 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/... via CL 3534055
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3534055 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3534054 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3534054 on 2017/07/12 by Andrew.Grant

	Added boot script for Capture team

	#!tests ran test locally
	#!rb none

Change 3533959 on 2017/07/12 by Daniel.Lamb

	Added support for timeguard to have an fname associated with it.
	Greatly increasing the usefulness.
	The string operations will not be performed unless the timer is triggered and the fname is set.
	#!rb Jason.Bestimt
	#!test Paragon ps4

Change 3533921 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/... via CL 3533919 via CL 3533920
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3533920 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/... via CL 3533919
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3533919 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	#!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

	#!ROBOMERGE-SOURCE: CL 3533910 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Release-41.4)

Change 3533910 on 2017/07/12 by Andrew.Grant

	  #!jira OR-40404 Music cuts in and out during hero select in draft lobby and match start

	Increasing async IO music loading priority.

	#!rb Ethan.Geller
	#!tests none

Change 3533862 on 2017/07/12 by Frank.Fella

	Niagara - System ui timeline improvements
	+ Move adding of emitters to the sequencer "Add" button.
	+ Allow drag/drop to sequencer from the content browser to add emitters.
	+ Add folder support for emitters which can be added through the sequencer UI.

	Note: The event, audio, and material parameter collection tracks don't work, I'm waiting on a review from the sequencer team on some code that removes them.

	#!tests Verified that adding through the timeline button works, verified that drag and drop of an emitter onto the timeline works, verified folders work correctly and serialize.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3533828 on 2017/07/12 by Ori.Cohen

	Added RootBone simulation space to RigidBody node. This is useful for cases where we rotate the skeletal mesh component and counter rotate the root bone and do not want to affect simulated bodies' velocities.

	#!rb Lina.Halper
	#!tests none

Change 3533602 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3533599 in //Orion/Release-41.4/... via CL 3533600
	#!ROBOMERGE-BOT: ORION (Release-41.5 -> Main)

Change 3533600 on 2017/07/12 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3533599 in //Orion/Release-41.4/...
	#!ROBOMERGE-BOT: ORION (Release-41.4 -> Release-41.5)

Change 3533599 on 2017/07/12 by David.Ratti

	[Lost CL 3524588 did not make it into 41.3]

	Speculative fix for replay backward compat crash
	#!rb none
	#!tests compile

Change 3533400 on 2017/07/12 by Jeff.Williams

	Initial branch of files from Release-41.4 (//Orion/Release-41.4) to Release-41.5 (//Orion/Release-41.5)

Change 3532987 on 2017/07/12 by Matt.Kuhlenschmidt

	Added ability to save render targets as PNG from blueprints

	#!fyi jordan.walker
	#!rb none
	#!tests none

	Coped from Dev-Editor

Change 3532785 on 2017/07/12 by Simon.Tovey

	Fixed bug in the mark dirty loop.

	#!rb none
	#!tests fixed bug.

Change 3532594 on 2017/07/11 by Jeff.Williams

	Merging //Orion/Main to Release-41.4 (//Orion/Release-41.4) @3532443
	#!test none
	#!rb none

Change 3532057 on 2017/07/11 by Daniel.Lamb

	Separated out the UI game viewport tick and paint time to help track down issues with UI.
	#!rb Trivial
	#!test Paragon ps4
	#!codereview Jason.Bestimt

Change 3531769 on 2017/07/11 by Simon.Tovey

	? Fixing data interface compilation for emitter scripts.

	#!rb Shaun.Kime
	#!tests Curves work in emitter scripts.
	#!codereview Shaun.Kime, Frank.Fella, Olaf.Piesche

Change 3531543 on 2017/07/11 by Shaun.Kime

	Added System update results to spreadsheet view.
	Fixed up basic EmitterLifeTime effect to work by default.
	Fixed bug where emitters weren't adding the history of their internal variables to the parameter maps for SystemSpawn & Update, causing default values to not be generated.

	#!rb none
	#!tests updated HypnotizerEffect.

Change 3531521 on 2017/07/11 by Jeff.Williams

	Initial branch of files from Release-41.3 (//Orion/Release-41.3) to Release-41.4 (//Orion/Release-41.4)

Change 3530192 on 2017/07/10 by Ben.Salem

	Switch map pipeline node to use an interstitial node to let us know when the node has finished, pass or fail. Also switch report to print test notes for maps where there are notes but no explicit fails.
	#!rb none
	#!tests recompiled, xml linted.

Change 3530157 on 2017/07/10 by Frank.Fella

	Niagara - Fix systems getting marked dirty on load and removed some unnecessary compiles. We might need some error finding and fixup for system scripts in invalid states, but in the short term these issues can be fixed automatically by adding an additional emitter.

	#!tests Loaded a system and verified it wasn't marked dirty, also verified that the system was only getting compiled once when loading and when deleting an emitter.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3529459 on 2017/07/10 by Daniel.Lamb

	If running nomcp from launch build helper also add in notimeouts.
	Fixes issue with loading monolith02 nomcp.
	#!rb Trivial
	#!test Load monolith02 devui

Change 3528568 on 2017/07/10 by Frank.Fella

	Niagara - Fix shutdown crash, system editor crash, and system editor selection inconsistencies.
	+ Give sequencer emitter tracks real names so that sequencer can maintain selection with them correctly.
	+ Make the stack entries pointers to the system and emitter view models weak to avoid holding onto them until garbage collection.
	+ Make sure to always call the structure changed delegate in the stack view model whenever initialize is called so that the tree is always updated.
	+ Track emitter handle selection by id instead of the actual view model pointer to make managing selection easier when view models are changing.
	+ Don't make the stack tree collapsed when it's emitter becomes invalid because it prevents it from ticking and removing controls pointing to invalid data.

	#!Tests verified no crash on shutdown or working with emitters in the system view.  Also verified selection stayed consistent between sequencer and the stack view.
	#!rb none.

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3527429 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/... via CL 3527423
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3527428 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/... via CL 3527423
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3527427 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/... via CL 3527423
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3527426 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/... via CL 3527423
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3527425 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/... via CL 3527423
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3527423 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527421 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3527421 on 2017/07/07 by Andrew.Grant

	Changed PS4 devices to default to waiting for PS4DevkitUtil to return (most did this already, but fixes a shutdown issue).

	#!tests ran locally
	#!rb none

Change 3527366 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/... via CL 3527359
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3527365 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/... via CL 3527359
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3527362 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/... via CL 3527359
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3527361 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/... via CL 3527359
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3527360 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/... via CL 3527359
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3527359 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527357 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3527357 on 2017/07/07 by Andrew.Grant

	Restricted TimeGuard use to Test & shipping configs

	#!tests compiled
	#!rb none

Change 3527346 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308 via CL 3527309
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3527345 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308 via CL 3527309
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3527344 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308 via CL 3527309
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3527343 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308 via CL 3527309
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3527342 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308 via CL 3527309
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3527309 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306 via CL 3527308
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3527308 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/... via CL 3527306
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3527306 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for manifest issue while packing from DanL

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3527305 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3527305 on 2017/07/07 by Andrew.Grant

	Fix for manifest issue while packing from DanL

	#!tests #!rb na

Change 3527233 on 2017/07/07 by Alexis.Matte

	Fix the packing of the texture in the HLOD
	#!rb Uriel.Doyon
	#!codereview Jurre.deBaare
	#!jira OR-40538
	#!tests none

Change 3527085 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/... via CL 3527075
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3527084 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/... via CL 3527075
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3527081 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/... via CL 3527075
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3527080 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/... via CL 3527075
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3527077 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/... via CL 3527075
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3527075 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3527072 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3527072 on 2017/07/07 by Andrew.Grant

	Added warning for the case when a device is reserved but the connection attempt fails (likely indicates a kit that needs a reboot).

	#!tests ran locally
	#!rb none

Change 3526806 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795 via CL 3526799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526805 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795 via CL 3526799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526804 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795 via CL 3526799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526803 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795 via CL 3526799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3526802 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795 via CL 3526799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526799 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794 via CL 3526795
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3526795 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/... via CL 3526794
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3526794 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3526791 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3526791 on 2017/07/07 by Andrew.Grant

	Fixed issue causing BaselinePerf results not to fire

	#!tests ran locally
	#!rb none

Change 3526771 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/... via CL 3526719
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526770 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/... via CL 3526719
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526769 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/... via CL 3526719
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526768 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/... via CL 3526719
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3526767 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/... via CL 3526719
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526733 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3526717 (streaming audio crashes) from  //Orion/Release-41 to Release-41.1

	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3526730 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3526730 on 2017/07/07 by Andrew.Grant

	Merging 3526717 (streaming audio crashes) from  //Orion/Release-41 to Release-41.1

	#!tests #!rb na

Change 3526719 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526717 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3526717 on 2017/07/07 by Andrew.Grant

	Fix for streaming audio crashes (integration from Fortnite)

	#!tests #!rb none

Change 3526675 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669 via CL 3526670
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526674 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669 via CL 3526670
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526673 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669 via CL 3526670
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526672 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669 via CL 3526670
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3526671 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669 via CL 3526670
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526670 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668 via CL 3526669
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3526669 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/... via CL 3526668
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3526668 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526667 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3526667 on 2017/07/07 by Andrew.Grant

	Couple of small fixes and clarifications to PS4Platform automation for generating remasters

	Switched OrionBuild back to generating patches till we figure out an issue with Sony tools

	#!tests #!rb none

Change 3526376 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071 via CL 3526072 via CL 3526073
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526375 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071 via CL 3526072 via CL 3526073
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526374 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071 via CL 3526072 via CL 3526073
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526372 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071 via CL 3526072 via CL 3526073
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526368 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067 via CL 3526068 via CL 3526069
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526367 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067 via CL 3526068 via CL 3526069
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526366 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067 via CL 3526068 via CL 3526069
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526364 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067 via CL 3526068 via CL 3526069
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526292 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496 via CL 3525498 via CL 3525499
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3526291 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496 via CL 3525498 via CL 3525499
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3526288 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496 via CL 3525498 via CL 3525499
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3526286 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496 via CL 3525498 via CL 3525499
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3526122 on 2017/07/07 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3526073 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071 via CL 3526072
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3526072 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/... via CL 3526071
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3526071 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526070 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3526070 on 2017/07/07 by Andrew.Grant

	Fix for hlod rebuild crash from Alexis

	#!tests #!rb none

Change 3526069 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067 via CL 3526068
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3526068 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/... via CL 3526067
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3526067 on 2017/07/07 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	[REVIEW] @benjamin.crocker
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3526065 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3526065 on 2017/07/07 by Andrew.Grant

	Fix for remaster flag not being passed through
	bumped version numbers for Sony

	#!review-3526066 @benjamin.crocker
	#!tests #!rb none

Change 3526057 on 2017/07/07 by Simon.Tovey

	Modified system script excution flow to allow emitters to run even with an invlaid system script.


	#!rb none
	#!tests Bug repro system now works.
	Niagara - Missed in last checkin

	#!tests none
	#!rb none

Change 3525804 on 2017/07/07 by Frank.Fella

	Niagara - Various stack changes
	+ Move the emitter editor data management to the emitter view model.
	+ Change the assignment node so that it's input parameter is named for the value it's setting and it's header says which namespace it's in.
	+ Clean up the Initialization of stack entries and make the API more consistent.
	+ When adding a module or dynamic input which uses a data interface copy the data interface specified in the source script if it's available, or create a new one.
	+ Make the revert button for data interface inputs work consistently (still needs some more work)
	+ Changed input parameter handle assignment so that it always generates a parameter map get in the graph instead of generating an input node for engine parameters and particle attributes.
	+ When reading an input of a dynamic-input script into a new emitter or particle parameter generate a unique name based on the module input name and the dynamic-input input name.

	#!tests Verified the stack still works correctly with the above changes.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3525623 on 2017/07/06 by Frank.Fella

	Niagara - Make the Equals and CopyTo methods on UNiagaraDataInterface const.

	#!tests Compiles
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3525508 on 2017/07/06 by Daniel.Lamb

	Added support for monolith nomcp to the build launcher settings.
	#!rb Trivial
	#!test Automation tool

Change 3525504 on 2017/07/06 by Shaun.Kime

	Forcing recompile on load, otherwise several of my effect scripts crash on startup.

	#!rb none
	#!tests n/a

Change 3525499 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496 via CL 3525498
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3525498 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/... via CL 3525496
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.3)

Change 3525496 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3525495 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3525495 on 2017/07/06 by Andrew.Grant

	Support for PS4 automation generating remaster packages
	Set Orion to use remaster packages

	#!tests compiled
	#!rb none

Change 3525149 on 2017/07/06 by Shaun.Kime

	Cleaning out delegates on shutdown

	#!rb none
	#!tests n/a

Change 3525148 on 2017/07/06 by Shaun.Kime

	Fixing crash when dealing with missing source, which probably shouldn't happen, but does with CrowdTorture

	#!rb none
	#!tests open crowdtorture

Change 3525100 on 2017/07/06 by Dan.Hertzka

	Relaxing the null ensure when setting a texture param (the type check ensure remains)

	#!fyi Andrew.Grant
	#!rb none
	#!tests none

Change 3525025 on 2017/07/06 by Shaun.Kime

	Tweaking timing to try and ensure that the capture button always generates a good result.

	#!rb none
	#!tests n/a

Change 3524970 on 2017/07/06 by Shaun.Kime

	Adding a spreadsheet view for investigating the values of individual particles in an emitter in the effect view.

	Added a few helper debug modules.

	#!rb none
	#!tests opened several systems and captured results.

Change 3524890 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/... via CL 3524799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3524889 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/... via CL 3524799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3524888 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/... via CL 3524799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3524887 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/... via CL 3524799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3524886 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/... via CL 3524799
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3524821 on 2017/07/06 by Dan.Hertzka

	Fix crash when trying to set a null texture value on a MID
	- Ensure message dereferenced a possibly null texture

	#!review-3524822 @Andrew.Grant
	#!rb none
	#!tests Compile

Change 3524799 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	@daniel.lamb

	#!ROBOMERGE-SOURCE: CL 3524797 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3524797 on 2017/07/06 by Andrew.Grant

	Added OnPostWorldCleanup delegate for systems that need to exist while other actors and components are cleaning themselves up. Switched significance manager to use PostWorldCleanup onstead of WorldCleanup

	This fixed an issue in Orion where animations being torn down were issuing NotifyEnd's that resulted in a GameplayCue trying to trigger a particle effect. (OR-40362 )

	#!tests ran in and out of draft & game a few times
	#!rb none
	#!review-3524798 @daniel.lamb

Change 3524663 on 2017/07/06 by Andrew.Grant

	Fix for OR-40419

	#!jira OR-40419
	#!tests compiled
	#!rb none

Change 3524581 on 2017/07/06 by Andrew.Grant

	Turned check into an ensure as part of investigation into OR-40454 - no idea how this is happening at the moment, hopefully some mismatched data that the merge yesterday may have corrected....

	#!jira OR-40454
	#!tests compiled
	#!rb none

Change 3524508 on 2017/07/06 by Ben.Salem

	Colorize skill test reports to differentiate error lines. Also, save a backup html version of the test report.
	#!rb none
	#!tests Ran report against previously run tests.

Change 3524423 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/... via CL 3524414
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3524422 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/... via CL 3524414
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3524419 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/... via CL 3524414
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3524418 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/... via CL 3524414
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3524417 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/... via CL 3524414
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3524414 on 2017/07/06 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3524393 in //Orion/Release-41.3/...
	#!ROBOMERGE-BOT: ORION (Release-41.3 -> Main)

Change 3524393 on 2017/07/06 by Andrew.Grant

	Changed crash on invalid data to (hopefully) a handled ensure

	#!tests compiled
	#!rb none

Change 3524260 on 2017/07/06 by Simon.Tovey

	Fixed bug in solo mode execution.
	Allocating more space in data set mid frame requires some fixup with existing data I'd not considered as we don't do that in any other simulation.

	#!rb none
	#!tests Solo mode now working.

Change 3524144 on 2017/07/06 by Simon.Tovey

	Broke system simulation code out into it's own files.

	#!rb none
	#!tests none

Change 3524033 on 2017/07/06 by Simon.Tovey

	System/Emitter scripts work

	-- Done --
	? Simulation framework for system/emitter level scripts.
	? Moved most ticking for systems into a "SystemSimulation" which it ticked at the end of all component ticking meaning all system simulation can be batched nicely without worrying about dependancies on other components. NiagaraComponents no longer tick in this mode. In future some systems will not need a component at all.
	? For (future) cases where the results of the simulation are a dependancy for another component (and a few other use cases) there is a "solo" mode which will run the system script in isolation as part of the component tick.
	? All scripts now refer to emitters by their actual name via the alaising feature in the translator.
	? Optimized the direct setting of parameters in system sims and particle sims.

	-- WIP --
	? Lifetime of systems and is very much WIP atm.
	? Lots of data interfaces stuff at system level is still WIP.
	? Parameter flow from components down needs work.
	? Need to bind parameter collections to system/emitter scripts
	? Splitting the batched/solo mode scripts so one has instance parameters in a dataset and another from a parameter store.
	Could use one and transfer to a dataset for solo mode too but  seems wasteful. If we could find a better replacement for solo mode entirely this would go away. Needs discussion.
	? Resetting/ReInit flow is still abit up in the air.
	? Move all DesiredAge seeking etc into the component. Still needs some work but largely functional.

	-- TODO --
	? Events at System/emitter level
	? Quite a bit of mess in the system simulation WRT moving data from a dataset and parameter stores. Need to rework how and where the layout data is generated and stored.
	? Put a hack in to avoid the alignment issues we have in the parameter store. A future CL will address this properly.

	-- Misc --
	? Fixed issue with bool attributes being auto converted to ints in the hlsl/bytecode.
	? Minor improvement to debug dumps. Limiting to only the instances relevant ot the current step.

	#!rb Shaun.Kime
	#!tests Test emitters working. Older systems and emitters seem to be working still.
	#!codereview Olaf.Piesche, Frank.Fella, Shaun.Kime

Change 3523831 on 2017/07/06 by Jeff.Williams

	Merging //Orion/Main to Release-41.3 (//Orion/Release-41.3) @3523788
	#!tests na
	#!rb na

Change 3523811 on 2017/07/06 by Jeff.Williams

	Populate -S //Orion/Release-41.3 -r.

Change 3523523 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440 via CL 3523441
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3523522 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440 via CL 3523441
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3523521 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440 via CL 3523441
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3523520 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440 via CL 3523441
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3523519 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440 via CL 3523441
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3523464 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246 via CL 3523330
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3523463 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246 via CL 3523330
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3523462 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246 via CL 3523330
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3523461 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246 via CL 3523330
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3523460 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246 via CL 3523330
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3523441 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439 via CL 3523440
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Main)

Change 3523440 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/... via CL 3523439
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3523439 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523438 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3523438 on 2017/07/05 by Andrew.Grant

	Better handling of missing devices and other errors

	#!tests ran locally
	#!rb none

Change 3523400 on 2017/07/05 by Olaf.Piesche

	Events; alll-particle is functional, but still in need of more cleanup. Moving on to collisions and single-particle.


	#!rb none
	#!tests testassets

Change 3523330 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/... via CL 3520246
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Main)

Change 3523268 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523189 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3523267 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523189 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3523266 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523189 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3523265 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523189 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3523264 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3523189 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3523189 on 2017/07/05 by Andrew.Grant

	Removed -changes support from BuildCookTest. Now replaced by ForEachChange UAT script

	#!tests compiled
	#!rb none

Change 3523111 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging PS4 test fixes from //Orion/Release-41.2 to Main

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3522092 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3523110 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging PS4 test fixes from //Orion/Release-41.2 to Main

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3522092 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3523109 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging PS4 test fixes from //Orion/Release-41.2 to Main

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3522092 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3523107 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging PS4 test fixes from //Orion/Release-41.2 to Main

	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3522092 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3522724 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/... via CL 3518058 via CL 3518059 via CL 3518260
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3522719 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/... via CL 3518058 via CL 3518059 via CL 3518260
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3522716 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/... via CL 3518058 via CL 3518059 via CL 3518260
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3522312 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edigrate memory stomp fix from Zak CL 3513984

	#!rb none
	#!tests compile
	[FYI] Zak.Middleton

	#!ROBOMERGE-SOURCE: CL 3515710 in //Orion/Release-41.2/... via CL 3515711
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3522311 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edigrate memory stomp fix from Zak CL 3513984

	#!rb none
	#!tests compile
	[FYI] Zak.Middleton

	#!ROBOMERGE-SOURCE: CL 3515710 in //Orion/Release-41.2/... via CL 3515711
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3522309 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edigrate memory stomp fix from Zak CL 3513984

	#!rb none
	#!tests compile
	[FYI] Zak.Middleton

	#!ROBOMERGE-SOURCE: CL 3515710 in //Orion/Release-41.2/... via CL 3515711
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3522144 on 2017/07/05 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3522092 on 2017/07/05 by Andrew.Grant

	Merging PS4 test fixes from //Orion/Release-41.2 to Main

	#!tests #!rb none

Change 3521908 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for PS4 device timeouts in Gauntlet

	The underlying issue is that TM keeps invisible connections to devkit/testkits and there's a hard-limit of 16. This means that even though a kit can be added and advertises "available", a machine may not be able to connect.

	Fixes:

	+ Added "remove" command to PS4DevkitUtil, and a -force option to the disconnect argument
	+ If a kit was added to TM by Gauntlet, it is now removed on shutdown
	+ Split info stored about PS4 targets into static/dynamic so things like name/hostname are available even after we disconnect from the kit or experience an error
	+ Short term fix: call "ForceDisconnect" just before connecting to kill any TM connections from other machines. This should allow tests to work while the remove change propgates across branches

	@Daniel.Lamb, @Jeff.Williams, @Luke.Thatcher
	#!tests Ran test locally and verified that remove() is called upon test exit and that idle TM connections were terminated upon start
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3521905 in //Orion/Release-41/... via CL 3521907
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3521907 on 2017/07/05 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for PS4 device timeouts in Gauntlet

	The underlying issue is that TM keeps invisible connections to devkit/testkits and there's a hard-limit of 16. This means that even though a kit can be added and advertises "available", a machine may not be able to connect.

	Fixes:

	+ Added "remove" command to PS4DevkitUtil, and a -force option to the disconnect argument
	+ If a kit was added to TM by Gauntlet, it is now removed on shutdown
	+ Split info stored about PS4 targets into static/dynamic so things like name/hostname are available even after we disconnect from the kit or experience an error
	+ Short term fix: call "ForceDisconnect" just before connecting to kill any TM connections from other machines. This should allow tests to work while the remove change propgates across branches

	@Daniel.Lamb, @Jeff.Williams, @Luke.Thatcher
	#!tests Ran test locally and verified that remove() is called upon test exit and that idle TM connections were terminated upon start
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3521905 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3521905 on 2017/07/05 by Andrew.Grant

	Fix for PS4 device timeouts in Gauntlet

	The underlying issue is that TM keeps invisible connections to devkit/testkits and there's a hard-limit of 16. This means that even though a kit can be added and advertises "available", a machine may not be able to connect.

	Fixes:

	+ Added "remove" command to PS4DevkitUtil, and a -force option to the disconnect argument
	+ If a kit was added to TM by Gauntlet, it is now removed on shutdown
	+ Split info stored about PS4 targets into static/dynamic so things like name/hostname are available even after we disconnect from the kit or experience an error
	+ Short term fix: call "ForceDisconnect" just before connecting to kill any TM connections from other machines. This should allow tests to work while the remove change propgates across branches

	#!review-3521906 @Daniel.Lamb, @Jeff.Williams, @Luke.Thatcher
	#!tests Ran test locally and verified that remove() is called upon test exit and that idle TM connections were terminated upon start
	#!rb none

Change 3521407 on 2017/07/05 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3520246 on 2017/07/03 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3520245 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3520245 on 2017/07/03 by Jeff.Williams

	Version locked v41.1 to 3518058
	#!tests #!rb na

	#!ROBOMERGE: !41.2

Change 3519106 on 2017/07/01 by Max.Chen

	Sequencer: Fix crash trying to load an invalid sequence asset.

	#!rb none
	#!tests Click open level sequence button on an actor that references a level sequence asset that no longer exists.

Change 3518548 on 2017/06/30 by Jeff.Williams

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics)

	#!tests na
	#!rb na

Change 3518366 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3518365 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3518364 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3518363 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3518362 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3518330 on 2017/06/30 by John.Nielson

	Added effect context as part of the info we give back for the WaitGameplayEffectRemoved task.

	#!RB: none
	#!review-3518331: @David.Ratti
	#!Test: Pie

Change 3518260 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/... via CL 3518058 via CL 3518059
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Main)

Change 3518253 on 2017/06/30 by Shaun.Kime

	Fix compiler warning

	#!rb none
	#!tests n/a

Change 3518059 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/... via CL 3518058
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41.2)

Change 3518058 on 2017/06/30 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	[NULL MERGE]
	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3518056 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3518056 on 2017/06/30 by Jeff.Williams

	Version locked v41 to 3509588
	#!tests #!rb na

	#!ROBOMERGE: !41.1

Change 3518043 on 2017/06/30 by Shaun.Kime

	Missing file checkin

	#!rb none
	#!tests n/a

Change 3518042 on 2017/06/30 by Shaun.Kime

	Now have the ability to name outgoing events so that we can re-use the struct type for multiple outbound events from the same emitter.

	Added customization for selecting the event source and event destination. Revert to defaults currently disabled due to bugs with StructureDetailsView.

	#!rb none
	#!tests n/a

Change 3517667 on 2017/06/30 by Shaun.Kime

	Commenting out emitter auto-updating for now until we rewrite it.

	#!rb none
	#!tests n/a

Change 3517617 on 2017/06/30 by Jon.Lietz

	- making it so event evaluators do not cuase the player to go into combat or break shadow plane
	- adding in support for the item Effect Keyword to define if it should pu the user into combat or break shadow plane
	- cultivate using runtime options again

	#!rb David.Ratti
	#!tests Use cards and they no longer break recall

Change 3517107 on 2017/06/29 by Daniel.Lamb

	Fix for replays not showing some effects on medic.
	#!rb None
	#!test Paragon replay in editor
	#!codereview Ryan.Gerleve
	#!jira OR-40198, OR-40238

Change 3516604 on 2017/06/29 by Cody.Haskell

	Fix for round timers being broken in Arcade.
	Recall is now more reliable as well

	#!rb none
	#!tests PIE

Change 3516394 on 2017/06/29 by Dan.Hertzka

	New itemization system refactor
	- Major players (deck, card, gem) are all now UObjects (ItemizationComponent, GameplayCard, and GameplayGem respectively)
	- The base GameplayItem and SourceItemAbility now do the lion's share of the work of applying abilities & GEs themselves, the keyword data APIs have been heavily pared down for now
	    - Note: This may change quite a bit once GGP stuff comes online, but in the meantime this clarifies/simplifies the itemization system flow
	- Updated all existing UI to work with GameplayItems, but haven't done any refactoring to leverage the cleaner hookups now available
	- Moved the server RPCs for itemization actions to the PlayerController
	- Added ItemizationSystemSettings for constant system configuration properties, for now replaces the GemTree since that's become so wildly simplified

	ItemEffectKeyword
	- ItemKeyword renamed to ItemEffectKeyword
	- Added support for sequential events to trigger effect application
	- Added removal event option for removing the effect in response to a qualified event

	McpGemItem info storage updated
	- Now exported as stratified groups of levels to roll, so they can be imported as such on the item
	- No more custom parsing is needed within the gem item
	- Added dev migration to force re-add all starter gems

	#!rb Jon.Lietz
	#!tests PIE buy pips, gems, cards, sell cards, fire abilities, etc; Export gem templates + local mcp validation; ItemKeywords table data still valid

Change 3516277 on 2017/06/29 by Ben.Salem

	Add the ability to pass in a mailing list to target for SkillTestReport, and have the pipeline preflight node target its own specific mailing list.
	#!rb none
	#!tests recompiled.

Change 3515762 on 2017/06/29 by Daniel.Lamb

	Stop stack overflow if we generate a callstack too large.
	#!rb Trivial
	#!test Paragon stats.

Change 3515711 on 2017/06/29 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edigrate memory stomp fix from Zak CL 3513984

	#!rb none
	#!tests compile
	[FYI] Zak.Middleton

	#!ROBOMERGE-SOURCE: CL 3515710 in //Orion/Release-41.2/...
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Main)

Change 3515710 on 2017/06/29 by David.Ratti

	Spot edigrate memory stomp fix from Zak CL 3513984

	#!rb none
	#!tests compile
	#!fyi Zak.Middleton

Change 3514451 on 2017/06/28 by David.Ratti

	Fix replication issue that was causing abilities granted by GEs to linger/get stuck on clients.

	#!rb lietz
	#!tests editor/pie
	#!fyi Ryan.Gerleve

Change 3514267 on 2017/06/28 by Ben.Salem

	Add support for showing Testnotes in SkillTest Reports as non-failing issues.
	#!rb none
	#!tests Compiled and reran.

Change 3513984 on 2017/06/28 by Zak.Middleton

	#!ue4-orion - Fix for possible memory stomp when player is unpossessed during a forced position update on the server.

	Mirrors CL 3512456 from BobT in Fortnite.

	#!rb Bob.Tellez
	#!fyi Andrew.Grant, David.Ratti
	#!tests PIE MP

Change 3513856 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/... via CL 3513844 via CL 3513848
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Release-41)

Change 3513848 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/... via CL 3513844
	#!ROBOMERGE-BOT: ORION (Release-41.2 -> Release-41.1)
	#!ROBOMERGE[ORION]: 41

Change 3513844 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	[CODEREVIEW] nick.darnell, benjamin.crocker

	#!ROBOMERGE-SOURCE: CL 3513818 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Release-41.2)
	#!ROBOMERGE[ORION]: 41.1 41

Change 3513818 on 2017/06/28 by Jason.Bestimt

	#!ORION_MAIN - Fix for game data export of card images

	#!RB:nick.darnell
	#!Tests: Generated Cards

	#!CodeReview: nick.darnell, benjamin.crocker
	#!ROBOMERGE: 41.2, 41.1, 41

Change 3513584 on 2017/06/28 by Jon.Lietz

	OR-40158, bumping the bit shift up by one to support level 20 abilities for the new card/gem system

	#!rb none
	#!tests no longer get server ensures for cards over level 20

Change 3513300 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512543 in //Orion/Release-41/... via CL 3512545 via CL 3512546
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3513299 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512543 in //Orion/Release-41/... via CL 3512545 via CL 3512546
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3513298 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512543 in //Orion/Release-41/... via CL 3512545 via CL 3512546
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3513265 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512074 in //Orion/Release-41/... via CL 3512075 via CL 3512076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3513264 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512074 in //Orion/Release-41/... via CL 3512075 via CL 3512076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3513263 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512074 in //Orion/Release-41/... via CL 3512075 via CL 3512076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3513218 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3511827 in //Orion/Release-41/... via CL 3511830 via CL 3511831
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3513217 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3511827 in //Orion/Release-41/... via CL 3511830 via CL 3511831
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3513216 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3511827 in //Orion/Release-41/... via CL 3511830 via CL 3511831
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3513198 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511449 in //Orion/Release-41/... via CL 3511451 via CL 3511452
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3513197 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511449 in //Orion/Release-41/... via CL 3511451 via CL 3511452
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3513196 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511449 in //Orion/Release-41/... via CL 3511451 via CL 3511452
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3513193 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed warning to info in test logging

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511398 in //Orion/Release-41/... via CL 3511400 via CL 3511402
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3513192 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed warning to info in test logging

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511398 in //Orion/Release-41/... via CL 3511400 via CL 3511402
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3513191 on 2017/06/28 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed warning to info in test logging

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511398 in //Orion/Release-41/... via CL 3511400 via CL 3511402
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3513163 on 2017/06/28 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-UI

	#!tests #!rb none

Change 3513159 on 2017/06/28 by Andrew.Grant

	Merging //Orion/Main to Dev-General (//Orion/Dev-General)

	#!tests #!rb none

Change 3513075 on 2017/06/28 by Jeff.Williams

	Initial branch of files from Release-41.1 (//Orion/Release-41.1) to Release-41.2 (//Orion/Release-41.2)

Change 3512633 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906 via CL 3510907
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3512632 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906 via CL 3510907
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3512631 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906 via CL 3510907
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3512630 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906 via CL 3510907
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3512629 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906 via CL 3510907
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3512546 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512543 in //Orion/Release-41/... via CL 3512545
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3512545 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512543 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3512543 on 2017/06/27 by Andrew.Grant

	Tweaked staging to allow paths with empty files

	#!tests ran locally
	#!rb none

Change 3512315 on 2017/06/27 by Ben.Salem

	Add report mail to FXPerf test.
	#!rb brad.angelcyk
	#!tests Ran several FXPerf runs.

Change 3512306 on 2017/06/27 by Shaun.Kime

	Fixing missing undef

	#!rb none
	#!tests n/a

Change 3512296 on 2017/06/27 by Shaun.Kime

	Each stack entry now has its own reference to the system view model as well as the emitter view model.

	#!rb none
	#!tests ran through normal operations

Change 3512153 on 2017/06/27 by John.Nielson

	Seperated WaitGameplayEffectRemoved and WaitGameplayEffectRemoved_Info, the latter returning information about the removal.  Also cleaned up and fixed implementation according to Ratti's feedback.

	#!RB: none
	#!review-3512154: @David.Ratti
	#!Test: Pie

Change 3512092 on 2017/06/27 by David.Ratti

	Fix ensure that will fire from a dot expiring while someone is listening for damage event keyword

	#!rb none
	#!tests pie

Change 3512076 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512074 in //Orion/Release-41/... via CL 3512075
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3512075 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3512074 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3512074 on 2017/06/27 by Andrew.Grant

	Changed applocal staging to also incorporate lose files in the platform folder.

	#!tests ran locally
	#!rb none

Change 3512044 on 2017/06/27 by David.Ratti

	Editegrate BenZ's fix (CL 3510178 )  for mono crash with literal struct types with editor only data

	#!rb none
	#!tests cooked build with WaitDamageDealt with no variable wired in

Change 3511926 on 2017/06/27 by Frank.Fella

	Niagara - Missed in last checkin.

	#!tests none.
	#!rb none.

Change 3511910 on 2017/06/27 by Frank.Fella

	Niagara - Emitter stack in the system view, and other changes.
	+ There is now a tab for the emitter stack in the system view and this will change based on the selected emitter in the timeline.
	+ Deleting the emitter section from the timline no longer crashes.
	+ Auto-compile now works in both the emitter and system editors, and is an editor setting.
	+ Moved the generation of the root stack entries into a root entry so that structure changes and future filtering can use the same code path.
	+ Renamed UNiagaraStackItem::FOnModifiedStackStructure to UNiagaraStackItem::FOnModifiedGroupItems to avoid confusion with UNiagaraStackEntry::FOnStructureChanged.

	#!tests The system shows the stack view, and it updates based on the sequencer seleciton.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3511831 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3511827 in //Orion/Release-41/... via CL 3511830
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3511830 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3511827 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3511827 on 2017/06/27 by Daniel.Lamb

	Fixed the defaults for the hlod default oppacity settings.
	#!rb Jurre.deBaare
	#!test Rebuild hlod in paragon.
	#!lockdown Andrew.Grant

Change 3511452 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511449 in //Orion/Release-41/... via CL 3511451
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3511451 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511449 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3511449 on 2017/06/27 by Andrew.Grant

	Attempt #!2 to fix client staging issue

	#!tests compiled
	#!rb none

Change 3511402 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed warning to info in test logging

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511398 in //Orion/Release-41/... via CL 3511400
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3511400 on 2017/06/27 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Changed warning to info in test logging

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3511398 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3511398 on 2017/06/27 by Andrew.Grant

	Changed warning to info in test logging

	#!tests compiled
	#!rb none

Change 3510907 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/... via CL 3510906
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3510906 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3510902 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3510902 on 2017/06/26 by Andrew.Grant

	Support for multiple applocal dependency paths during deployment

	#!tests ran locally
	#!rb none

Change 3510368 on 2017/06/26 by Shaun.Kime

	Making the "Initial" namespace. Spawn scripts will automatically fill this in if requested anywhere in the child scripts.

	#!rb none
	#!tests modified Sparks uasset

Change 3510362 on 2017/06/26 by John.Nielson

	Added parameters for gameplay effect removal so that user has access to premature Removal and StackCount when needed.

	#!RB: none
	#!review-3510363: @David.Ratti
	#!Test: pie

Change 3509787 on 2017/06/26 by Wyeth.Johnson

	Edge Preservation

Change 3509754 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589 via CL 3509590
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3509753 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589 via CL 3509590
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3509752 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589 via CL 3509590
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3509751 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589 via CL 3509590
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3509750 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589 via CL 3509590
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3509590 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/... via CL 3509589
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3509589 on 2017/06/26 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

	#!ROBOMERGE-SOURCE: CL 3509588 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3509588 on 2017/06/26 by David.Ratti

	Editegrate CL 3509455  from Zak. Fixes for multiple begin/end overlaps being called for complex collision
	#!rb none
	#!tests editor

Change 3509455 on 2017/06/26 by Zak.Middleton

	#!ue4-orion - Fix overlap test stopping on first sub shape. Only the first shape was being considered when looping multiple shapes, for queries like ComponentOverlapComponent, which could affect the cached overlaps optimization in primitive movement code. Fixes regression from CL 3369875.

	#!rb Ori.Cohen, David.Ratti
	#!codereview David.Ratti
	#!tests MP PIE, Gideon's ult, overlaps against cylinder (with 4 sub shapes)
	#!jira OR-39780

Change 3509449 on 2017/06/26 by Frank.Fella

	Sequencer - Expose selection of tracks and sections for external use.

	#!tests Verified selection code works as expected with code in a future change.
	#!rb Max.Chen,Andrew.Rodham

Change 3509406 on 2017/06/26 by Shaun.Kime

	Rework to the emitter graph to better support events.
	Undo/Redo works.
	Added a new NiagaraStackStruct value that embeds a struct details panel.

	#!rb none
	#!tests add/remove several events from Sparks script

Change 3508540 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534 via CL 3508535
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3508539 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534 via CL 3508535
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3508538 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534 via CL 3508535
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3508537 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534 via CL 3508535
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3508536 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534 via CL 3508535
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3508535 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/... via CL 3508534
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3508534 on 2017/06/24 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3508533 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3508533 on 2017/06/24 by Andrew.Grant

	Fix to BuildCookTest when using sync option

	#!tests ran locally
	#!rb none

Change 3508482 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476 via CL 3508477
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3508481 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476 via CL 3508477
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3508480 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476 via CL 3508477
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3508479 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476 via CL 3508477
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3508478 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476 via CL 3508477
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3508477 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/... via CL 3508476
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3508476 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	BuildCookTest cleanup
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508475 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3508475 on 2017/06/23 by Andrew.Grant

	BuildCookTest cleanup
	#!tests #!rb none

Change 3508463 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253 via CL 3508254
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3508462 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253 via CL 3508254
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3508461 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253 via CL 3508254
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3508460 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253 via CL 3508254
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3508459 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253 via CL 3508254
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3508254 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/... via CL 3508253
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3508253 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3508252 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3508252 on 2017/06/23 by Andrew.Grant

	Added -changes support to BuildCookTest to iterate over a series of CLs
	#!tests #!rb none

Change 3508191 on 2017/06/23 by Olaf.Piesche

	fix missing space in hlsl gen for data set structs

	#!rb none
	#!tests compiled emitters

Change 3508029 on 2017/06/23 by Olaf.Piesche

	More mesh emitter work; event fundamentals for GPU sim


	#!rb none
	#!tests example emitters

Change 3507684 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083 via CL 3507084
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3507683 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083 via CL 3507084
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3507682 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083 via CL 3507084
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3507681 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083 via CL 3507084
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3507680 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083 via CL 3507084
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3507172 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381 via CL 3505382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3507168 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381 via CL 3505382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3507167 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381 via CL 3505382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3507164 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381 via CL 3505382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3507163 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381 via CL 3505382
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3507084 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/... via CL 3507083
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3507083 on 2017/06/23 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3507082 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3507082 on 2017/06/23 by Andrew.Grant

	Fix for hlod editor crash (similar to UE-46438)

	#!tests compiled
	#!rb none

Change 3506907 on 2017/06/23 by Zak.Middleton

	#!ue4-odin - Merge CL 3492200 from Dev-Framework (which also went to 4.16.2). Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.

	Addresses long stall in texture streaming in UpdateResourceStreaming() fixed a different way in CL 3488249.
	Fixes other possible regressions from CL 3359561 that removed the Reset(...) entirely.

	#!rb Marc.Audy
	#!codereview Andrew.Grant
	#!tests PIE vs AI with minions

Change 3506675 on 2017/06/23 by David.Ratti

	Adding additional, temporary logging for OR-39780
	#!rb none
	#!tests editor

Change 3506206 on 2017/06/22 by Frank.Fella

	Niagara - Stack styling tweaks, and fixes for layout changing when modifying values.

	#!tests Modifying values no longer makes the stack scrolling jump
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3505960 on 2017/06/22 by Zak.Middleton

	#!ue4-orion - Added StaticMesh CollisionComplexity to the AssetRegistry. It now appears as a column in the Content Browser and Asset Audit tool, as well as tooltips for the items in the CB.

	#!rb Ori.Cohen, Ben.Zeigler
	#!tests tested content browser and related tools above in Monolith2.

Change 3505494 on 2017/06/22 by Zak.Middleton

	#!ue4-orion - Improved asset name gathering for 'Collision.ListObjectsWithCollisionComplexity' command from CL 3503816.

	#!rb none
	#!tests used command in various levels

Change 3505382 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/... via CL 3505381
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3505381 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3505379 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3505379 on 2017/06/22 by Andrew.Grant

	Gauntlet improvements:
	- Moved refelction-based creation of test nodes to common code
	- Cleanup of TestExecutor with better exception handling
	- Cleanup of Unreal shutdown analysys
	- Cleaned up log parser
	- Created "SelfTest" nodes that allow Gauntlet to test itself :)
	- Added SelfTest nodes for order of operations and logparsing

	#!tests preflighted
	#!rb none

Change 3505235 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	[QAREVIEW] please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	@David.Ratti

	#!ROBOMERGE-SOURCE: CL 3504491 in //Orion/Release-41.1/... via CL 3504493
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3505234 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	[QAREVIEW] please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	@David.Ratti

	#!ROBOMERGE-SOURCE: CL 3504491 in //Orion/Release-41.1/... via CL 3504493
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3505233 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	[QAREVIEW] please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	@David.Ratti

	#!ROBOMERGE-SOURCE: CL 3504491 in //Orion/Release-41.1/... via CL 3504493
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3505231 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	[QAREVIEW] please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	@David.Ratti

	#!ROBOMERGE-SOURCE: CL 3504491 in //Orion/Release-41.1/... via CL 3504493
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3505123 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593 via CL 3503597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3505122 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593 via CL 3503597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3505121 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593 via CL 3503597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3505120 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593 via CL 3503597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3505119 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593 via CL 3503597
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3505113 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591 via CL 3503595
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3505112 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591 via CL 3503595
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3505111 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591 via CL 3503595
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3505110 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591 via CL 3503595
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3505109 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591 via CL 3503595
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3505106 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588 via CL 3503594
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3505103 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588 via CL 3503594
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3505102 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588 via CL 3503594
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3505099 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588 via CL 3503594
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3505098 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588 via CL 3503594
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3504913 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340 via CL 3503341
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3504911 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340 via CL 3503341
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3504908 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340 via CL 3503341
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3504907 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340 via CL 3503341
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3504906 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340 via CL 3503341
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3504887 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094 via CL 3503095
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3504886 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094 via CL 3503095
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3504885 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094 via CL 3503095
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3504884 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094 via CL 3503095
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3504883 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094 via CL 3503095
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3504837 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659 via CL 3502660
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3504836 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659 via CL 3502660
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3504835 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659 via CL 3502660
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3504834 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659 via CL 3502660
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3504833 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659 via CL 3502660
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3504547 on 2017/06/22 by Shaun.Kime

	Moving the building of error information into the base class. This will simplify the logic in the future.

	#!rb none
	#!tests Made errors and tested that new system works appropriately

Change 3504493 on 2017/06/22 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	[QAREVIEW] please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	@David.Ratti

	#!ROBOMERGE-SOURCE: CL 3504491 in //Orion/Release-41.1/...
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3504491 on 2017/06/22 by Andrew.Grant

	Merging 3492174 from //Orion/Dev-UI to Release-41.1 to address OR-38012

	#!QAReview please check OR-38012 is fixed in 41.1
	#!tests none
	#!rb none
	#!review-3504492 @David.Ratti

Change 3504129 on 2017/06/21 by Shaun.Kime

	Now only showing the subset of compiler error messages that are associated with that section. i.e. only showing spawn errors in the spawn section of the stack.

	#!rb none
	#!tests made errors and made sure the errors showed up in the right sections

Change 3504071 on 2017/06/21 by Shaun.Kime

	Adding simple wrapper for the event handlers inline. Had to "cheat" and wrap the FNiagaraEventScriptProperties in an owning UObject and use PostInit/PostEdit/PreEdit to keep them synchronized since the originating object is a struct and not an object.

	Waiting on the emitter to be in a system to have a better UI than seting the GUID manually.

	#!rb none
	#!tests made edits in stack and watched the details update appropriately.
	#!ue4-orion - Added asset path to 'Collision.ListObjectsWithCollisionComplexity' command, and changed sort key to asset path. Will speed up tomorrow (slow for tens of thousands of entries right now).

	#!rb none
	#!tests used console command on map

Change 3503717 on 2017/06/21 by Zak.Middleton

	#!ue4-orion - Improved logging for collision auditing. Removed a bunch of redundant string building to speed it up (use a map to cache values instead).

	#!rb Nick.Atamas
	#!tests ran console command in OrionEntry and Monolith2

Change 3503650 on 2017/06/21 by Andrew.Grant

	OUI - Fix for movable skylight shader missing on simple forward (low lighting quality mode) from Roland


	#!rb Marcus.Wassmer, Daniel.Wright
	#!tests none

Change 3503597 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/... via CL 3503593
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3503595 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/... via CL 3503591
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3503594 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/... via CL 3503588
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3503593 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503587 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3503591 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503584 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3503588 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3503583 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3503587 on 2017/06/21 by Mieszko.Zielinski

	A bug in AISense resulting in inconsistent behavior depending of whether target was in sight cone or not #!UE4

	We used to report every tick that given target is still not visible, while for targets in vision cone we reported it only once #!Orion

	#!test golden path
	#!rb none
	#!lockdown Andrew.Grant

Change 3503584 on 2017/06/21 by Mieszko.Zielinski

	Fixed bots' path updates timing out while following the long jump link at home bases #!Orion

	Had to change UPathFollowingComponent::WaitingForPathTimer from private to protected.

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

Change 3503583 on 2017/06/21 by Mieszko.Zielinski

	Made it possible to disable specific AI senses via BP #!UE4

	#!rb none
	#!test golden path
	#!lockdown Andrew.Grant

Change 3503391 on 2017/06/21 by Shaun.Kime

	If calling a function with numeric parameters, we would get an error if two or more differed in terms of the numeric types that were resolved to.

	#!rb none
	#!tests recompiled several examples, added multiple random range using assets.

Change 3503341 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/... via CL 3503340
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3503340 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: david.ratti
	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

	#!ROBOMERGE-SOURCE: CL 3503339 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3503339 on 2017/06/21 by David.Ratti

	Spot edintegate CL 3503266  from BenZ for asset registry cached class map problem.

	#!rb none
	#!tests cooked PS4

Change 3503156 on 2017/06/21 by Frank.Fella

	Niagara - Stack - Adjust margins of function inputs so that their labels indent more consistently and their values all line up correctly.

	#!tests checked alignment visually
	#!rb none

Change 3503095 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/... via CL 3503094
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3503094 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	@Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3503090 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3503090 on 2017/06/21 by Andrew.Grant

	Added Error device implementation for PS4 (Copied from Switch) to address issue where PS4 tests with -unattended would ignore checks() (OutputDeviceAnsiError behavior)
	Added GIgnoreDebugger check to IsDebuggerPresent implementations that didn't have it to assist future generations who suddenly find themselves wanting to debug this behavior.

	#!review-3502889 @Luke.Thatcher, @Ben.Marsh, @Ben.Woodhouse
	#!tests compiled & ran PS4 and WIndowsServer
	#!rb none

Change 3502972 on 2017/06/21 by Olaf.Piesche

	Missing file, some test assets
	#!rb none
	#!tests none

Change 3502969 on 2017/06/21 by Frank.Fella

	Niagara - Missed in last check-in.

	#!tests none
	#!rb none

Change 3502965 on 2017/06/21 by Zak.Middleton

	#!ue4-orion - Increase search radius for MostOpposingNormal. Fixes case where character movement cannot walk up steps of certain ramps. (Mirror CL 3490592 from Dev-Anim-Phys by Ori.Cohen).

	Bringing over now that Dev-Anim-Phys has passed promotion with the change.

	#!rb Ori.Cohen
	#!codereview Andrew.Grant
	#!tests Ran around Monolith and Monolith2 as Kallari, up and down various steps/ramps (as per UE-45935).
	#!jira OR-39611

	(Update: added OR jira)

Change 3502931 on 2017/06/21 by Frank.Fella

	Niagara - Stack updates
	+ Refactor the way children are updated in the stack tree to make the api more consistent and easier to use.
	+ Add expanders to renderer items and have them collapsed by default.
	+ Add in a temporary expandable item to show the emitter properties in the emitter spawn script area.
	+ Start with the graph and the properties panels hidden by default.
	+ Move the stats to the stack.

	#!tests Verified the emitter properties are in the stack, verified that renderers are collapseable, and verified other parts of the stack update correctly with the update children refactor.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3502660 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/... via CL 3502659
	#!ROBOMERGE-BOT: ORION (Release-41.1 -> Main)

Change 3502659 on 2017/06/21 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3502658 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Release-41.1)

Change 3502658 on 2017/06/21 by Daniel.Lamb

	Merge 3492630
	//UE4/Dev-Editor -> //Orion/Release-41

	UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of  "Within" in class meta.
	rb none
	#!jira UE-46124
	lockdown Matt.Kuhlenschmidt

	#!test Cook paragon
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant

Change 3502261 on 2017/06/20 by Jeff.Williams

	Merging //Orion/Main to Release-41.1 (//Orion/Release-41.1)

	#!rb none
	#!tests none

Change 3502246 on 2017/06/20 by Jeff.Williams

	Populate -S //Orion/Release-41.1 -r.

Change 3501911 on 2017/06/20 by Olaf.Piesche

	-mesh rendering
	-making GPU rand more random
	-test assets
	-couple of bug fixes

	#!rb none
	#!tests test assets, GPU and CPU sim, sprite and mesh rendering

Change 3501633 on 2017/06/20 by Zak.Middleton

	#!ue4-orion - Add "Collision.ListObjectsWithCollisionComplexity <Complexity>" command. Complexity is one of: Default, SimpleAndComplex, UseSimpleAsComplex, UseComplexAsSimple.

	When listing 'Default', only those with settings explicitly set to 'Default' are listed.
	When listing anything other than 'Default', those matching either the requested complexity or default (if that is the same complexity) are listed.

	#!tests load monolith2 (and small maps), type console command
	#!rb none

Change 3501297 on 2017/06/20 by Shaun.Kime

	Adding support for pre-change notification
	#!rb matt.kuhlenschmidt
	#!tests n/a

Change 3501294 on 2017/06/20 by Shaun.Kime

	First round of supporting parameter store in UNiagaraComponent details panels. If the value is in the data store, it should be reflected in the UI. We keep track of which values are overwritten so that we can show the user.

	Multiple selection is not supported, nor are data interfaces.
	Tweaking values in the system graph panel doesn't carry over because those values aren't getting pushed to the scripts.

	#!rb none
	#!tests n/a

Change 3500984 on 2017/06/20 by Alexis.Matte

	Fix crash when merging actor with one different material slot per LOD, this is a temporary fix since there is a refactor done in 4.17 that will replace this part of the code.
	#!jira UE-46166
	#!rb jurre.debaare
	#!tests none

Change 3500472 on 2017/06/20 by Frank.Fella

	Sequencer - Don't create a transaction when setting the fixed frame interval in initialize since it's not a user initiated change and because it can be called from undo which makes it impossible to actually undo.

	#!tests Verified that a non-undoable transaction isn't added on initialize anymore.
	#!rb Max.Chen

Change 3499930 on 2017/06/19 by Andrew.Grant

	Merging clean-resolve files using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests #!rb none

Change 3499446 on 2017/06/19 by Andrew.Grant

	Non-unity compilation fixes

	#!tests compiled non-unity
	#!rb none

Change 3499212 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/... via CL 3499207
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3499211 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/... via CL 3499207
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3499210 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/... via CL 3499207
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3499209 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/... via CL 3499207
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3499208 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/... via CL 3499207
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3499207 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Locked network version to 3493863

	#!rb #!tests na

	#!ROBOMERGE-SOURCE: CL 3499205 in //Orion/Release-40.5/...
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3499205 on 2017/06/19 by Andrew.Grant

	Locked network version to 3493863

	#!ROBOMERGE: !Main
	#!rb #!tests na

Change 3498856 on 2017/06/19 by Andrew.Grant

	Fix missing include
	#!tests compiling PS4 dev
	#!rb none

Change 3498843 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/... via CL 3498780
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3498842 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/... via CL 3498780
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3498841 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/... via CL 3498780
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3498840 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/... via CL 3498780
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3498839 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/... via CL 3498780
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3498780 on 2017/06/19 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	[CODEREVIEW] martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

	#!ROBOMERGE-SOURCE: CL 3498715 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3498715 on 2017/06/19 by Laurent.Delayen

	Added short dummy bones to end effectors to prevent their rotations from being too aggressively compressed, as that hurt Coil's Goblin wing animation.

	#!codereview martin.wilson
	#!rb none
	#!test Coil Wing Additive Animation

Change 3498668 on 2017/06/19 by Andrew.Grant

	Added additional info to warning
	Fixed BP warning in Justice_Drain

	#!test warning no longer occurs
	#!rb none

Change 3498601 on 2017/06/19 by Andrew.Grant

	Better logging of errors

	#!tests compiled and verified offending asset is shone
	#!rb none

Change 3498544 on 2017/06/19 by Andrew.Grant

	Added helper to check if the underlying asset exists

	#!tests ran in code with check() against package utils method
	#!rb none

Change 3498319 on 2017/06/19 by Frank.Fella

	Niagara - Actually remove nodes from the graph when deleting modules from the stack, and also fix undo for delete, move up, and move down.

	#!tests Deleted modules and verified they were removed from the graph, also tested undo for delete, move up, and move down.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3498236 on 2017/06/19 by Andrew.Grant

	Bulk Merging //Orion/Main to Dev-UI (//Orion/Dev-UI)
	#!tests #!rb na

Change 3498224 on 2017/06/19 by Shaun.Kime

	Making header public
	#!rb none
	#!test n/a

Change 3496705 on 2017/06/16 by Shaun.Kime

	Removing files that accidentally made it in prior checkin.
	Adding missing file

	#!rb none
	#!tests n/a

Change 3496702 on 2017/06/16 by Shaun.Kime

	Split settings into Niagara runtime and editor.
	Added ability to map keyboard chords and a left mouse press to shortcuts for creating nodes in the script editor as requested by Wyeth.
	Had to do a little reworking of the way we create the popup menu in order to test the types.

	This can be made better by having a customization that does the popup menu directly and allowing the user to select from there rather than having to know the underlying name directly.

	These are the currently checked in mappings, which are based on the material editor.
	Numeric::Add	Key=A
	Numeric::Div	Key=D
	Numeric::Pow	Key=E
	If	Key=I
	Numeric::Mul	Key=M
	Numeric::Normalize  Key=N
	Numeric::OneMinus   Key=O
	float	Key=One
	Vector2D	Key=Two
	Vector	Key=Three
	Vector4	Key=Four
	LinearColor	Key=C

	#!rb none
	#!tests n/a

Change 3496657 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/... via CL 3496645
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3496656 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/... via CL 3496645
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3496655 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/... via CL 3496645
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3496654 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/... via CL 3496645
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3496653 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/... via CL 3496645
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3496645 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3496627 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3496627 on 2017/06/16 by Andrew.Grant

	Reenabled EnvPerfTest
	- hardcoded test list to avoid problems introduced by maps that are not cooked

	#!tests ran test locally
	#!rb none

Change 3496550 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/... via CL 3496545
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3496549 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/... via CL 3496545
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3496548 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/... via CL 3496545
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3496547 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/... via CL 3496545
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3496546 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/... via CL 3496545
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3496545 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	[CODEREVIEW] andrew.grant
	#!tests compiles

	#!ROBOMERGE-SOURCE: CL 3496543 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3496543 on 2017/06/16 by Laurent.Delayen

	Fixed AnimationErrorStats constructor to make clang happy.

	#!rb none
	#!codereview andrew.grant
	#!tests compiles

Change 3496028 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/... via CL 3495920
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3496027 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/... via CL 3495920
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3496026 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/... via CL 3495920
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3496025 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/... via CL 3495920
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3496024 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/... via CL 3495920
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3496010 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/... via CL 3495689
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3496009 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/... via CL 3495689
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3496008 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/... via CL 3495689
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3496005 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/... via CL 3495689
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3496004 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/... via CL 3495689
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3495920 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	[CODEREVIEW] lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

	#!ROBOMERGE-SOURCE: CL 3495916 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3495916 on 2017/06/16 by Laurent.Delayen

	Fixed broken 'ComputeCompressionError' with additive animations.
	Optimized 'ComputeCompressionError' by caching bone indices, so they don't have to be looked up every frame.
	Added CompressCommandletVersion INDEX_NONE to bypass DDC and test locally recompression.

	#!codereview lina.halper, martin.wilson
	#!rb none
	#!test ghost hit react back compresses with acceptable results.

Change 3495689 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version again
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3495651 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3495668 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3495201 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3495666 on 2017/06/16 by andrew.grant

	#!CodeReview: andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_UI/OrionGame/Source/OrionUI/DeckBuilder/OrionDeckBuilder_DeckCard.cpp
	//ROBOMERGE_ORION_Dev_UI/OrionGame/Source/OrionUI/PostGame/OrionXPOverview.cpp
	//ROBOMERGE_ORION_Dev_UI/OrionGame/Source/OrionUI/Tooltips/OrionHeroTooltip.cpp

	--------------------------------------
	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3495201 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3495663 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3495201 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3495657 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3495201 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3495651 on 2017/06/16 by Andrew.Grant

	Bumping script version again
	#!tests #!rb none

Change 3495642 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3495201 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3495282 on 2017/06/16 by Andrew.Grant

	Merging fixes from 40.5 to Release-41 via Main
	#!tests #!rb none

Change 3495204 on 2017/06/16 by Don.Eubanks

	Added HandEntryTooltip class and content, displayed when hovering a card in your hand in the Card Shop

	Right now the content of the tooltip (text etc) is created one time and remains static until you move off/back on the card, this will change in the future so that the content updates as gold counts update.

	#!rb dan.hertzka
	#!tests Compile DebugGame Editor Win64 / Shipping Client PS4

Change 3495201 on 2017/06/16 by Andrew.Grant

	Merging //Orion/Release-40.5 to Main (//Orion/Main)
	#!tests #!rb na

Change 3495145 on 2017/06/16 by Shaun.Kime

	Missing file
	#!rb none
	#!tests n/a

Change 3494899 on 2017/06/16 by Jeff.Williams

	Merging //Orion/Main to Release-40.5 (//Orion/Release-40.5)

	Hoping for another iterative build fix!

	#!rb none
	#!tests none

Change 3494864 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/... via CL 3494859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3494863 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/... via CL 3494859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3494862 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/... via CL 3494859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3494861 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/... via CL 3494859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3494860 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/... via CL 3494859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3494859 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3494858 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3494858 on 2017/06/16 by Andrew.Grant

	Fix from Jurre for Merge Actors issue
	#!tests compiled
	#!rb none

Change 3494844 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/... via CL 3494839
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3494843 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/... via CL 3494839
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3494842 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/... via CL 3494839
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3494841 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/... via CL 3494839
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3494840 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/... via CL 3494839
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3494839 on 2017/06/16 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

	#!ROBOMERGE-SOURCE: CL 3494826 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3494826 on 2017/06/16 by Andrew.Grant

	Bumped script version to reapply 4.5 SDK with fixes for patching
	#!tests #!rb none

Change 3494762 on 2017/06/16 by Andrew.Grant

	Bulk Merging using ROBO://Orion/Main->//Orion/Dev-UI

	#!tests #!rb na

Change 3494229 on 2017/06/16 by Max.Chen

	Sequencer: Refix Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row

	#!jira UE-45737
	#!rb none
	#!tests none

Change 3493863 on 2017/06/15 by Daniel.Lamb

	Fixed up search path when using Iterative builds for BuildCookTest script.
	#!rb Andrew.Grant
	#!lockdown Andrew.Grant
	#!test Automation tool launch iterative build.

Change 3493654 on 2017/06/15 by Daniel.Lamb

	Wrote some validation code (disabled by default) for the allocator stats.
	Fixed the return value of the GetAllocatorStats function.
	#!rb Andrew.Grant
	#!review @Andrew.Grant
	#!test Run PS4 in Test config.
	#!lockdown Andrew.Grant

Change 3493621 on 2017/06/15 by Shaun.Kime

	Now showing toasts when adding attributes for the renderer.
	Auto-adding any missing items when adding renderer.

	#!rb none
	#!codereview frank.fella
	#!tests Made a blank script and added the sprite renderer in.

Change 3493461 on 2017/06/15 by Shaun.Kime

	Made move up/down and delete notify graph needs recompile.

	#!rb none
	#!tests n/a

Change 3493393 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/... via CL 3492927
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3493392 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/... via CL 3492927
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3493391 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/... via CL 3492927
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3493390 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/... via CL 3492927
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3493389 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/... via CL 3492927
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3493344 on 2017/06/15 by Shaun.Kime

	Simple error reporting for when the graph fails to compile. We'll want to do something more fine grained in the long run, but I wanted to get something in quick for now.

	#!rb none
	#!tests broke the stack by unplugging a param map pin and saw results.

Change 3493264 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/... via CL 3492911
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3493263 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/... via CL 3492911
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3493262 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/... via CL 3492911
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3493261 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/... via CL 3492911
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3493260 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/... via CL 3492911
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3493104 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/... via CL 3491859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3493101 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/... via CL 3491859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3493098 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/... via CL 3491859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3493097 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/... via CL 3491859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3493094 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/... via CL 3491859
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3493061 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/... via CL 3491815
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3493058 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/... via CL 3491815
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3493057 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/... via CL 3491815
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3493056 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/... via CL 3491815
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3493055 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/... via CL 3491815
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3492962 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/... via CL 3491609
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3492961 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/... via CL 3491609
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3492960 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/... via CL 3491609
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3492957 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/... via CL 3491609
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3492955 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/... via CL 3491609
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3492927 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	@Daniel.Lamb
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3492595 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3492911 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	[CODEREVIEW] james.golding, michael.noland
	#!test batch anim compression and comparative tests

	#!ROBOMERGE-SOURCE: CL 3492437 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3492844 on 2017/06/15 by Shaun.Kime

	Renderers will now complain about missing items, with a button to fix them.
	Moving many of our modules to the Set XXXX paradigm with dynamic inputs to drive them.
	Moved curves out into their own cpp/h files as they were getting too complicated to manage otherwise.
	Added a 2D curve and a 4D curve.

	#!rb none
	#!codereview frank.fella
	#!tests ported standard test cases over

Change 3492595 on 2017/06/15 by Andrew.Grant

	Fixed Gauntlet reading args from environment and not local params (only affected nested tests such as BuildCookTest -interactive).

	Added explicit error about file copies since parallel-for doesn't surface them

	#!tests ran BCT -interactive and validated params are correct
	#!review-3492596 @Daniel.Lamb
	#!rb none

Change 3492577 on 2017/06/15 by Jeff.Williams

	Merging //Orion/Main to Release-41 (//Orion/Release-41) @3490764

	#!rb none
	#!tests compile

Change 3492448 on 2017/06/15 by Jason.Bestimt

	#!ORION_DG - Reverting sharing of movie tracks from NickD as it conflicted with sequencer changes.  He'll give us a better fix soon
	NOTE: Left the optimization in 41/MAIN so we have to time to find a proper fix, but get to keep the memory savings

	#!RB:none
	#!Tests:none

	#!CodeReview: andrew.grant, daniel.lamb, nick.darnell

Change 3492437 on 2017/06/15 by Laurent.Delayen

	RemoveLinearKey optimizations from licensee submission:
	https://udn.unrealengine.com/questions/167344/animation-compression-doesnt-scale-well.html

	#!rb martin.wilson
	#!codereview james.golding, michael.noland
	#!test batch anim compression and comparative tests

Change 3492423 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/... via CL 3491047
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3492422 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/... via CL 3491047
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3492421 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/... via CL 3491047
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3492420 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/... via CL 3491047
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3492419 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/... via CL 3491047
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3492365 on 2017/06/15 by Dan.Hertzka

	First general improvement pass on new card system

	- FCardDataRow members are now typed properties and resolved on import
	- Row is also now responsible for registering the cooldown tags for a given card - the actual McpCardItemDefinition never fusses with cooldown stuff
	- Properties populated by the data table are transient, but editable. This enables local dev tinkering without needing a whole duplicate data row (also lets us get it out of the card def header)
	- All cards automatically update their properties whenever the cards data table is reimported

	- Created FGameplayCurrencyBundle to simplify tracking and transactions for the 4 currencies involved in buying cards
	- Simplified several other APIs as a result, especially OrionGameplaySet
	- Moved trait checks into the CardInstance. If/when this becomes information that we need in the frontend, I'll likely establish an enum for the various traits and map those to the respective tag.

	- Added the ability to add a transient GamplayTag on the fly when in the editor (to enable testing of card properties that diverge from the data table info)

	- Removed "GemBranch" suffix from gem branch enum entries
	- Converted pointers to references where possible

	#!rb Matt.Schembari
	#!tests Reimported cards table; OrionEntry PIE purchasing, selling, and using cards

Change 3492300 on 2017/06/15 by Andrew.Grant

	Merging from Main using ROBO://Orion/Main->//Orion/Dev-UI
	#!tests compiled
	#!rb none

Change 3492174 on 2017/06/15 by David.Ratti

	Reinvoke the WhileActive gameplay cue event on respawn for all active, non inhibited GEs

	#!review-3492175 Jon.Lietz
	#!rb none
	#!tests pie

Change 3491859 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491855 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3491855 on 2017/06/15 by Mieszko.Zielinski

	Minor gameplay-tasks related improvements to AI code #!Orion

	Things found while fixing other, generic GameplaTasks bug

	#!rb none
	#!test golden path

Change 3491815 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

	#!ROBOMERGE-SOURCE: CL 3491814 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3491814 on 2017/06/15 by Andrew.Grant

	Bumping script version to force reinstall of 4.5 SDK on builders now that missing prx file has been added (3491802)

	#!rb #!tests none

Change 3491759 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Release-40.5 to Main (//Orion/Main) @3490458

	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3490764 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3491745 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Release-40.5 to Main (//Orion/Main) @3490458

	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3490764 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3491735 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Release-40.5 to Main (//Orion/Main) @3490458

	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3490764 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3491699 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Release-40.5 to Main (//Orion/Main) @3490458

	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3490764 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3491609 on 2017/06/15 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3491606 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3491606 on 2017/06/15 by Andrew.Grant

	Added some retries during device setup for the case where a device is being rebooted by another task

	#!tests ran locally
	#!rb none

Change 3491047 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: mieszko.zielinski
	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

	#!ROBOMERGE-SOURCE: CL 3491046 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3491046 on 2017/06/14 by Mieszko.Zielinski

	Fixed a bug resulting in finished GameplayTasks ending up in UGameplayTasksComponent::KnownTasks list #!UE4

	#!rb Lukasz.Furman
	#!test golden path

Change 3490764 on 2017/06/14 by Jeff.Williams

	Merging //Orion/Release-40.5 to Main (//Orion/Main) @3490458

	#!rb none
	#!tests compile

Change 3490704 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/... via CL 3490419
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3490703 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/... via CL 3490419
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3490700 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/... via CL 3490419
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3490699 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/... via CL 3490419
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3490698 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/... via CL 3490419
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3490564 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/... via CL 3489813
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3490563 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/... via CL 3489813
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3490562 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/... via CL 3489813
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3490561 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/... via CL 3489813
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3490560 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/... via CL 3489813
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3490559 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/... via CL 3489812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3490558 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/... via CL 3489812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3490557 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/... via CL 3489812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3490556 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/... via CL 3489812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3490555 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/... via CL 3489812
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3490419 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3490416 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3490416 on 2017/06/14 by Andrew.Grant

	Fixed order of ops issue where OnComplete could be called while a test was still running

	#!tests ran SoloSoak
	#!rb none

Change 3490033 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/... via CL 3489274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3490031 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/... via CL 3489274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3490028 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/... via CL 3489274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3490027 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/... via CL 3489274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3490024 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/... via CL 3489274
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3489823 on 2017/06/14 by Andrew.Grant

	Fixed for OR-39522 (marked properties as BP ReadWrite)

	#!jira OR-39522
	#!tests ran editor, compiled original BP
	#!rb none

Change 3489813 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489771 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3489812 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

	#!ROBOMERGE-SOURCE: CL 3489765 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3489771 on 2017/06/14 by Laurent.Delayen

	Batch Compression:
	- recompress animations a second time with proper compressor to populate DDC with correct key.
	- Reset CompressCommandletVersion is animation was manually recompressed without automatic settings. So batch compressor can catch it next time.

	#!rb martin.wilson
	#!tests recompressed some animations.

Change 3489765 on 2017/06/14 by Laurent.Delayen

	Batch Compression: change log warnings from warnings to regular log.

	#!rb  martin.wilson
	#!tests Compressed some animations.

Change 3489512 on 2017/06/14 by Daniel.Lamb

	Fix for malloc stats.
	#!rb Andrew.Grant
	#!test paragon perftest ps4
	#!lockdown Andrew.Grant

Change 3489472 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Release-41)

Change 3489471 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3489470 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3489469 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3489468 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3489467 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/... via CL 3488079
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3489466 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Release-41)

Change 3489465 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3489464 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3489463 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3489462 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3489461 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/... via CL 3488076
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3489458 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/... via CL 3488044
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3489457 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/... via CL 3488044
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3489456 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/... via CL 3488044
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3489455 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/... via CL 3488044
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3489454 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/... via CL 3488044
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3489274 on 2017/06/14 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	More Anim Compression Fixes:
	- Fixed frame->error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	[CODEREVIEW] lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

	#!ROBOMERGE-SOURCE: CL 3489273 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3489273 on 2017/06/14 by Laurent.Delayen

	More Anim Compression Fixes:
	- Fixed frame->time error bug in FAnimationUtils::ComputeCompressionError resulting in incorrect compression error measurement, and in some rare animations not being able to find a suitable compressor.
	- Make sure automatic compression actually go through all the compressors.
	- Removed unused reduction based on retargeting settings.
	- Increased anim DDC version to recompress animations to fix animations with bad data. Repopulated DDC for Paragon.
	- Removed temporary recompression workaround in AnimSequence::PostLoad.

	#!codereview lina.halper
	#!rb martin.wilson
	#!tests Ghost recompression, DDC repopulation, batch recompression of a few heroes.

Change 3488760 on 2017/06/14 by Frank.Fella

	Niagara - In stack object editing
	+ Add a new stack entry for displaying a details panel inline.
	+ Chage the data interface editing to use the stack object.
	+ Add the ability to add and delete renderers.
	+ Add a details panel inline for renderers.

	#!tests Edited data interfaces inline, added/removed renderers, edited renderers inline.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3488137 on 2017/06/13 by Andrew.Grant

	Improved Gauntlet logging about build validity
	#!tests ran boot test
	#!rb none

Change 3488079 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488078 in //Orion/Release-40.5/...
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)
	#!ROBOMERGE[ORION]: 41

Change 3488078 on 2017/06/13 by Daniel.Lamb

	Added currently synced option to the build launcher tool.
	This tries to run a build which is the same as the currently synced cl number and works with iterative builds
	@review Andrew.Grant
	#!test paragon.
	#!rb Trivial
	#!lockdown Andrew.Grant
	#!ROBOMERGE: MAIN, 41

Change 3488076 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3488073 in //Orion/Release-40.5/...
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)
	#!ROBOMERGE[ORION]: 41

Change 3488073 on 2017/06/13 by Daniel.Lamb

	Fix up allocated smallpool memory stat.
	#!rb Gil.Gribb
	#!test Paragon ps4
	#!ROBOMERGE: MAIN, 41
	#!lockdown Andrew.Grant

Change 3488044 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3488041 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3488041 on 2017/06/13 by Andrew.Grant

	Fixed issue saving artifacts on Win64
	Fixed issue with artifacts being saved for editor builds

	#!tests ran test locally
	#!rb none

Change 3487260 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/... via CL 3487255
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3487259 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/... via CL 3487255
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3487258 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/... via CL 3487255
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3487257 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/... via CL 3487255
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3487256 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/... via CL 3487255
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3487255 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: laurent.delayen
	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

	#!ROBOMERGE-SOURCE: CL 3487254 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3487254 on 2017/06/13 by Laurent.Delayen

	Automatic Compression fixes.
	- Error reporting: normalize rotations and added ensures to make sure NaNs do not sneak in there.
	- switched size reporting from 32 to 64 bits, so we have enough space for large recompression jobs.
	- fixed compression ratio to be accurate. Measures actual compressed animation data instead of whole asset size.
	- prevented infinite loop when trying to recompressed a failed automatic compression.
	- Fixed reporting when no suitable compressors were found.
	- Compression ratio is now against uncompressed raw size, and not (trivially) compressed raw size.
	- Force recompression if data we got back from DDC is invalid.

	#!rb martin.wilson
	#!tests hero recompression

Change 3486889 on 2017/06/13 by Andrew.Grant

	Last chopper out of Dev-Gen

	#!tests compiled
	#!rb none

Change 3486744 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	[CODEREVIEW] nick.darnell, daniel.lamb, andrew.grant
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3486737 in //Orion/Release-41/... via CL 3486738
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3486743 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	[CODEREVIEW] nick.darnell, daniel.lamb, andrew.grant
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3486737 in //Orion/Release-41/... via CL 3486738
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3486742 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	[CODEREVIEW] nick.darnell, daniel.lamb, andrew.grant
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3486737 in //Orion/Release-41/... via CL 3486738
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3486739 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	[CODEREVIEW] nick.darnell, daniel.lamb, andrew.grant
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3486737 in //Orion/Release-41/... via CL 3486738
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3486738 on 2017/06/13 by robomerge

	#!ROBOMERGE-AUTHOR: jason.bestimt
	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	[CODEREVIEW] nick.darnell, daniel.lamb, andrew.grant
	[QAREVIEW]

	#!ROBOMERGE-SOURCE: CL 3486737 in //Orion/Release-41/...
	#!ROBOMERGE-BOT: ORION (Release-41 -> Main)

Change 3486737 on 2017/06/13 by Jason.Bestimt

	#!ORION_41 - UMG Memory Optimization from NickD
	- Offers options to remove "slow construction" method for widgets allowing only fast method to be used

	Shows movie track memory almost gone.  :D

	#!RB:jason.bestimt
	#!Tests: Preflight build.  Solo match.  Mem Report.

	#!CodeReview: nick.darnell, daniel.lamb, andrew.grant
	#!QAReview

Change 3486471 on 2017/06/13 by Andrew.Grant

	Final bulk merge from Dev-Gen for v42 timeframe
	#!tests #!rb na

Change 3486252 on 2017/06/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Balance (//Orion/Dev-Balance)
	#!rb #!tests na

Change 3486153 on 2017/06/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Balance (//Orion/Dev-Balance)
	#!tests #!rb none

Change 3485963 on 2017/06/12 by Andrew.Grant

	Merging //Orion/Main to Dev-REGS (//Orion/Dev-REGS)
	#!tests #!rb na

Change 3485949 on 2017/06/12 by Andrew.Grant

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics)
	#!tests #!rb na

Change 3485650 on 2017/06/12 by Olaf.Piesche

	changing check() to ensure, so DIs that have no GPU implementaiton yet don't crash on compile

	#!rb none
	#!tests example emitters

Change 3485608 on 2017/06/12 by Frank.Fella

	Niagara -  Data interface editing changes.
	+ Edit data interfaces directly in the stack. (UI Layout isn't great and will be fixed in a future check in.)
	+ For data interface objects which have a default value in the module/dynamin input, the details panel is locked and there is a button to unlock it.  Unlocking it makes a copy of the data interface from the script in the local emitter for editing.
	+ All curves are now displayed in the curve editor since the stack doesn't have a way to select them to edit in the stack.  This will be fixed later, in the short term the curve editor has buttons to hide/show curves.

	#!tests Edited curve data interfaces in the stack.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3485578 on 2017/06/12 by Andrew.Grant

	Merging //Orion/Main to Dev-UI (//Orion/Dev-UI) - pickup of late Dev-Gen changes
	#!rb none
	#!tests compiled

Change 3485569 on 2017/06/12 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	[NULL MERGE]
	Version locked v40.4 to 3483616
	#!tests #!rb na

	#!ROBOMERGE-SOURCE: CL 3485568 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3485568 on 2017/06/12 by Andrew.Grant

	Version locked v40.4 to 3483616
	#!tests #!rb na
	#!ROBOMERGE: !40.5

Change 3485432 on 2017/06/12 by Andrew.Grant

	Merging using ROBO://Orion/Main->//Orion/Dev-General
	#!tests #!rb na

Change 3485368 on 2017/06/12 by Andrew.Grant

	Changed UEnumProperty::ImportText_Internal to return nullptr if the value cannot be matched to an enum name. This allows higher level code to more appropriately warn or handle the error (as UObject::LoadConfig already does).

	#!tests verified error is generated and handled
	#!rb Steve.Robb

Change 3485297 on 2017/06/12 by Olaf.Piesche

	-fix memory stomp and resulting crash with GPU side curl noise DI
	-add GPU side functionality to the other curve DIs
	-some more sample assets

	#!rb none
	#!tests example emitters opened

Change 3484848 on 2017/06/12 by Andrew.Grant

	Files that required merging from v41

	#!tests ran editor, PIE in OrionEntry, PIE frontendscene, Editor game in Monolith
	#!rb none

Change 3484847 on 2017/06/12 by Andrew.Grant

	Files that merged cleanly from v41

	#!tests ran editor, PIE in OrionEntry, PIE frontendscene, Editor game in Monolith
	#!rb none

Change 3484839 on 2017/06/12 by Jeff.Williams

	Merging //Orion/Main to Dev-Cinematics (//Orion/Dev-Cinematics) @3484136

	#!rb none
	#!tests none

Change 3484734 on 2017/06/12 by Ben.Marsh

	EC: Prevent invalid URLs being posted for badges if the dependent job steps failed to start.

	#!fyi Daniel.Lamb
	#!rb none

Change 3484682 on 2017/06/12 by Olaf.Piesche

	-GPU sim data interfaces, part 1; will update the remaining curve interfaces soon
	-fix rendering bug (flickering) with CPU simulated particles


	#!rb none
	#!tests test emitters

Change 3484195 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: jeff.williams
	Merging //Orion/Dev-General to Main (//Orion/Main) @3484064

	#!rb none
	#!tests compile

	#!ROBOMERGE-SOURCE: CL 3484136 in //Orion/Main/...
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3484151 on 2017/06/11 by Jeff.Williams

	Merging //Orion/Main to Release-41 (//Orion/Release-41)

	#!rb none
	#!tests none

Change 3484136 on 2017/06/11 by Jeff.Williams

	Merging //Orion/Dev-General to Main (//Orion/Main) @3484064

	#!rb none
	#!tests compile

Change 3484120 on 2017/06/11 by Jeff.Williams

	Populate -S //Orion/Release-41 -r.

Change 3484080 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/... via CL 3484014 via CL 3484015
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3484079 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/... via CL 3484014 via CL 3484015
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3484078 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/... via CL 3484014 via CL 3484015
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3484077 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/... via CL 3484014 via CL 3484015
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3484072 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/... via CL 3483834 via CL 3483835
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3484071 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/... via CL 3483834 via CL 3483835
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3484070 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/... via CL 3483834 via CL 3483835
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3484069 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/... via CL 3483834 via CL 3483835
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3484015 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/... via CL 3484014
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3484014 on 2017/06/11 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3484013 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3484013 on 2017/06/11 by Andrew.Grant

	Fixed issue where tests that used Context in constructor would fail
	#!tests baselineperf
	#!rb none

Change 3483835 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/... via CL 3483834
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3483834 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483833 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3483833 on 2017/06/10 by Andrew.Grant

	Fixed issue with editor based tests being broken after refactor

	#!tests ran editor test locally
	#!rb none

Change 3483811 on 2017/06/10 by Andrew.Grant

	Added incremental cook location to search paths for Gauntlet
	#!tests compiled
	#!rb none

Change 3483729 on 2017/06/10 by andrew.grant

	#!CodeReview: andrew.grant, jason.bestimt, jeff.williams

	Unresolved conflicts. andrew.grant, please merge this change by hand.
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Fortnite/Tests/FortTest.None.cs
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Framework/Gauntlet.TestExecutor.cs
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Unreal/Gauntlet.UnrealApplication.cs
	//ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Unreal/Gauntlet.UnrealTypes.cs

	--------------------------------------
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/... via CL 3483722 via CL 3483723
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3483727 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/... via CL 3483722 via CL 3483723
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3483726 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/... via CL 3483722 via CL 3483723
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3483725 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/... via CL 3483722 via CL 3483723
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3483723 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/... via CL 3483722
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3483722 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483721 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3483721 on 2017/06/10 by Andrew.Grant

	Mega Gauntlet refactor

	#!tests preflighted standard build with all tests
	#!rb none

Change 3483622 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/... via CL 3483617 via CL 3483618
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3483621 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/... via CL 3483617 via CL 3483618
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3483620 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/... via CL 3483617 via CL 3483618
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3483619 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/... via CL 3483617 via CL 3483618
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3483618 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/... via CL 3483617
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3483617 on 2017/06/10 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

	#!ROBOMERGE-SOURCE: CL 3483616 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3483616 on 2017/06/10 by Andrew.Grant

	Turned off binned2 stats due to suspected race condition

	#!rb none
	#!tests Solo game on ps4

Change 3483430 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/... via CL 3483424 via CL 3483425
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3483429 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/... via CL 3483424 via CL 3483425
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3483428 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/... via CL 3483424 via CL 3483425
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3483427 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/... via CL 3483424 via CL 3483425
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3483425 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/... via CL 3483424
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3483424 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

	#!ROBOMERGE-SOURCE: CL 3483423 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3483423 on 2017/06/09 by Andrew.Grant

	Fix for weird startup crash that seems like it should have been around forever.
	#!tests booted game without crash from kit
	#!rb none

Change 3483301 on 2017/06/09 by Laurent.Delayen

	Ghost: Added 'InstantFaceForward' system to snap shooting characters forward when they're turned beyond a configurable threshold.

	#!rb michael.shin, jay.hosfelt
	#!tests Ghost

Change 3483269 on 2017/06/09 by Zak.Middleton

	#!ue4-orion - (EditMerge CL 3468253) Remove the need for calling constructors for physx PxRaycastHit in the dynamic hit result buffer. Saves 30% of the cost of doing small raycasts.

	#!tests multi-PIE w/ bots and AI
	#!codereview Andrew.Grant
	#!rb Ori.Cohen

Change 3483225 on 2017/06/09 by Laurent.Delayen

	Recompressed Animations: Buffs, BaseHero and miscs animations.

	#!codereview dwayne.martin

Change 3483207 on 2017/06/09 by Laurent.Delayen

	Batch Animation Compression fixes.
	- Fixed incorrect 'MemorySavingsFromPrevious' resulting in picking suboptimal compressors.
	- Fixed uncompressed size calculation not taking into account scale component.
	- Fixed animations with 'bDoNotOverrideCompression' causing crashes because they were not recompressed.
	- Animation with 'bDoNotOverrideCompression' that use the automatic compressions are not skipped by the automatic batch compression.
	- Added 'CompressCommandletVersion' to DDC key, so we can force recompression on all animations easily.

	Repopulated DDC with all animations.

	#!codereview martin.wilson
	#!rb lina.halper
	#!tests loaded editor, ran a quick game.

Change 3483107 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/... via CL 3483101 via CL 3483103
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3483106 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/... via CL 3483101 via CL 3483103
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3483105 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/... via CL 3483101 via CL 3483103
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3483104 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/... via CL 3483101 via CL 3483103
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3483103 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/... via CL 3483101
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3483101 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: andrew.grant
	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

	#!ROBOMERGE-SOURCE: CL 3483100 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3483100 on 2017/06/09 by Andrew.Grant

	Non-shipping changes -
	 Added GPU health check if we are waiting for > 2 secs on the rendering thread
	 Changed param for GPU health checking from aftermath to gpucrashdebugging

	#!tests compiled
	#!rb arne

Change 3482985 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448 via CL 3482449
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Cinematics)

Change 3482984 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448 via CL 3482449
	#!ROBOMERGE-BOT: ORION (Main -> Dev-Balance)

Change 3482983 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448 via CL 3482449
	#!ROBOMERGE-BOT: ORION (Main -> Dev-REGS)

Change 3482982 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448 via CL 3482449
	#!ROBOMERGE-BOT: ORION (Main -> Dev-UI)

Change 3482981 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448 via CL 3482449
	#!ROBOMERGE-BOT: ORION (Main -> Dev-General)

Change 3482612 on 2017/06/09 by Frank.Fella

	Niagara - Fix various wiring issues.
	+ Reverting dynamic inputs no longer leaves the graph disconnected.
	+ Reverting dynamic inputs no longer leaves the controls in the stack.
	+ Adding multiple dynamic inputs to the same module now wires them correctly.
	+ Adding dynamic inputs when there is already an override read now wires correctly.
	+ Moving modules with dynamic inputs up and down and removing them now works correctly.

	#!tests Everything above.
	#!rb none

	#!codereview Olaf.Piesche,Simon.Tovey,Shaun.Kime

Change 3482449 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/... via CL 3482448
	#!ROBOMERGE-BOT: ORION (Release-40.5 -> Main)

Change 3482448 on 2017/06/09 by robomerge

	#!ROBOMERGE-AUTHOR: daniel.lamb
	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

	#!ROBOMERGE-SOURCE: CL 3482444 in //Orion/Release-40.4/...
	#!ROBOMERGE-BOT: ORION (Release-40.4 -> Release-40.5)

Change 3482444 on 2017/06/09 by Daniel.Lamb

	Fixed up the allocated small pool memory stat.
	#!rb Andrew.Grant
	#!test Paragon startup
	#!lockdown Andrew.Grant

Change 3482261 on 2017/06/09 by Shaun.Kime

	Made Get/Set nodes available at all times.
	Tweaked the right-click menu on parameter map base to allow for particle namespaced custom variables and also limiting based on script context.

	#!rb none
	#!tests n/a

Change 3482147 on 2017/06/09 by Shaun.Kime

	Fixing crash when updating the vertex data and the vertex attributes are no longer part of the data set.

	#!rb none
	#!tests opened existing files

Change 3482076 on 2017/06/09 by Wyeth.Johnson

	Resave to prevent the constant recompiling of DefaultParticle

[CL 3571062 by Andrew Grant in Main branch]
2017-08-03 14:06:31 -04:00

1619 lines
54 KiB
C#

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using UnrealBuildTool;
using AutomationTool;
using System.Reflection;
using System.Diagnostics;
using System.Xml.Schema;
using System.Text.RegularExpressions;
namespace AutomationTool
{
/// <summary>
/// Implementation of XmlDocument which preserves line numbers for its elements
/// </summary>
class ScriptDocument : XmlDocument
{
/// <summary>
/// The file being read
/// </summary>
FileReference File;
/// <summary>
/// Interface to the LineInfo on the active XmlReader
/// </summary>
IXmlLineInfo LineInfo;
/// <summary>
/// Set to true if the reader encounters an error
/// </summary>
bool bHasErrors;
/// <summary>
/// Private constructor. Use ScriptDocument.Load to read an XML document.
/// </summary>
ScriptDocument(FileReference InFile)
{
File = InFile;
}
/// <summary>
/// Overrides XmlDocument.CreateElement() to construct ScriptElements rather than XmlElements
/// </summary>
public override XmlElement CreateElement(string Prefix, string LocalName, string NamespaceUri)
{
return new ScriptElement(File, LineInfo.LineNumber, Prefix, LocalName, NamespaceUri, this);
}
/// <summary>
/// Loads a script document from the given file
/// </summary>
/// <param name="File">The file to load</param>
/// <param name="Schema">The schema to validate against</param>
/// <param name="OutDocument">If successful, the document that was read</param>
/// <returns>True if the document could be read, false otherwise</returns>
public static bool TryRead(FileReference File, ScriptSchema Schema, out ScriptDocument OutDocument)
{
ScriptDocument Document = new ScriptDocument(File);
XmlReaderSettings Settings = new XmlReaderSettings();
Settings.Schemas.Add(Schema.CompiledSchema);
Settings.ValidationType = ValidationType.Schema;
Settings.ValidationEventHandler += Document.ValidationEvent;
using (XmlReader Reader = XmlReader.Create(File.FullName, Settings))
{
// Read the document
Document.LineInfo = (IXmlLineInfo)Reader;
try
{
Document.Load(Reader);
}
catch (XmlException Ex)
{
if (!Document.bHasErrors)
{
CommandUtils.LogError("{0}", Ex.Message);
Document.bHasErrors = true;
}
}
// If we hit any errors while parsing
if (Document.bHasErrors)
{
OutDocument = null;
return false;
}
// Check that the root element is valid. If not, we didn't actually validate against the schema.
if (Document.DocumentElement.Name != ScriptSchema.RootElementName)
{
CommandUtils.LogError("Script does not have a root element called '{0}'", ScriptSchema.RootElementName);
OutDocument = null;
return false;
}
if (Document.DocumentElement.NamespaceURI != ScriptSchema.NamespaceURI)
{
CommandUtils.LogError("Script root element is not in the '{0}' namespace (add the xmlns=\"{0}\" attribute)", ScriptSchema.NamespaceURI);
OutDocument = null;
return false;
}
}
OutDocument = Document;
return true;
}
/// <summary>
/// Callback for validation errors in the document
/// </summary>
/// <param name="Sender">Standard argument for ValidationEventHandler</param>
/// <param name="Args">Standard argument for ValidationEventHandler</param>
void ValidationEvent(object Sender, ValidationEventArgs Args)
{
if (Args.Severity == XmlSeverityType.Warning)
{
CommandUtils.LogWarning("{0}({1}): {2}", File.FullName, Args.Exception.LineNumber, Args.Message);
}
else
{
CommandUtils.LogError("{0}({1}): {2}", File.FullName, Args.Exception.LineNumber, Args.Message);
bHasErrors = true;
}
}
}
/// <summary>
/// Implementation of XmlElement which preserves line numbers
/// </summary>
class ScriptElement : XmlElement
{
/// <summary>
/// The file containing this element
/// </summary>
public readonly FileReference File;
/// <summary>
/// The line number containing this element
/// </summary>
public readonly int LineNumber;
/// <summary>
/// Constructor
/// </summary>
public ScriptElement(FileReference InFile, int InLineNumber, string Prefix, string LocalName, string NamespaceUri, ScriptDocument Document)
: base(Prefix, LocalName, NamespaceUri, Document)
{
File = InFile;
LineNumber = InLineNumber;
}
}
/// <summary>
/// Reader for build graph definitions. Instanced to contain temporary state; public interface is through ScriptReader.TryRead().
/// </summary>
class ScriptReader
{
/// <summary>
/// The current graph
/// </summary>
Graph Graph = new Graph();
/// <summary>
/// List of property name to value lookups. Modifications to properties are scoped to nodes and agents. EnterScope() pushes an empty dictionary onto the end of this list, and LeaveScope() removes one.
/// ExpandProperties() searches from last to first lookup when trying to resolve a property name, and takes the first it finds.
/// </summary>
List<Dictionary<string, string>> ScopedProperties = new List<Dictionary<string, string>>();
/// <summary>
/// When declaring a property in a nested scope, we enter its name into a set for each parent scope which prevents redeclaration in an OUTER scope later. Subsequent NESTED scopes can redeclare it.
/// The former is likely a coding error, since it implies that the scope of the variable was meant to be further out, whereas the latter is common for temporary and loop variables.
/// </summary>
List<HashSet<string>> ShadowProperties = new List<HashSet<string>>();
/// <summary>
/// Schema for the script
/// </summary>
ScriptSchema Schema;
/// <summary>
/// The number of errors encountered during processing so far
/// </summary>
int NumErrors;
/// <summary>
/// Private constructor. Use ScriptReader.TryRead() to read a script file.
/// </summary>
/// <param name="DefaultProperties">Default properties available to the script</param>
/// <param name="Schema">Schema for the script</param>
private ScriptReader(IDictionary<string, string> DefaultProperties, ScriptSchema Schema)
{
this.Schema = Schema;
EnterScope();
foreach(KeyValuePair<string, string> Pair in DefaultProperties)
{
ScopedProperties[ScopedProperties.Count - 1].Add(Pair.Key, Pair.Value);
}
}
/// <summary>
/// Try to read a script file from the given file.
/// </summary>
/// <param name="File">File to read from</param>
/// <param name="Arguments">Arguments passed in to the graph on the command line</param>
/// <param name="DefaultProperties">Default properties available to the script</param>
/// <param name="Schema">Schema for the script</param>
/// <param name="Graph">If successful, the graph constructed from the given script</param>
/// <returns>True if the graph was read, false if there were errors</returns>
public static bool TryRead(FileReference File, Dictionary<string, string> Arguments, Dictionary<string, string> DefaultProperties, ScriptSchema Schema, out Graph Graph)
{
// Check the file exists before doing anything.
if (!FileReference.Exists(File))
{
CommandUtils.LogError("Cannot open '{0}'", File.FullName);
Graph = null;
return false;
}
// Read the file and build the graph
ScriptReader Reader = new ScriptReader(DefaultProperties, Schema);
if (!Reader.TryRead(File, Arguments) || Reader.NumErrors > 0)
{
Graph = null;
return false;
}
// Make sure all the arguments were valid
bool bInvalidArgument = false;
foreach(string InvalidArgumentName in Arguments.Keys.Except(Reader.Graph.Options.Select(x => x.Name), StringComparer.InvariantCultureIgnoreCase))
{
CommandUtils.LogWarning("Unknown argument '{0}' for '{1}'", InvalidArgumentName, File.FullName);
bInvalidArgument = true;
}
if(bInvalidArgument)
{
Graph = null;
return false;
}
// Return the constructed graph
Graph = Reader.Graph;
return true;
}
/// <summary>
/// Read the script from the given file
/// </summary>
/// <param name="File">File to read from</param>
/// <param name="Arguments">Arguments passed in to the graph on the command line</param>
bool TryRead(FileReference File, Dictionary<string, string> Arguments)
{
// Read the document and validate it against the schema
ScriptDocument Document;
if (!ScriptDocument.TryRead(File, Schema, out Document))
{
NumErrors++;
return false;
}
// Read the root BuildGraph element
ReadGraphBody(Document.DocumentElement, File.Directory, Arguments);
return true;
}
/// <summary>
/// Reads the contents of a graph
/// </summary>
/// <param name="Element">The parent element to read from</param>
/// <param name="BaseDirectory">Base directory to resolve includes against</param>
/// <param name="Arguments">Arguments passed in to the graph on the command line</param>
void ReadGraphBody(XmlElement Element, DirectoryReference BaseDirectory, Dictionary<string, string> Arguments)
{
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Include":
ReadInclude(ChildElement, BaseDirectory, Arguments);
break;
case "Option":
ReadOption(ChildElement, Arguments);
break;
case "Property":
ReadProperty(ChildElement);
break;
case "EnvVar":
ReadEnvVar(ChildElement);
break;
case "Agent":
ReadAgent(ChildElement, null);
break;
case "Aggregate":
ReadAggregate(ChildElement);
break;
case "Report":
ReadReport(ChildElement);
break;
case "Badge":
ReadBadge(ChildElement);
break;
case "Notify":
ReadNotifier(ChildElement);
break;
case "Trigger":
ReadTrigger(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, null, null, null);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, null, null, null);
break;
case "Do":
ReadBlock(ChildElement, x => ReadGraphBody(x, BaseDirectory, Arguments));
break;
case "Switch":
ReadSwitch(ChildElement, x => ReadGraphBody(x, BaseDirectory, Arguments));
break;
case "ForEach":
ReadForEach(ChildElement, x => ReadGraphBody(x, BaseDirectory, Arguments));
break;
default:
LogError(ChildElement, "Invalid element '{0}'", ChildElement.Name);
break;
}
}
}
/// <summary>
/// Handles validation messages from validating the document against its schema
/// </summary>
/// <param name="Sender">The source of the event</param>
/// <param name="Args">Event arguments</param>
void ValidationHandler(object Sender, ValidationEventArgs Args)
{
if (Args.Severity == XmlSeverityType.Warning)
{
CommandUtils.LogWarning("Script: {0}", Args.Message);
}
else
{
CommandUtils.LogError("Script: {0}", Args.Message);
NumErrors++;
}
}
/// <summary>
/// Push a new property scope onto the stack
/// </summary>
void EnterScope()
{
ScopedProperties.Add(new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase));
ShadowProperties.Add(new HashSet<string>(StringComparer.InvariantCultureIgnoreCase));
}
/// <summary>
/// Pop a property scope from the stack
/// </summary>
void LeaveScope()
{
ScopedProperties.RemoveAt(ScopedProperties.Count - 1);
ShadowProperties.RemoveAt(ShadowProperties.Count - 1);
}
/// <summary>
/// Sets a property value in the current scope
/// </summary>
/// <param name="Element">Element containing the property assignment. Used for error messages if the property is shadowed in another scope.</param>
/// <param name="Name">Name of the property</param>
/// <param name="Value">Value for the property</param>
void SetPropertyValue(ScriptElement Element, string Name, string Value)
{
// Find the scope containing this property, defaulting to the current scope
int ScopeIdx = 0;
while(ScopeIdx < ScopedProperties.Count - 1 && !ScopedProperties[ScopeIdx].ContainsKey(Name))
{
ScopeIdx++;
}
// Make sure this property name was not already used in a child scope; it likely indicates an error.
if(ShadowProperties[ScopeIdx].Contains(Name))
{
LogError(Element, "Property '{0}' was already used in a child scope. Move this definition before the previous usage if they are intended to share scope, or use a different name.", Name);
}
else
{
// Make sure it's added to the shadow property list for every parent scope
for(int Idx = 0; Idx < ScopeIdx; Idx++)
{
ShadowProperties[Idx].Add(Name);
}
ScopedProperties[ScopeIdx][Name] = Value;
}
}
/// <summary>
/// Tries to get the value of a property
/// </summary>
/// <param name="Name">Name of the property</param>
/// <param name="Value">On success, contains the value of the property. Set to null otherwise.</param>
/// <returns>True if the property was found, false otherwise</returns>
bool TryGetPropertyValue(string Name, out string Value)
{
// Check each scope for the property
for (int ScopeIdx = ScopedProperties.Count - 1; ScopeIdx >= 0; ScopeIdx--)
{
string ScopeValue;
if (ScopedProperties[ScopeIdx].TryGetValue(Name, out ScopeValue))
{
Value = ScopeValue;
return true;
}
}
// If we didn't find it, return false.
Value = null;
return false;
}
/// <summary>
/// Reads the definition for a trigger.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadTrigger(ScriptElement Element)
{
string[] QualifiedName;
if (EvaluateCondition(Element) && TryReadQualifiedObjectName(Element, out QualifiedName))
{
// Validate all the parent triggers
ManualTrigger ParentTrigger = null;
for (int Idx = 0; Idx < QualifiedName.Length - 1; Idx++)
{
ManualTrigger NextTrigger;
if (!Graph.NameToTrigger.TryGetValue(QualifiedName[Idx], out NextTrigger))
{
LogError(Element, "Unknown trigger '{0}'", QualifiedName[Idx]);
return;
}
if (NextTrigger.Parent != ParentTrigger)
{
LogError(Element, "Qualified name of trigger '{0}' is '{1}'", NextTrigger.Name, NextTrigger.QualifiedName);
return;
}
ParentTrigger = NextTrigger;
}
// Get the name of the new trigger
string Name = QualifiedName[QualifiedName.Length - 1];
// Create the new trigger
ManualTrigger Trigger;
if (!Graph.NameToTrigger.TryGetValue(Name, out Trigger))
{
Trigger = new ManualTrigger(ParentTrigger, Name);
Graph.NameToTrigger.Add(Name, Trigger);
}
else if (Trigger.Parent != ParentTrigger)
{
LogError(Element, "Conflicting parent for '{0}' - previously declared as '{1}', now '{2}'", Name, Trigger.QualifiedName, new ManualTrigger(ParentTrigger, Name).QualifiedName);
return;
}
// Read the child elements
ReadTriggerBody(Element, Trigger);
}
}
/// <summary>
/// Reads the body of a trigger element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="Trigger">The enclosing trigger definition</param>
void ReadTriggerBody(XmlElement Element, ManualTrigger Trigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Agent":
ReadAgent(ChildElement, Trigger);
break;
case "Aggregate":
ReadAggregate(ChildElement);
break;
case "Notifier":
ReadNotifier(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, null, null, Trigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, null, null, Trigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadTriggerBody(x, Trigger));
break;
case "Switch":
ReadSwitch(ChildElement, x => ReadTriggerBody(x, Trigger));
break;
case "ForEach":
ReadForEach(ChildElement, x => ReadTriggerBody(x, Trigger));
break;
default:
LogError(ChildElement, "Invalid element '{0}'", ChildElement.Name);
break;
}
}
LeaveScope();
}
/// <summary>
/// Read an include directive, and the contents of the target file
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="BaseDir">Base directory to resolve relative include paths from </param>
/// <param name="Arguments">Arguments passed in to the graph on the command line</param>
void ReadInclude(ScriptElement Element, DirectoryReference BaseDir, Dictionary<string, string> Arguments)
{
if (EvaluateCondition(Element))
{
FileReference Script = FileReference.Combine(BaseDir, Element.GetAttribute("Script"));
if (!FileReference.Exists(Script))
{
LogError(Element, "Cannot find included script '{0}'", Script.FullName);
}
else
{
TryRead(Script, Arguments);
}
}
}
/// <summary>
/// Reads the definition of a graph option; a parameter which can be set by the user on the command-line or via an environment variable.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="Arguments">Arguments passed in to the graph on the command line</param>
void ReadOption(ScriptElement Element, IDictionary<string, string> Arguments)
{
if (EvaluateCondition(Element))
{
string Name = ReadAttribute(Element, "Name");
if (ValidateName(Element, Name))
{
// Make sure we're at global scope
if(ScopedProperties.Count > 1)
{
throw new AutomationException("Incorrect scope depth for reading option settings");
}
// Check if the property already exists. If it does, we don't need to register it as an option.
string ExistingValue;
if(TryGetPropertyValue(Name, out ExistingValue))
{
// If there's a restriction on this definition, check it matches
string Restrict = ReadAttribute(Element, "Restrict");
if(!String.IsNullOrEmpty(Restrict) && !Regex.IsMatch(ExistingValue, "^" + Restrict + "$", RegexOptions.IgnoreCase))
{
LogError(Element, "'{0} is already set to '{1}', which does not match the given restriction ('{2}')", Name, ExistingValue, Restrict);
}
}
else
{
// Create a new option object to store the settings
string Description = ReadAttribute(Element, "Description");
string DefaultValue = ReadAttribute(Element, "DefaultValue");
GraphOption Option = new GraphOption(Name, Description, DefaultValue);
Graph.Options.Add(Option);
// Get the value of this property
string Value;
if(!Arguments.TryGetValue(Name, out Value))
{
Value = Option.DefaultValue;
}
SetPropertyValue(Element, Name, Value);
// If there's a restriction on it, check it's valid
string Restrict = ReadAttribute(Element, "Restrict");
if(!String.IsNullOrEmpty(Restrict))
{
string Pattern = "^" + Restrict + "$";
if(!Regex.IsMatch(Value, Pattern, RegexOptions.IgnoreCase))
{
LogError(Element, "'{0}' is not a valid value for '{1}' (required: '{2}')", Value, Name, Restrict);
}
if(Option.DefaultValue != Value && !Regex.IsMatch(Option.DefaultValue, Pattern, RegexOptions.IgnoreCase))
{
LogError(Element, "Default value '{0}' is not valid for '{1}' (required: '{2}')", Option.DefaultValue, Name, Restrict);
}
}
}
}
}
}
/// <summary>
/// Reads a property assignment.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadProperty(ScriptElement Element)
{
if (EvaluateCondition(Element))
{
string Name = ReadAttribute(Element, "Name");
if (ValidateName(Element, Name))
{
string Value = ReadAttribute(Element, "Value");
if(Element.HasChildNodes)
{
// Read the element content, and append each line to the value as a semicolon delimited list
StringBuilder Builder = new StringBuilder(Value);
foreach(string Line in Element.InnerText.Split('\n'))
{
string TrimLine = ExpandProperties(Element, Line.Trim());
if(TrimLine.Length > 0)
{
if(Builder.Length > 0)
{
Builder.Append(";");
}
Builder.Append(TrimLine);
}
}
Value = Builder.ToString();
}
SetPropertyValue(Element, Name, Value);
}
}
}
/// <summary>
/// Reads a property assignment from an environment variable.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadEnvVar(ScriptElement Element)
{
if (EvaluateCondition(Element))
{
string Name = ReadAttribute(Element, "Name");
if (ValidateName(Element, Name))
{
string Value = Environment.GetEnvironmentVariable(Name) ?? "";
SetPropertyValue(Element, Name, Value);
}
}
}
/// <summary>
/// Reads the definition for an agent.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="Trigger">The controlling trigger for nodes in this agent</param>
void ReadAgent(ScriptElement Element, ManualTrigger Trigger)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name))
{
// Read the valid agent types. This may be omitted if we're continuing an existing agent.
string[] Types = ReadListAttribute(Element, "Type");
// Create the agent object, or continue an existing one
Agent Agent;
if (Graph.NameToAgent.TryGetValue(Name, out Agent))
{
if (Types.Length > 0 && Agent.PossibleTypes.Length > 0)
{
string[] NewTypes = Agent.PossibleTypes.Intersect(Types, StringComparer.InvariantCultureIgnoreCase).ToArray();
if (NewTypes.Length == 0)
{
LogError(Element, "No common agent types with previous agent definition");
}
Agent.PossibleTypes = NewTypes;
}
}
else
{
if (Types.Length == 0)
{
LogError(Element, "Missing type for agent '{0}'", Name);
}
Agent = new Agent(Name, Types);
Graph.NameToAgent.Add(Name, Agent);
Graph.Agents.Add(Agent);
}
// Process all the child elements.
ReadAgentBody(Element, Agent, Trigger);
}
}
/// <summary>
/// Read the contents of an agent definition
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ParentAgent">The agent to contain the definition</param>
/// <param name="ControllingTrigger">The enclosing trigger</param>
void ReadAgentBody(ScriptElement Element, Agent ParentAgent, ManualTrigger ControllingTrigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Node":
ReadNode(ChildElement, ParentAgent, ControllingTrigger);
break;
case "Aggregate":
ReadAggregate(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, null, ParentAgent, ControllingTrigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, null, ParentAgent, ControllingTrigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadAgentBody(x, ParentAgent, ControllingTrigger));
break;
case "Switch":
ReadSwitch(ChildElement, x => ReadAgentBody(x, ParentAgent, ControllingTrigger));
break;
case "ForEach":
ReadForEach(ChildElement, x => ReadAgentBody(x, ParentAgent, ControllingTrigger));
break;
default:
LogError(ChildElement, "Unexpected element type '{0}'", ChildElement.Name);
break;
}
}
LeaveScope();
}
/// <summary>
/// Reads the definition for an aggregate
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadAggregate(ScriptElement Element)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name) && CheckNameIsUnique(Element, Name))
{
string[] RequiredNames = ReadListAttribute(Element, "Requires");
Graph.AggregateNameToNodes.Add(Name, ResolveReferences(Element, RequiredNames).ToArray());
}
}
/// <summary>
/// Reads the definition for a report
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadReport(ScriptElement Element)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name) && CheckNameIsUnique(Element, Name))
{
string[] RequiredNames = ReadListAttribute(Element, "Requires");
Report NewReport = new Report(Name);
foreach (Node ReferencedNode in ResolveReferences(Element, RequiredNames))
{
NewReport.Nodes.Add(ReferencedNode);
NewReport.Nodes.UnionWith(ReferencedNode.OrderDependencies);
}
Graph.NameToReport.Add(Name, NewReport);
}
}
/// <summary>
/// Reads the definition for a badge
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadBadge(ScriptElement Element)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name))
{
string[] RequiredNames = ReadListAttribute(Element, "Requires");
string Project = ReadAttribute(Element, "Project");
int Change = ReadIntegerAttribute(Element, "Change", 0);
Badge NewBadge = new Badge(Name, Project, Change);
foreach (Node ReferencedNode in ResolveReferences(Element, RequiredNames))
{
NewBadge.Nodes.Add(ReferencedNode);
}
Graph.Badges.Add(NewBadge);
}
}
/// <summary>
/// Reads the definition for a node, and adds it to the given agent
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ParentAgent">Agent for the node to be added to</param>
/// <param name="ControllingTrigger">The controlling trigger for this node</param>
void ReadNode(ScriptElement Element, Agent ParentAgent, ManualTrigger ControllingTrigger)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name))
{
string[] RequiresNames = ReadListAttribute(Element, "Requires");
string[] ProducesNames = ReadListAttribute(Element, "Produces");
string[] AfterNames = ReadListAttribute(Element, "After");
string[] TokenFileNames = ReadListAttribute(Element, "Token");
bool bNotifyOnWarnings = ReadBooleanAttribute(Element, "NotifyOnWarnings", true);
// Resolve all the inputs we depend on
HashSet<NodeOutput> Inputs = ResolveInputReferences(Element, RequiresNames);
// Gather up all the input dependencies, and check they're all upstream of the current node
HashSet<Node> InputDependencies = new HashSet<Node>();
foreach (Node InputDependency in Inputs.Select(x => x.ProducingNode).Distinct())
{
if (InputDependency.ControllingTrigger != null && InputDependency.ControllingTrigger != ControllingTrigger && !InputDependency.ControllingTrigger.IsUpstreamFrom(ControllingTrigger))
{
LogError(Element, "'{0}' is dependent on '{1}', which is behind a different controlling trigger ({2})", Name, InputDependency.Name, InputDependency.ControllingTrigger.QualifiedName);
}
else
{
InputDependencies.Add(InputDependency);
}
}
// Remove all the lock names from the list of required names
HashSet<FileReference> RequiredTokens = new HashSet<FileReference>(TokenFileNames.Select(x => FileReference.Combine(CommandUtils.RootDirectory, x)));
// Recursively include all their dependencies too
foreach (Node InputDependency in InputDependencies.ToArray())
{
RequiredTokens.UnionWith(InputDependency.RequiredTokens);
InputDependencies.UnionWith(InputDependency.InputDependencies);
}
// Validate all the outputs
List<string> ValidOutputNames = new List<string>();
foreach (string ProducesName in ProducesNames)
{
NodeOutput ExistingOutput;
if(Graph.TagNameToNodeOutput.TryGetValue(ProducesName, out ExistingOutput))
{
LogError(Element, "Output tag '{0}' is already generated by node '{1}'", ProducesName, ExistingOutput.ProducingNode.Name);
}
else if(Graph.LocalTagNames.Contains(ProducesName))
{
LogError(Element, "Output tag '{0}' is used elsewhere as a local tag name", ProducesName);
}
else if(!ProducesName.StartsWith("#"))
{
LogError(Element, "Output tag names must begin with a '#' character ('{0}')", ProducesName);
}
else
{
ValidOutputNames.Add(ProducesName);
}
}
// Gather up all the order dependencies
HashSet<Node> OrderDependencies = new HashSet<Node>(InputDependencies);
OrderDependencies.UnionWith(ResolveReferences(Element, AfterNames));
// Recursively include all their order dependencies too
foreach (Node OrderDependency in OrderDependencies.ToArray())
{
OrderDependencies.UnionWith(OrderDependency.OrderDependencies);
}
// Check that we're not dependent on anything completing that is declared after the initial declaration of this agent.
int AgentIdx = Graph.Agents.IndexOf(ParentAgent);
for (int Idx = AgentIdx + 1; Idx < Graph.Agents.Count; Idx++)
{
foreach (Node Node in Graph.Agents[Idx].Nodes.Where(x => OrderDependencies.Contains(x)))
{
LogError(Element, "Node '{0}' has a dependency on '{1}', which was declared after the initial definition of '{2}'.", Name, Node.Name, ParentAgent.Name);
}
}
// Construct and register the node
if (CheckNameIsUnique(Element, Name))
{
// Add it to the node lookup
Node NewNode = new Node(Name, Inputs.ToArray(), ValidOutputNames.ToArray(), InputDependencies.ToArray(), OrderDependencies.ToArray(), ControllingTrigger, RequiredTokens.ToArray());
NewNode.bNotifyOnWarnings = bNotifyOnWarnings;
Graph.NameToNode.Add(Name, NewNode);
// Register all the output tags in the global name table.
foreach(NodeOutput Output in NewNode.Outputs)
{
Graph.TagNameToNodeOutput.Add(Output.TagName, Output);
}
// Add all the tasks
ReadNodeBody(Element, NewNode, ParentAgent, ControllingTrigger);
// Add it to the current agent
ParentAgent.Nodes.Add(NewNode);
}
}
}
/// <summary>
/// Reads the contents of a node element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="NewNode">The new node that has been created</param>
/// <param name="ParentAgent">Agent for the node to be added to</param>
/// <param name="ControllingTrigger">The controlling trigger for this node</param>
void ReadNodeBody(XmlElement Element, Node NewNode, Agent ParentAgent, ManualTrigger ControllingTrigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, NewNode, ParentAgent, ControllingTrigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, NewNode, ParentAgent, ControllingTrigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadNodeBody(x, NewNode, ParentAgent, ControllingTrigger));
break;
case "Switch":
ReadSwitch(ChildElement, x => ReadNodeBody(x, NewNode, ParentAgent, ControllingTrigger));
break;
case "ForEach":
ReadForEach(ChildElement, x => ReadNodeBody(x, NewNode, ParentAgent, ControllingTrigger));
break;
default:
ReadTask(ChildElement, NewNode);
break;
}
}
LeaveScope();
}
/// <summary>
/// Reads a block element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ReadContents">Delegate to read the contents of the element, if the condition evaluates to true</param>
void ReadBlock(ScriptElement Element, Action<ScriptElement> ReadContents)
{
if (EvaluateCondition(Element))
{
ReadContents(Element);
}
}
/// <summary>
/// Reads a "Switch" element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ReadContents">Delegate to read the contents of the element, if the condition evaluates to true</param>
void ReadSwitch(ScriptElement Element, Action<ScriptElement> ReadContents)
{
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
if (ChildElement.Name == "Default" || EvaluateCondition(ChildElement))
{
ReadContents(ChildElement);
break;
}
}
}
/// <summary>
/// Reads a "ForEach" element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ReadContents">Delegate to read the contents of the element, if the condition evaluates to true</param>
void ReadForEach(ScriptElement Element, Action<ScriptElement> ReadContents)
{
EnterScope();
if(EvaluateCondition(Element))
{
string Name = ReadAttribute(Element, "Name");
if (ValidateName(Element, Name))
{
if(ScopedProperties.Any(x => x.ContainsKey(Name)))
{
LogError(Element, "Loop variable '{0}' already exists as a local property in an outer scope", Name);
}
else
{
// Loop through all the values
string[] Values = ReadListAttribute(Element, "Values");
foreach(string Value in Values)
{
ScopedProperties[ScopedProperties.Count - 1][Name] = Value;
ReadContents(Element);
}
}
}
}
LeaveScope();
}
/// <summary>
/// Reads a task definition from the given element, and add it to the given list
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ParentNode">The node which owns this task</param>
void ReadTask(ScriptElement Element, Node ParentNode)
{
if (EvaluateCondition(Element))
{
// Get the reflection info for this element
ScriptTask Task;
if (!Schema.TryGetTask(Element.Name, out Task))
{
LogError(Element, "Unknown task '{0}'", Element.Name);
return;
}
// Check all the required parameters are present
bool bHasRequiredAttributes = true;
foreach (ScriptTaskParameter Parameter in Task.NameToParameter.Values)
{
if (!Parameter.bOptional && !Element.HasAttribute(Parameter.Name))
{
LogError(Element, "Missing required attribute - {0}", Parameter.Name);
bHasRequiredAttributes = false;
}
}
// Read all the attributes into a parameters object for this task
object ParametersObject = Activator.CreateInstance(Task.ParametersClass);
foreach (XmlAttribute Attribute in Element.Attributes)
{
if (String.Compare(Attribute.Name, "If", StringComparison.InvariantCultureIgnoreCase) != 0)
{
// Get the field that this attribute should be written to in the parameters object
ScriptTaskParameter Parameter;
if (!Task.NameToParameter.TryGetValue(Attribute.Name, out Parameter))
{
LogError(Element, "Unknown attribute '{0}'", Attribute.Name);
continue;
}
// Expand variables in the value
string ExpandedValue = ExpandProperties(Element, Attribute.Value);
// Parse it and assign it to the parameters object
object Value;
if (Parameter.ValueType.IsEnum)
{
Value = Enum.Parse(Parameter.ValueType, ExpandedValue);
}
else if (Parameter.ValueType == typeof(Boolean))
{
Value = Condition.Evaluate(ExpandedValue);
}
else
{
Value = Convert.ChangeType(ExpandedValue, Parameter.ValueType);
}
Parameter.FieldInfo.SetValue(ParametersObject, Value);
}
}
// Construct the task
if (bHasRequiredAttributes)
{
// Add it to the list
CustomTask NewTask = (CustomTask)Activator.CreateInstance(Task.TaskClass, ParametersObject);
ParentNode.Tasks.Add(NewTask);
// Set up the source location for diagnostics
NewTask.SourceLocation = Tuple.Create(Element.File, Element.LineNumber);
// Make sure all the read tags are local or listed as a dependency
foreach(string ReadTagName in NewTask.FindConsumedTagNames())
{
NodeOutput Output;
if(!Graph.TagNameToNodeOutput.TryGetValue(ReadTagName, out Output))
{
Graph.LocalTagNames.Add(ReadTagName);
}
else if(Output != null && Output.ProducingNode != ParentNode && !ParentNode.Inputs.Contains(Output))
{
LogError(Element, "The tag '{0}' is not a dependency of node '{1}'", ReadTagName, ParentNode.Name);
}
}
// Make sure all the written tags are local or listed as an output
foreach(string ModifiedTagName in NewTask.FindProducedTagNames())
{
NodeOutput Output;
if(!Graph.TagNameToNodeOutput.TryGetValue(ModifiedTagName, out Output))
{
Graph.LocalTagNames.Add(ModifiedTagName);
}
else if(Output != null && !ParentNode.Outputs.Contains(Output))
{
LogError(Element, "The tag '{0}' is created by '{1}', and cannot be modified downstream", Output.TagName, Output.ProducingNode.Name);
}
}
}
}
}
/// <summary>
/// Reads the definition for an email notifier
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadNotifier(ScriptElement Element)
{
if (EvaluateCondition(Element))
{
string[] TargetNames = ReadListAttribute(Element, "Targets");
string[] ExceptNames = ReadListAttribute(Element, "Except");
string[] IndividualNodeNames = ReadListAttribute(Element, "Nodes");
string[] TriggerNames = ReadListAttribute(Element, "Triggers");
string[] ReportNames = ReadListAttribute(Element, "Reports");
string[] Users = ReadListAttribute(Element, "Users");
string[] Submitters = ReadListAttribute(Element, "Submitters");
bool? bWarnings = Element.HasAttribute("Warnings") ? (bool?)ReadBooleanAttribute(Element, "Warnings", true) : null;
bool bAbsolute = Element.HasAttribute("Absolute") ? ReadBooleanAttribute(Element, "Absolute", true) : false;
// Find the list of targets which are included, and recurse through all their dependencies
HashSet<Node> Nodes = new HashSet<Node>();
if (TargetNames != null)
{
HashSet<Node> TargetNodes = ResolveReferences(Element, TargetNames);
foreach (Node Node in TargetNodes)
{
Nodes.Add(Node);
Nodes.UnionWith(Node.InputDependencies);
}
}
// Add all the individually referenced nodes
if (IndividualNodeNames != null)
{
HashSet<Node> IndividualNodes = ResolveReferences(Element, IndividualNodeNames);
Nodes.UnionWith(IndividualNodes);
}
// Exclude all the exceptions
if (ExceptNames != null)
{
HashSet<Node> ExceptNodes = ResolveReferences(Element, ExceptNames);
Nodes.ExceptWith(ExceptNodes);
}
// Update all the referenced nodes with the settings
foreach (Node Node in Nodes)
{
if (Users != null)
{
if (bAbsolute)
{
Node.NotifyUsers = new HashSet<string>(Users);
}
else
{
Node.NotifyUsers.UnionWith(Users);
}
}
if (Submitters != null)
{
if (bAbsolute)
{
Node.NotifySubmitters = new HashSet<string>(Submitters);
}
else
{
Node.NotifySubmitters.UnionWith(Submitters);
}
}
if (bWarnings.HasValue)
{
Node.bNotifyOnWarnings = bWarnings.Value;
}
}
// Add the users to the list of triggers
if (TriggerNames != null)
{
foreach (string TriggerName in TriggerNames)
{
ManualTrigger Trigger;
if (Graph.NameToTrigger.TryGetValue(TriggerName, out Trigger))
{
Trigger.NotifyUsers.UnionWith(Users);
}
else
{
LogError(Element, "Trigger '{0}' has not been defined", TriggerName);
}
}
}
// Add the users to the list of reports
if (ReportNames != null)
{
foreach (string ReportName in ReportNames)
{
Report Report;
if (Graph.NameToReport.TryGetValue(ReportName, out Report))
{
Report.NotifyUsers.UnionWith(Users);
}
else
{
LogError(Element, "Report '{0}' has not been defined", ReportName);
}
}
}
}
}
/// <summary>
/// Reads a warning from the given element, evaluates the condition on it, and writes it to the log if the condition passes.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="EventType">The diagnostic event type</param>
/// <param name="EnclosingNode">The node that this diagnostic is declared in, or null</param>
/// <param name="EnclosingAgent">The agent that this diagnostic is declared in, or null</param>
/// <param name="EnclosingTrigger">The trigger that this diagnostic is declared in, or null</param>
void ReadDiagnostic(ScriptElement Element, LogEventType EventType, Node EnclosingNode, Agent EnclosingAgent, ManualTrigger EnclosingTrigger)
{
if (EvaluateCondition(Element))
{
string Message = ReadAttribute(Element, "Message");
GraphDiagnostic Diagnostic = new GraphDiagnostic();
Diagnostic.EventType = EventType;
Diagnostic.Message = String.Format("{0}({1}): {2}", Element.File.FullName, Element.LineNumber, Message);
Diagnostic.EnclosingNode = EnclosingNode;
Diagnostic.EnclosingAgent = EnclosingAgent;
Diagnostic.EnclosingTrigger = EnclosingTrigger;
Graph.Diagnostics.Add(Diagnostic);
}
}
/// <summary>
/// Checks that the given name does not already used to refer to a node, and print an error if it is.
/// </summary>
/// <param name="Element">Xml element to read from</param>
/// <param name="Name">Name of the alias</param>
/// <returns>True if the name was registered correctly, false otherwise.</returns>
bool CheckNameIsUnique(ScriptElement Element, string Name)
{
// Get the nodes that it maps to
if (Graph.ContainsName(Name))
{
LogError(Element, "'{0}' is already defined; cannot add a second time", Name);
return false;
}
return true;
}
/// <summary>
/// Resolve a list of references to a set of nodes
/// </summary>
/// <param name="Element">Element used to locate any errors</param>
/// <param name="ReferenceNames">Sequence of names to look up</param>
/// <returns>Hashset of all the nodes included by the given names</returns>
HashSet<Node> ResolveReferences(ScriptElement Element, IEnumerable<string> ReferenceNames)
{
HashSet<Node> Nodes = new HashSet<Node>();
foreach (string ReferenceName in ReferenceNames)
{
Node[] OtherNodes;
if (Graph.TryResolveReference(ReferenceName, out OtherNodes))
{
Nodes.UnionWith(OtherNodes);
}
else if (!ReferenceName.StartsWith("#") && Graph.TagNameToNodeOutput.ContainsKey("#" + ReferenceName))
{
LogError(Element, "Reference to '{0}' cannot be resolved; did you mean '#{0}'?", ReferenceName);
}
else
{
LogError(Element, "Reference to '{0}' cannot be resolved; check it has been defined.", ReferenceName);
}
}
return Nodes;
}
/// <summary>
/// Resolve a list of references to a set of nodes
/// </summary>
/// <param name="Element">Element used to locate any errors</param>
/// <param name="ReferenceNames">Sequence of names to look up</param>
/// <returns>Set of all the nodes included by the given names</returns>
HashSet<NodeOutput> ResolveInputReferences(ScriptElement Element, IEnumerable<string> ReferenceNames)
{
HashSet<NodeOutput> Inputs = new HashSet<NodeOutput>();
foreach (string ReferenceName in ReferenceNames)
{
NodeOutput[] ReferenceInputs;
if (Graph.TryResolveInputReference(ReferenceName, out ReferenceInputs))
{
Inputs.UnionWith(ReferenceInputs);
}
else if (!ReferenceName.StartsWith("#") && Graph.TagNameToNodeOutput.ContainsKey("#" + ReferenceName))
{
LogError(Element, "Reference to '{0}' cannot be resolved; did you mean '#{0}'?", ReferenceName);
}
else
{
LogError(Element, "Reference to '{0}' cannot be resolved; check it has been defined.", ReferenceName);
}
}
return Inputs;
}
/// <summary>
/// Reads an object name from its defining element. Outputs an error if the name is missing.
/// </summary>
/// <param name="Element">Element to read the name for</param>
/// <param name="Name">Output variable to receive the name of the object</param>
/// <returns>True if the object had a valid name (assigned to the Name variable), false if the name was invalid or missing.</returns>
bool TryReadObjectName(ScriptElement Element, out string Name)
{
// Check the name attribute is present
if (!Element.HasAttribute("Name"))
{
LogError(Element, "Missing 'Name' attribute");
Name = null;
return false;
}
// Get the value of it, strip any leading or trailing whitespace, and make sure it's not empty
string Value = ReadAttribute(Element, "Name");
if (!ValidateName(Element, Value))
{
Name = null;
return false;
}
// Return it
Name = Value;
return true;
}
/// <summary>
/// Reads an qualified object name from its defining element. Outputs an error if the name is missing.
/// </summary>
/// <param name="Element">Element to read the name for</param>
/// <param name="QualifiedName">Output variable to receive the name of the object</param>
/// <returns>True if the object had a valid name (assigned to the Name variable), false if the name was invalid or missing.</returns>
bool TryReadQualifiedObjectName(ScriptElement Element, out string[] QualifiedName)
{
// Check the name attribute is present
if (!Element.HasAttribute("Name"))
{
LogError(Element, "Missing 'Name' attribute");
QualifiedName = null;
return false;
}
// Get the value of it, strip any leading or trailing whitespace, and make sure it's not empty
string[] Values = ReadAttribute(Element, "Name").Split('.');
foreach (string Value in Values)
{
if (!ValidateName(Element, Value))
{
QualifiedName = null;
return false;
}
}
// Return it
QualifiedName = Values;
return true;
}
/// <summary>
/// Checks that the given name is valid syntax
/// </summary>
/// <param name="Element">The element that contains the name</param>
/// <param name="Name">The name to check</param>
/// <returns>True if the name is valid</returns>
bool ValidateName(ScriptElement Element, string Name)
{
// Check it's not empty
if (Name.Length == 0)
{
LogError(Element, "Name is empty");
return false;
}
// Check there are no invalid characters
for (int Idx = 0; Idx < Name.Length; Idx++)
{
if (Idx > 0 && Name[Idx] == ' ' && Name[Idx - 1] == ' ')
{
LogError(Element, "Consecutive spaces in object name");
return false;
}
if(Char.IsControl(Name[Idx]) || ScriptSchema.IllegalNameCharacters.IndexOf(Name[Idx]) != -1)
{
LogError(Element, "Invalid character in object name - '{0}'", Name[Idx]);
return false;
}
}
return true;
}
/// <summary>
/// Expands any properties and reads an attribute.
/// </summary>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <returns>Array of names, with all leading and trailing whitespace removed</returns>
string ReadAttribute(ScriptElement Element, string Name)
{
return ExpandProperties(Element, Element.GetAttribute(Name));
}
/// <summary>
/// Expands any properties and reads a list of strings from an attribute, separated by semi-colon characters
/// </summary>
/// <param name="Element"></param>
/// <param name="Name"></param>
/// <returns>Array of names, with all leading and trailing whitespace removed</returns>
string[] ReadListAttribute(ScriptElement Element, string Name)
{
string Value = ReadAttribute(Element, Name);
return Value.Split(new char[] { ';' }).Select(x => x.Trim()).Where(x => x.Length > 0).ToArray();
}
/// <summary>
/// Reads an attribute from the given XML element, expands any properties in it, and parses it as a boolean.
/// </summary>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <param name="bDefaultValue">Default value if the attribute is missing</param>
/// <returns>The value of the attribute field</returns>
bool ReadBooleanAttribute(ScriptElement Element, string Name, bool bDefaultValue)
{
bool bResult = bDefaultValue;
if (Element.HasAttribute(Name))
{
string Value = ReadAttribute(Element, Name).Trim();
if (Value.Equals("true", StringComparison.InvariantCultureIgnoreCase))
{
bResult = true;
}
else if (Value.Equals("false", StringComparison.InvariantCultureIgnoreCase))
{
bResult = false;
}
else
{
LogError(Element, "Invalid boolean value '{0}' - expected 'true' or 'false'", Value);
}
}
return bResult;
}
/// <summary>
/// Reads an attribute from the given XML element, expands any properties in it, and parses it as an integer.
/// </summary>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <param name="DefaultValue">Default value for the integer, if the attribute is missing</param>
/// <returns>The value of the attribute field</returns>
int ReadIntegerAttribute(ScriptElement Element, string Name, int DefaultValue)
{
int Result = DefaultValue;
if (Element.HasAttribute(Name))
{
string Value = ReadAttribute(Element, Name).Trim();
int IntValue;
if (Int32.TryParse(Value, out IntValue))
{
Result = IntValue;
}
else
{
LogError(Element, "Invalid integer value '{0}'", Value);
}
}
return Result;
}
/// <summary>
/// Reads an attribute from the given XML element, expands any properties in it, and parses it as an enum of the given type.
/// </summary>
/// <typeparam name="T">The enum type to parse the attribute as</typeparam>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <param name="DefaultValue">Default value for the enum, if the attribute is missing</param>
/// <returns>The value of the attribute field</returns>
T ReadEnumAttribute<T>(ScriptElement Element, string Name, T DefaultValue) where T : struct
{
T Result = DefaultValue;
if (Element.HasAttribute(Name))
{
string Value = ReadAttribute(Element, Name).Trim();
T EnumValue;
if (Enum.TryParse(Value, true, out EnumValue))
{
Result = EnumValue;
}
else
{
LogError(Element, "Invalid value '{0}' - expected {1}", Value, String.Join("/", Enum.GetNames(typeof(T))));
}
}
return Result;
}
/// <summary>
/// Outputs an error message to the log and increments the number of errors, referencing the file and line number of the element that caused it.
/// </summary>
/// <param name="Element">The script element causing the error</param>
/// <param name="Format">Standard String.Format()-style format string</param>
/// <param name="Args">Optional arguments</param>
void LogError(ScriptElement Element, string Format, params object[] Args)
{
CommandUtils.LogError("{0}({1}): {2}", Element.File.FullName, Element.LineNumber, String.Format(Format, Args));
NumErrors++;
}
/// <summary>
/// Outputs a warning message to the log and increments the number of errors, referencing the file and line number of the element that caused it.
/// </summary>
/// <param name="Element">The script element causing the error</param>
/// <param name="Format">Standard String.Format()-style format string</param>
/// <param name="Args">Optional arguments</param>
void LogWarning(ScriptElement Element, string Format, params object[] Args)
{
CommandUtils.LogWarning("{0}({1}): {2}", Element.File.FullName, Element.LineNumber, String.Format(Format, Args));
}
/// <summary>
/// Evaluates the (optional) conditional expression on a given XML element via the If="..." attribute, and returns true if the element is enabled.
/// </summary>
/// <param name="Element">The element to check</param>
/// <returns>True if the element's condition evaluates to true (or doesn't have a conditional expression), false otherwise</returns>
bool EvaluateCondition(ScriptElement Element)
{
// Check if the element has a conditional attribute
const string AttributeName = "If";
if (!Element.HasAttribute(AttributeName))
{
return true;
}
// If it does, try to evaluate it.
try
{
string Text = ExpandProperties(Element, Element.GetAttribute("If"));
return Condition.Evaluate(Text);
}
catch (ConditionException Ex)
{
LogError(Element, "Error in condition: {0}", Ex.Message);
return false;
}
}
/// <summary>
/// Expand all the property references (of the form $(PropertyName)) in a string.
/// </summary>
/// <param name="Element">The element containing the string. Used for diagnostic messages.</param>
/// <param name="Text">The input string to expand properties in</param>
/// <returns>The expanded string</returns>
string ExpandProperties(ScriptElement Element, string Text)
{
string Result = Text;
for (int Idx = Result.IndexOf("$("); Idx != -1; Idx = Result.IndexOf("$(", Idx))
{
// Find the end of the variable name
int EndIdx = Result.IndexOf(')', Idx + 2);
if (EndIdx == -1)
{
break;
}
// Extract the variable name from the string
string Name = Result.Substring(Idx + 2, EndIdx - (Idx + 2));
// Find the value for it, either from the dictionary or the environment block
string Value;
if(!TryGetPropertyValue(Name, out Value))
{
LogWarning(Element, "Property '{0}' is not defined", Name);
Value = "";
}
// Replace the variable, or skip past it
Result = Result.Substring(0, Idx) + Value + Result.Substring(EndIdx + 1);
// Make sure we skip over the expanded variable; we don't want to recurse on it.
Idx += Value.Length;
}
return Result;
}
}
}