Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/Scripts/RebuildLightMapsCommand.Automation.cs
Andrew Grant a534ff9466 Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3106465)
#lockdown Nick.Penwarden

Change 3110660 on 2016/9/1 by Andrew.Grant

Moved performance/quality warnings out of DrawStatsHUD into new function and now display them in everything other than shipping builds (unless disabled, or screenshot/movie dumping is in progress.
HLOD warning is  updated every 20 secs to deal with streaing levels.
Moved debug warnings into a separate Draw function (still disabled in test, but would like to make this an option in Orion soon).

#rb Michael.Noland
#tests verified we see our unbuilt HLOD warning in v31 :(

Change 3106649 on 2016/08/30 by Cody.Haskell

	#Orion

	- Input Axis Work

	#rb DanH
	#tests PIE

Change 3106299 on 2016/08/30 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 31.2 @ CL 3105865

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3105969 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3106213 on 2016/08/30 by Ben.Marsh

	BuildGraph: Include UAT, UBT, and UHT binaries in precompiled binaries zip file.

	#rb none
	#tests preflight

Change 3105994 on 2016/08/30 by Martin.Wilson

	Stop recompression happening when additive frame index is changed "interactively" (recompression will occur at end of interactive input)

	#jira UE-35289
	#rb Thomas.Sarkanen
	#tests Tested UI in editor

Change 3105331 on 2016/08/29 by Uriel.Doyon

	Allowed texture to ignore streaming MipBias with UTexture2D::bIgnoreStreamingMipBias
	Used this new flag when assigning texture to UImage::SetBrushFromTexture to prevent having low quality UI in low texture budget.
	#rb marcus.wassmer
	#tests launched editor and played game
	#jira OR-25814

Change 3105143 on 2016/08/29 by Josh.Markiewicz

	#UE4 - added assert when histogram input parameters don't match
	#rb none
	#tests launched/ran/won game golden path
	#codereview dmitry.rekman, michael.noland, bart.bressler

Change 3104976 on 2016/08/29 by Jon.Lietz

	pickup refector

	- fixed a big that would allow mixed replication to call a gameplay cue's added twice.
	- All pickups now use the pick up manager, consolidated all pick up code into the manager.
	- added to the XP set so we can define the CXP bounty for targets.

	#RB Dave.Ratti
	#tests Bot match, test maps, spawning coins and pickups.

Change 3103480 on 2016/08/26 by Josh.Markiewicz

	#UE4 - added GetSessionIdStr to FOnlineSessionSearchResult and FOnlineSession
	#rb none
	#tests golden path matchmaking
	#codereview paul.moore, eric.newman

Change 3103410 on 2016/08/26 by Max.Chen

	Movie Capture: Fix commandline burnin option.

	#rb none
	#tests Render movie with commandline -UseBurnIn=yes option.

Change 3102134 on 2016/08/25 by Brian.Karis

	Fix for HDR output exposure. Added 1000nit output option.

	#rb marcus
	#tests agora

Change 3101276 on 2016/08/25 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_31 - Merging  CL 3100347 (head revision of 2 files :o )

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari, max.preussner

	#R@BOMERGE-SOURCE: CL 3101273 in //Orion/Release-31/... via CL 3101274
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3101267 on 2016/08/25 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_DUI - Integrating Media changes from 4.13 (head revision)

	#RB:none
	#Tests:none

	/Engine/Plugins/Media
	/Engine/Source/Runtime/Media
	/Engine/Source/Runtime/MediaAssets

	[CodeReviewed] matt.schembari, max.preussner

	#R@BOMERGE-SOURCE: CL 3099267 in //Orion/Dev-UI/... via CL 3101266
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3100378 on 2016/08/24 by John.Pollard

	Fix a crash that can occur when scrubbing in replays

	#codereview David.Ratti
	#tests Replays
	#rb DavidR

	This is the output:
	[2016.08.24-21.35.05:973][603]LogAbilitySystem:Warning: OnRep_ReplicatedAnimMontage: PlayMontageSimulated failed. Name: AbilitySystemComponent0, AnimMontage: LevelStart_Montage

Change 3100375 on 2016/08/24 by Laurent.Delayen

	Added AimOffsetLookAt node. AimOffset node that drives its inputs automatically from a Target Location (and a Source Socket).

	#rb none
	#codereview lina.halper
	#tests Tacticia's RMB Targeting

Change 3100278 on 2016/08/24 by Laurent.Delayen

	Fix for fast path struct copy being broken for FVectors.

	#rb lina.halper
	#codereview thomas.sarkanen
	#tests Chains' hook, Tacticia's LaserBeam and OrientationWarping

Change 3100161 on 2016/08/24 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Fix issue with refresh viewer command failing due to backend congestion

	#rb RyanG
	#tests Replays

Change 3100114 on 2016/08/24 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3098849

	#RB:none
	#Tests:none

	#CodeReview: kerrington.smith, matt.schembari

	#R@BOMERGE-SOURCE: CL 3100078 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3100015 on 2016/08/24 by Michael.Noland

	Don't allow the consideration of nodes that won't be processed to affect the live aspect of the active sound containing a cross fade node
	#jira UE-34998
	#rb Aaron.McLeran
	[re-implementing CL# 3098559 originaly by Marc.Audy in Release 4.13]
	#tests Compiled and ran a golden path match with headphones on

Change 3100012 on 2016/08/24 by Michael.Noland

	UE-34951 - Zero-volume vorbis decoded sounds are too expensive

	-Adding an audio settings parameter to disable zero-volume playback globally
	-Adding a new bool on sound waves to allow opt-in to virtualize when at zero-volume

	#rb marc.audy
	[re-implementing CL# 3094893 from Dev-Framework, originally by Aaron McLeran]
	#tests Compiled and ran a golden path match with headphones on

Change 3099889 on 2016/08/24 by Max.Chen

	Sequencer: Added command line option to enable burnin

	#rb none
	#tests Render movie from command line wtih -UseBurnIn=yes

Change 3099801 on 2016/08/24 by Lina.Halper

	Removed unnecessary comment

	#rb: none
	#code review: Benn.Gallagher
	#tests: compile

Change 3099787 on 2016/08/24 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	#http
	- fix for cancelled requests that have not been started never triggering a completion delegate
	- fixes soft lock when handling disconnects during login

	OR-26945 The client stays on the "downloading profile" screen when rejoining after disconnecting

	#rb josh.markiewicz, alex.fennell
	#tests none

	#R@BOMERGE-SOURCE: CL 3099782 in //Orion/Release-30.2/... via CL 3099784 via CL 3099785
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3099252 on 2016/08/24 by Lina.Halper

	Fixed menu text

	#rb: none
	#code review: Thomas.Sarkanen
	#tests: open editor and create child montage and replaced the animation

Change 3099251 on 2016/08/24 by Lina.Halper

	Deterministic cooking of skeleton
	 - abandon all guid from GuidMap. GuidMap is still important since we have to generate UID from it, but GuidMap only contains name once cooked

	#jira: UE-34834
	#rb: Martin.Wilson
	#tests: cooking orion and make sure it works

Change 3098504 on 2016/08/23 by Bart.Bressler

	Add server time between sending packets monitoring histogram

	#rb dmitry.rekman
	#tests ran server locally and made sure analytics events were sent

Change 3098494 on 2016/08/23 by Michael.Noland

	Engine: Added UWorld::SetTimeUntilNextGarbageCollection to change the GC timer for use when doing automated performance capture measurements
	- Note: Things that force a GC will still force a GC after using this method (and they will also reset the timer)
	- Fixed a bug where UWorld::ForceGarbageCollection might not force a GC immediately if run on a server with no clients connected
	#tests Tested by calling while stat dumphitches was active and confirmed that the interval changed
	#codereview ben.salem, gil.gribb
	#rb none

Change 3098491 on 2016/08/23 by Mieszko.Zielinski

	Expanded BTDecorator_IsAtLocation with an option to use AIDataProvider #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3098070 on 2016/08/23 by Lina.Halper

	Fix crash with UI  update reconstructing

	- will have to come up with a better solution than this.

	#rb: Martin.Wilson
	#tests: child anim montage

Change 3097914 on 2016/08/23 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	Merging CL #3097879
	from //WEX/Main/Engine/Source/Runtime/Online/NotForLicensees/OnlineSubsystemMcp/...
	to //Orion/Main/Engine/Plugins/Online/NotForLicensees/OnlineSubsystemMcp/Source/...

	#Analytics #OSS: Adjusted cohort selection algorithm and test cases
	[CodeReviewed]: Philip.Buuck
	#TESTS: unit tests
	#RB: none

	#R@BOMERGE-SOURCE: CL 3097911 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3097745 on 2016/08/23 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Megre 30.2/31 @ CL 3096895

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3097716 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3097722 on 2016/08/23 by Chris.Bunner

	Update texture expression properties before triggering parent material recompile.
	#rb John.Billon
	#tests Editor replace references, Golden path
	#jira OR-27531

Change 3097694 on 2016/08/23 by Lina.Halper

	#Child Anim Montage

	- Duplicate from parent of the information it cares to get
	  - Currently it is selective on copying what data
	- Modified GetAllAnimationSequencesReferred to get a partial data
	- Added ParentAsset/AssetMappingTable in AnimationAsset
	- Sequence Browser opening would also add to history
	- AnimNotify - CanBeplaced virtual function lets you filter which asset it's placed on

	#code review: Benn.Gallagher, Thomas.Sarkanen, David.Ratti
	#rb:Martin.Wilson
	#tests: creating child montage, editing, lots of UI functionality, notifies placement

Change 3097513 on 2016/08/23 by Thomas.Sarkanen

	Non-POD structs can now be copied using the fast path

	We now always use CPP struct ops to perform copies when dealing with struct properties.

	#jira UE-34571 - Support struct member access on AnimBP fast path
	#rb Laurent.Delayen
	#tests OrionEntry with Tacticia, confirming orientation warping works correctly and fast path is enabled. Agora_P with Tacticia & bots, played two games.

Change 3096729 on 2016/08/22 by Mieszko.Zielinski

	Fixes to EQS scoring function preview #UE4

	#rb Lukasz.Furman
	#test golden path

Change 3096596 on 2016/08/22 by Jason.Bestimt

	#ORION_DG - Fixes from 4.13 to video playback (CL# 3075761 & 3083970)

	#RB:none
	#Tests:none

	#CodeReview: matt.schembari, max.preussner
	#R@BOMERGE: MAIN

Change 3096550 on 2016/08/22 by Jurre.deBaare

	Fix for HLOD dirty clusters PIE warning message
	#tests Simulated Origin with built HLOD clusters, and with one dirty cluster
	#rb none

Change 3096532 on 2016/08/22 by Mieszko.Zielinski

	Modified GameplayTask_WaitDelay to allow specifying task's priority #UE4

	As part of the change introduced UGameplayTask::NewTaskUninitialized that's basically a redirect of NewObject, but clearly indicates that a task needs to be manually initialized

	#codereview Lukasz.Furman
	#rb none
	#test golden path

Change 3096455 on 2016/08/22 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: keli.hlodversson
	#CEF: Copy upgraded CEF binaries from //Portal/Main to fix crash issues with Sofort purchases
	#RB David.Nikdel
	#TESTS none

	#R@BOMERGE-SOURCE: CL 3096452 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3096316 on 2016/08/22 by Sammy.James

	Resave to fix log warnings.
	BPC changes to ensure type saves.

	#rb #tests editor

Change 3096040 on 2016/08/22 by bruce.nesbit

	Revised fix for landscape crash

	#rb GarethM

	#tests Game

	#codereview Bart.Bressler

Change 3096015 on 2016/08/22 by bruce.nesbit

	Fixed a crash in ALandscapeProxy::PostLoad when running an editor build with -server

	#rb none

	#tests game

	#codereview Bart.Bressler

Change 3095578 on 2016/08/19 by Mieszko.Zielinski

	Made NavigationSystem call TickAsyncBuild on all navigation data instances is there was an ongoing navigation build in progress in the editor #UE4

	This was causing Orion's flow field to not build if auto navmesh update was disabled in the editor

	#rb none
	#test golden path
	#codereview Lukasz.Furman

Change 3095397 on 2016/08/19 by Lina.Halper

	Fix issue with crash when deleting all segment

	#rb: Laurent.Delayen
	#tests: delete segment and make sure it doesn't crash
	#jira: UE-34830

Change 3095060 on 2016/08/19 by Bart.Bressler

	Don't load ULandscapeComponent objects on dedicated servers to save memory.

	#tests cooked server data and played a Solo vs. AI game
	#rb gareth.martin
	#codereview james.golding

Change 3095037 on 2016/08/19 by Lina.Halper

	Potential fix with montage trigger ensure on marker sync group

	#jira: OR-27685
	#rb: Benn.Gallagher
	#code review: Martin.Wilson
	#tests: attack primhelilx with knock up

Change 3094962 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#Merging #OSS - Added FUserOnlineAccountMcp::SelectCohort
	#RB: None
	#TESTS: test suite in source
	[CodeReviewed]: Philip.Buuck

	#R@BOMERGE-SOURCE: CL 3094961 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3094950 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#Merge #UE4 - Made FMD5 const-correct
	#RB: none
	#TEST: none

	#R@BOMERGE-SOURCE: CL 3094949 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3094619 on 2016/08/19 by Lina.Halper

	#DUPEFIX - ANIM: SmartNAME: the cooking doesn't guarantee the package is saved in the order, so we'll still have to regenerate list without GUID.
	- assumed the name is all set by now

	#rb: Benn.Gallagher
	#jira : UE-34886
	#tests: cooking infiltrator that showed same issue and run game.

Change 3094532 on 2016/08/19 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3094498

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3094528 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3093260 on 2016/08/18 by Josh.Markiewicz

	#UE4 - changed how party reset occurs to skip relying on AGameState which could very rarely be null (during server travel)
	- removed unnecessary cast
	#rb bart.bressler
	#codereview bart.bressler, rob.cannaday
	#tests launched game, some basic party testing

Change 3093224 on 2016/08/18 by Josh.Markiewicz

	#UE4 - added a chatroom class that does some basic chat room join/create/leave functionality to share between games
	#rb paul.moore
	#codereview anthony.carter
	#tests solo vs ai chat with 2 players, coop vs ai chat with 2 players, one leaving and rejoining

Change 3092597 on 2016/08/17 by Daniel.Lamb

	Added Ben Crocker to the rebuild lighting emails.
	#rb Trivial
	#Test none

Change 3092063 on 2016/08/17 by andrew.grant

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

Change 3091081 on 2016/08/16 by Jurre.deBaare

	Fixing non-Editor build errors
	#fix Wrapped parts in WITH_EDITOR and added IsBuilt to check if the LODActor has a valid static mesh (thus is not dirty)
	#tests Build Editor + Game
	#rb none

Change 3091009 on 2016/08/16 by Mieszko.Zielinski

	Added a way to configure a map to not spawn AISystem instance at all #UE4

	#rb none
	#test golden path

Change 3090932 on 2016/08/16 by Michael.Noland

	Vixen: Added indication to the analytics and FPS charts
	#rb marcus.wassmer
	#tests Compiled for the platform

Change 3090844 on 2016/08/16 by Laurent.Delayen

	Replicated CL 3090734  from Fortnite.

	---

	Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage

	Here's the issue in the version of the code prior to this checkin:
	- UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped
	- When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value
	- So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick
	- It also means if we were playing a montage, and then stop, we'll start ticking
	- Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing

	#codereview john.abercrombie
	#rb none
	#tests golden path

Change 3090832 on 2016/08/16 by Michael.Noland

	Windows: Fixed a whitespace issue
	#rb none
	#tests Compiled for windows

Change 3090688 on 2016/08/16 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: andrew.grant
	Merging using ROBO://Orion/Release-Candidate->//Orion/Main
	#rb none
	#tests built

	#R@BOMERGE-SOURCE: CL 3090687 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3090547 on 2016/08/16 by Jurre.deBaare

	Need a warning message similar to lighting unbuilt when HLOD cluster is not built
	#fix Added HLOD clusters need to be rebuilt message similar to the lighting one during PIE and game-time, and cleaned/changed "'DisableAllScreenMessages' to suppress" behaviour
	#jira UE-34335
	#rb none
	#codereview Michael.Noland
	#tests pie Agora with and without dirty HLOD clusters

Change 3090285 on 2016/08/16 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3090267

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3090282 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3089413 on 2016/08/15 by paul.mader

	Agora 2.0 assets

Change 3089266 on 2016/08/15 by Max.Chen

	Sequencer: Add Convert to Possessable

	Copy from Dev-Sequencer

	#jira UE-32139
	#rb none
	#tests Convert steel to possessable in Gameplay_PS4 map.

Change 3089136 on 2016/08/15 by Mieszko.Zielinski

	Fixed AISense_Sight's time slicing unintentionally skipping queue aging if given time limit is reached #UE4

	#rb Lukasz.Furman
	#codereview Dan.Youhon
	#test golden path

Change 3089118 on 2016/08/15 by Mieszko.Zielinski

	Fixed a rare crash in UBlackboardData::GetKeyType resulting from a key selector referencing a type that has been removed from the project's source code #UE4

	#rb none
	#test golden path

Change 3088976 on 2016/08/15 by Andrew.Grant

	Fixed issue with PS4 toolchain ignoring ModuleRules.CodeOptimization.Never / ModuleRules.CodeOptimization.Always when determining optimization level of modules.
	Fixed issue with VC toolchain ignoring ModuleRules.CodeOptimization.Never setting.
	Removed superflous /Os from VC debugg settings
	#rb none
	#tests verified module built with 'Never' on PS4/Win is built without optimizations.
	#codereview Marcus.Wassmer, Ben.Marsh

Change 3088830 on 2016/08/15 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3088807

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3088829 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3088597 on 2016/08/14 by Jason.Bestimt

	#ORION_DG - Trying to resolve R@BOMERGE collision (DUI to MAIN -> DG)

	#RB:none
	#Tests:none

	#CodeReview: andrew.grant, david.ratti, matt.schembari

Change 3087827 on 2016/08/12 by Bart.Bressler

	Updates to skeletal mesh memory saving on dedicated server

	#rb lina.halper
	#tests Cooked server data, played a game for a while in Solo vs. AI

Change 3087351 on 2016/08/12 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	#jira OR-27406
	#rb RyanG
	#tests Replays

Change 3087118 on 2016/08/12 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3086747

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3087117 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3086176 on 2016/08/11 by Marcus.Wassmer

	Fix PS4 ShaderPipelines not matching pixel/vertex shader properly.
	#rb Rolando.Caloca
	#tests Broken PS4 content before/after

Change 3085992 on 2016/08/11 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Unclog R@BOMERGE

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3085987 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3085911 on 2016/08/11 by Laurent.Delayen

	Added FBoneContainer::BoneIsChildOf for FCompactPoseBoneIndex

	#rb none
	#tests Orientation Warping

Change 3085614 on 2016/08/11 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3085547

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3085598 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3084507 on 2016/08/10 by Marcus.Wassmer

	Duplicate 3070376 and 3078879 to fix corrupted decals on Vixen.
	#rb none
	#tests paragon ps4/vixen
	#codereview Olaf.Piesche

Change 3084136 on 2016/08/10 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3083799

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3083814 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3083424 on 2016/08/09 by Max.Chen

	Sequence Recorder: Fix crash when actor class to record is null.

	#tests Use sequence recorder to record a skeletal mesh actor
	#rb none

Change 3083134 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	#online,store,ps4
	- creating one offer entry per entitlement

	#rb david.nikdel, ian.fox
	#tests MTX purhcase on PS4
	#lockdown: andrew.grant

	#R@BOMERGE-SOURCE: CL 3083127 in //Orion/Release-30.1/... via CL 3083128 via CL 3083131
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3083069 on 2016/08/09 by Marcus.Wassmer

	Vixen scalability changes
	#rb Michael.Noland
	#tests vixen/ps4
	#codereview jordan.walker

Change 3083063 on 2016/08/09 by Marcus.Wassmer

	Most games will probably run out of memory if setup to do auto-4k.
	Make this a setting that's off by default.
	#rb Michael.Noland
	#codereview Luke.Thatcher, Lee.Clark
	#tests vixen on 4k.

Change 3082778 on 2016/08/09 by Marcus.Wassmer

	Duplicate fix for Vixen GPU page faults and rendertarget errors (3066087)
	#rb none
	#tests Agora on vixen.

Change 3082772 on 2016/08/09 by Marcus.Wassmer

	Duplicate fix for detail mode reregistration (3065543)
	#rb none
	#tests Toggled detail mode, observe proper items spawning

Change 3082765 on 2016/08/09 by Marcus.Wassmer

	Don't crash when trying to use windowed vsync on vixen
	#rb Michael.Noland
	#test ran paragon on vixen
	#codereview Luke.Thatcher,Lee.Clark

Change 3082764 on 2016/08/09 by Marcus.Wassmer

	fix HLOD distance scale not working properly when components are re-registered.
	#rb michael.noland
	#codereview jurre.debarre
	#tests setting multiple times, setting on boot via deviceprofile

Change 3082429 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: sam.zamani
	Merging //Orion/Release-30.1 to Main (//Orion/Main)

	Change: 3082419

	#online,store,PS4

	OR-25384 [PS4] "There is no content. It might not be for sale yet, or might no longer be for sale" at main menu and at post match screen

	- added config option for toggling store on PS4
	[OnlineSubsystemPS4]
	bStoreEnabled=true

	- can also override via title specific json values in <titleid>\title.json
	allow_mtx=true

	[CodeReviewed]: andrew.grant, phillip.buck, ian.fox
	#lockdown: andrew.grant
	#rb none
	#tests ps4 run with titleid=CUSA3609_00 (which has mtx disabled for PS4 since that title has no store support)

	#R@BOMERGE-SOURCE: CL 3082428 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3082194 on 2016/08/09 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3082105

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3082192 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3080984 on 2016/08/08 by Lina.Halper

	Issue with not being able to set static animation data via BP

	- artists were using SetAnimation/PlayAnimation, but they are not safe to be used in construction script, so made sure the other serializable properties are exposed via BP
	- also since they want it to work in level viewport, I have to tick/refresh whenever it's getting called.

	#rb: Martin.Wilson
	#tests: Sword Beauty map

Change 3080665 on 2016/08/08 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3080081

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3080543 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3080565 on 2016/08/08 by Laurent.Delayen

	Fix for curve values during URO interpolation.
	Fixes flashing of materials and Twinblast's ult weapon.

	https://jira.ol.epicgames.net/browse/OR-27107
	https://jira.ol.epicgames.net/browse/OR-24358

	#rb lina.halper, martin.wilson
	#tests Twinblast's ult and Coil's primary.

Change 3079832 on 2016/08/05 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: marcus.wassmer
	Fix for PS4 crash reports not attaching the minidump when trying to force full crash dumps via commandline
	#rb none
	[CodeReviewed] Chris.Wood
	#tests checked crashcontext on PC/PS4
	#lockdown Andrew.Grant

	#R@BOMERGE-SOURCE: CL 3078933 in //Orion/Release-30/... via CL 3078934 via CL 3078935 via CL 3079831
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3079045 on 2016/08/05 by Lina.Halper

	Adding more log to figure out why ActivePlayers.Count becomes inconsistent.

	#rb: Martin.Wilson
	#tests: PIE with bots

Change 3078944 on 2016/08/05 by Rolando.Caloca

	O - Update blacklisted driver
	#jira OR-27051
	#rb Marcus.Wassmer
	#tests Run with AMD card

Change 3078735 on 2016/08/05 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3078670

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3078734 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3078122 on 2016/08/04 by Dmitry.Rekman

	Linux: treat abort() / SIGABRT as crash.

	- Rationale: certain code not under our control (most notably, stack smashing protector) may call abort(), which would previously terminate the engine without any chance to even enter the crash handler.
	- Rewrote RequestExit() because it used abort() itself.
	- Also removed -fstack-protector. The logic behind this is: stack protector calls abort() on detecting a smash (which is suspected to contribute to missing reports), but does it at an inappropriate place, that causes stack unwinding to crash later.  As bad as it sounds, it may be better to allow stack to be corrupted and crash later - hopefully outside of libc code - to some other reason.

	#rb Mark.Satterthwaite
	#codereview Mark.Satterthwaite, Michael.Noland, Andrew.Grant
	#review-3078104 @Mark.Satterthwaite, @Michael.Noland, @Andrew.Grant

	#tests Ran Linux server, crashed using different methods.

Change 3077887 on 2016/08/04 by Dmitry.Rekman

	Initialize StackCount to 0 (kills valgrind warning).

	#rb David.Ratti
	#codereview David.Ratti
	#tests Ran Linux server.

Change 3077257 on 2016/08/04 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3077193

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3077256 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3077242 on 2016/08/04 by Dmitry.Rekman

	Linux: stop heartbeat thread before handling the crash.

	#rb Robert.Manuszewski
	#codereview Robert.Manuszewski, Andrew.Grant
	#tests Compiled and ran Linux server, crashed it.

Change 3076676 on 2016/08/03 by Dmitry.Rekman

	Linux: print details about memory access (read or write).

	- Also print all the 16 digits of the pointer.
	- Read/write detection only implemented for x86_64.

	#rb Andrew.Grant
	#codereview Andrew.Grant
	#tests Compiled (natively) and ran Linux server.

Change 3076675 on 2016/08/03 by Dmitry.Rekman

	Print a bit more info about the array in assert.

	#rb Andrew.Grant
	#codereview Andrew.Grant
	#test Compiled and ran Linux server.

Change 3076010 on 2016/08/03 by Laurent.Delayen

	Moved OrionAnimNode_LegIK from Paragon to Engine.

	#codereview lina.halper
	#rb none
	#tests Grim.exe + Iggy & Scorch

Change 3075512 on 2016/08/03 by Matt.Kuhlenschmidt

	Reimplemented 3070766 for Orion:

	Make sure richtooltips are not generated for hidden enum items so that there is not a mismatch between rich tooltips and enum items (causing a crash)

	#rb none
	#tests none

Change 3075446 on 2016/08/03 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3075422

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3075445 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3075394 on 2016/08/03 by HaarmPieter.Duiker

	Adding a shadows max and highlights min parameters to allow the user to control when the 'shadows' controls fall off and when the 'highlights' controls ramp in.
	#rb marcus.wassmer
	#tests post process color correction

Change 3074314 on 2016/08/02 by Dmitry.Rekman

	Linux: change optimization from -O2 to -O1 (temporarily?).

	- The purpose is to make callstacks easier to follow and possibly catch stack smashing (if it happens) earlier.
	- Also adds a line to UBT output during compilation to draw attention.

	#rb Michael.Noland
	#codereview Michael.Noland, Andrew.Grant, Bart.Bressler
	#tests Compiled and ran Linux server.

Change 3073553 on 2016/08/02 by jason.bestimt

	#ORION_MAIN - Merge 30.2 @ CL 3073360

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3073481 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

	#R@BOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
	//Orion/Dev-General/OrionGame/Content/Characters/Heroes/BP_Hero.uasset - can't integrate exclusive file already opened
	#CodeReview: jason.bestimt

Change 3073505 on 2016/08/02 by Daniel.Lamb

	Added cook modification delegate stats to cooker stats.
	#rb Wes.Hunt
	#test cook paragon.

Change 3072440 on 2016/08/01 by Aaron.Eady

	PlayerController Force Feedback (Debug only);

	Adding #if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) around the use of the debug only variable ForceFeedbackEffectHistoryEntries.

	#rb none
	#tests SHIPPING

Change 3072259 on 2016/08/01 by Aaron.Eady

	PlayerController Force Feedback (Debug only);

	Added more information to the things displayed on the screen for force feedback when we do ShowDebug ForceFeedback.

	#rb Michael.Noland
	#tests PIE

Change 3071908 on 2016/08/01 by John.Pollard

	Fix null reference crash

	#rb DavidR
	#tests Live game + replays

Change 3071876 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player

	#rb none
	#tests FN + Paragon live game + replays
	#codereview Andrew.Grant

Change 3071875 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Finalize replay version system

	* No longer use changelist to filter replays (so we will only filter by engine/game version now, which need to be hand cranked to invalidate old versions)
	* Submit actual changelist when uploading (rather than locking to previous versions). We can do this now since we don't filter by changelist anymore.
	* Removed unnecessary 'bShowAllVersions' property from replay browser code, using cvar instead (orion.ShowAllReplayVersions)

	#rb RyanG
	#tests Live game + replays
	#codereview Andrew.Grant

Change 3071874 on 2016/08/01 by John.Pollard

	Merging using Dev-Networking_->_Dev-General_(Orion)

	Fix gameplay tags to work better with backwards compatibility in replays

	* We use the net field export group system in the package map to export tag names as a packed index
	* This will allow us to see the names of tags that no longer exists on the remote side

	#rb RyanG
	#tests Live game + replays
	#codereview Andrew.Grant

Change 3071776 on 2016/08/01 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30.2 @ CL 3071738

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3071775 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3071258 on 2016/07/30 by Aaron.McLeran

	OR-26580 CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay

	- Removed voice operation set since it was causing crashes when stopping voices. Still a good idea, but need to make sure the async OnBufferEnd and stopping an FSoundSource can work together.
	- Added a proxy object that wraps the FAsyncTask used for async decoding. Calling IsDone() and EnsureCompletion() can't happen at the same time from different threads now.

	#rb none
	#tests ran paragon soaking for a long time with constant AI combat and observed no crashes or audio issues.

Change 3071099 on 2016/07/30 by Aaron.McLeran

	OR-26580 CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay

	- Temporary revert of a portion of CL 3067560 which exacerbates an issue with the async decoding tasks and calling IsDone and EnsureComplete on different threads.

	#rb none
	#tests ran paragon with change and noticed no change in audio quality

Change 3070916 on 2016/07/29 by Andrew.Grant

	Missed file!
	#rb #tests na

Change 3070915 on 2016/07/29 by Andrew.Grant

	Merging //UE4/Main @ 3070724 through //UE4/Orion-Staging
	#rb none
	#tests Engine QA, Orion QA smoke

Change 3070576 on 2016/07/29 by Uriel.Doyon

	Fixed initialization of the defrag pool size. Now controlled by r.PS4DefragPoolSize.
	#review-3070386 @marcus.wassmer
	#jira OR-25941
	#rb marcus.wassmer
	#tests Run Game on PS4, and in editor

Change 3070086 on 2016/07/29 by Martin.Wilson

	Fixed ensure triggering during sequencer playback due to double update.

	#jira UE-33938
	#rb Thomas.Sarkanen
	#tests opened affected asset and verified problem no longer occured

Change 3070016 on 2016/07/29 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 30 @ CL 3069935

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3069976 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3069435 on 2016/07/28 by Ian.Fox

	#Orion, #Mcp - Check if Price Engine is configured before attempting query
	#rb Sam.Zamani
	#tests none
	#codereview Sam.Zamani

Change 3069381 on 2016/07/28 by Michael.Noland

	Animation: Demoted a check() in anim sync group code to an ensure() to unblock others
	#rb nick.penwarden
	#tests Loaded Paragon cine asset that was crashing
	#codereview lina.halper, martin.wilson

Change 3069203 on 2016/07/28 by Dmitry.Rekman

	Headless client: do not draw windows.

	- Disables a bunch of code, including reaching into font cache to estimate width.
	- Should be probably disabled on a higher level, but cutting out the whole Slate application is infeasible (according to BradA/BenM, due to some logic requiring widgets).

	#rb Nick.Atamas
	#review-3068983 @Nick.Atamas, @Michael.Noland, @Brad.Angelcyk, @Ben.Salem
	#codereview Nick.Atamas, Michael.Noland, Brad.Angelcyk, Ben.Salem

	#tests Compiled and ran Orion Linux client.

Change 3069181 on 2016/07/28 by Lina.Halper

	Fix struct redirector for Orion anim node moving to engine

	#rb: Maciej.Mroz
	#code review:Laurent.Delayen
	#tests: editor loading the anim BP that caused the name conversion

Change 3069092 on 2016/07/28 by Aaron.McLeran

	OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves

	- Not all active sounds have sound classes, was causing a crash

	#codereview marc.audy
	#rb zabir.hoque
	#tests Run game with stat soundcues and not crash

Change 3068969 on 2016/07/28 by David.Ratti

	Move test for invalid gameplaycue instance up, since calling IsPendingKill() on garbage can cause crash too.

	#rb none
	#tests compile

Change 3068902 on 2016/07/28 by David.Ratti

	Code for tracking down UGameplayCueManager::GetInstancedCueActor crash.
	#rb none
	#tests compile

Change 3068831 on 2016/07/28 by Aaron.McLeran

	OR-26417 Reverb is too loud in-game in Dev-General

	- Initializing prev reverb to 0s so that the first default reverb gets set when no audio volume is set.

	#rb Jeff.Campeau
	#tests run a map with no reverb audio volume and reverb is not super wet

Change 3068529 on 2016/07/28 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: david.nikdel
	#OSS #PurchaseMcp: Use GameService->CreateOnlineHttpRequest instead of  McpSubsystem->CreateRequest to query receipts (uses subsystem config)
	#RB: none
	#TESTS: none

	#R@BOMERGE-SOURCE: CL 3068465 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3068399 on 2016/07/28 by Andrew.Rodham

	Sequencer: Changed animation tracks to allow more animation types (such as anim montages)

	  - APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility

	#jira OR-25769
	#tests Tested all combinations of animation with sequencer (montage+sequence on asset/BP driven animation components) and matinee. Tested running a game and playing back the announce trailer. Rendered out some movies to ensure that trails work correctly.
	#rb Benn.Gallagher

Change 3068138 on 2016/07/28 by Marcus.Wassmer

	Disable mallocleak testing by default
	#rb none
	#test none

Change 3068121 on 2016/07/28 by Marcus.Wassmer

	Make sure we always do fast stack captures when USE_FAST_STACKTRACE is enabled.
	Fixes game becoming unresponsive on Windows after 'mallocleak' dumps data.  Any other tool that uses stacktraces could become 700 - 1000x slower after any stack symbolication also.
	#rb Robert.Manuszewski
	#tests stack tracing / symbolication with mallocleak on windows.

Change 3068119 on 2016/07/28 by Marcus.Wassmer

	Fix MallocLeakProxy deadlock
	#rb Robert.Manuszewski
	#tests mallocleak start/stop/dump on windows

Change 3067752 on 2016/07/27 by Michael.Noland

	Engine: Refactored FPS chart creation to make it modular so many performance data consumers can be active at once, allowing greater flexibility and decoupling game analytics from FPS chart exec commands
	- IPerformanceDataConsumer is an interface for all consumers of per-frame performance tracking data, and instances can be registered/unregisted with the engine using AddPerformanceDataConsumer/RemovePerformanceDataConsumer
	- The implementation of the 'standard' frame time and hitch histogram tracking is FPerformanceTrackingChart, while the per-frame logging .csv is split into a separate FFineGrainedPerformanceTracker class.
	- The calculation of frame time breakdowns and hitch detection now occur as long as at least one IPerformanceDataConsumer is registered
	- Internally the code has been cleaned up a bit to use FHistogram for data storage instead of custom binning code

	Upgrade Notes:
	- DumpFPSChartAnalytics has been removed, games that used it should switch to creating their own instance of FPerformanceTrackingChart and call DumpChartToAnalyticsParams on it directly
	- In general games should have no reason to programmatically call GEngine->StartFPSChart anymore, instead creating their own instance (this prevents conflicts when using the engine console commands)
	- HTML output for stopfpschart is now generated to a single file rather than two duplicate files (using both map name and capture time as part of the file name)
	- Removed PauseFPSChart, IsFPSChartActive, and GetFPSChartBoundByFrameCounts to reflect that the GEngine instances aren't meant for external use (Start/Stop are left public for automated testing that wants to use them to do logging, but may also be moved private in the future)

	Paragon:
	- Updated to use a separate FPerformanceTrackingChart for gameplay versus in-game menus and removed the duplicated code and GameThreadHitchChart event
	- Removed partial USE_SERVER_PERF_COUNTERS code in ChartCreation.cpp, splitting it out into a separate observer, which currently lives in Paragon but will be moved to shared code in a separate checkin. The code was only useful in the first place along with other Paragon-side code that was consuming it.

	#rb dmitry.rekman
	#codereview bob.tellez, peter.knepley, andrew.grant, john.mauney
	#review-3067607 @Dmitry.Rekman, @Bob.Tellez
	#tests Tested manual startfpschart/stopfpschart as well as Paragon match analytics via golden path solo vs AI

Change 3067654 on 2016/07/27 by Michael.Noland

	FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path.

	#rb steve.robb
	#jira UE-31959
	[duplicating CL# 3039827]

	#tests Tried moving a folder in the editor

Change 3067644 on 2016/07/27 by Aaron.McLeran

	OR-24537 Looping audio sometimes persists in Agora

	Adding stopping sounds if audio component is destroyed while playing a looping sound

	#rb jeff.campeau
	#tests audio component stops looping sound if audio component is destroyed prematurely

Change 3067560 on 2016/07/27 by Aaron.McLeran

	OR-26322 Client Hang in FXAudio2EffectsManager::SetReverbEffectParameters

	- Only applying reverb parameters if they've changed from previous reverb params to avoid unnecessarily spamming the XAudio2 API call
	- using xaudio2 operation sets to ensure that voice and effect params are executing in sequence
	- only calling destroy voice after all voice and effect changes have been committed to avoid destroy voice interfering with those commands
	- Don't call EnsureCompletion on pending async tasks on teardown

	#rb Jeff.Campeau
	#tests play paragon with change, notice no changes to audio behavior, no crashes. Created testmap with several reverb zones and demonstrated reverb effect transitions

Change 3067420 on 2016/07/27 by jason.bestimt

	#ORION_MAIN - Merge 29.2/30 @ CL 3067312

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3067400 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3067316 on 2016/07/27 by jason.bestimt

	#ORION_MAIN - Merge DUI @ CL 3065602

	#RB:none
	#Tests:none

	[CodeReviewed]: matt.schembari

	#R@BOMERGE-SOURCE: CL 3067079 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3067025 on 2016/07/27 by Michael.Noland

	Core: Corrected the initial value of FLightweightTimeGuard::FrameTimeThresholdMS to be in MS rather than seconds and did a few coding standards fixes
	#rb none
	#tests Compiled

Change 3067020 on 2016/07/27 by Michael.Noland

	Core: Various improvements to FHistogram and split it out into separate files
	- Added the ability to use a separate thresholding key than the actual measurement value being recorded (e.g., when accumulating frame time spent in a chart keyed on framerate)
	- Added O(1) getters for total sample counts and sum of all measurements
	- Removed encapsulation-breaking SetBinCountByIndex / SetBinSumByIndex
	- Added support for specifying explicit histogram bucket thresholds
	#rb dmitry.rekman
	#tests Tested with another pending changelist that moves FPS charts to use FHistogram for the underlying storage

Change 3066681 on 2016/07/27 by Frank.Gigliotti

	Camera anim field of view fix;

	* The FOV is now reset on the PlayerCameraManager camera actor when it's initialized.  This fixes cases of stale FOV values after playing camera anims that don't end with the FOV at it's base value.

	* Base FOV can now be edited in the CameraAnim properties.  This allows you to specify what the FOV keys are relative to.  Previously it was always using a base FOV of 90 degrees.

	#RB None
	#CodeReview Jeff.Farris
	#Tests Multiple camera animations in PIE

Change 3066508 on 2016/07/27 by Lina.Halper

	Smartname guid will be discarded during cooking, and once it's cooked, it's trusted to have correct name.

	#code review:Martin.Wilson, Benn.Gallagher
	#rb: Martin.Wilson
	#tests: cooked test map, run test map, PIE, saving content, loading standalone game

Change 3066246 on 2016/07/27 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: andrew.grant
	Fix for non-unity error
	#rb none
	#tests compiled

	#R@BOMERGE-SOURCE: CL 3066245 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3066167 on 2016/07/27 by Benn.Gallagher

	Fixed clothing corruption seen on Twinblast after mesh updates. We were copying a u32 index buffer into a multisize container but CopyIndexBuffer doesn't change the data size when copying - only when rebuilding.
	#rb Ori.Cohen
	#tests Editor, PIE, Applying clothing to characters.

Change 3065868 on 2016/07/27 by Michael.Noland

	Blueprints: Fixing non-editor build (missing WITH_EDITOR)
	#rb none
	#tests Compiled PS4

Change 3065749 on 2016/07/26 by Michael.Noland

	Blueprints: Prevent a crash on load in RemoveNodeAndPromoteChildren when removing a corrupted SCS node if it has no parent link (the children are moved to the root node instead)
	#codereview mike.beach, marc.audy
	#tests Loaded and recovered a corrupted Blueprint on Cameron's machine
	#rb Phillip.Kavan

Change 3065706 on 2016/07/26 by Josh.Markiewicz

	#UE4 - changed default values for bLogoutOnSessionTimeout for reservation beacons
	- fixed non shipping cmd line override to be correct
	#rb none
	#codereview andrew.grant, paul.moore
	#tests none

Change 3065359 on 2016/07/26 by Rob.Cannaday

	Limit external id querying to 100 ids per call.  The backend currently enforces this and is returning an error when we exceed this limit.
	Break up calls in batches of 100 ids.

	#jira OR-20674
	#rb ian.fox
	#tests login to front end with PC, PS4.  forced tests to simulate > 100 requests.

Change 3065197 on 2016/07/26 by Bart.Bressler

	Change how PS4 sessions work:
	- We now will only try to join somebody's PS4 session only if we accepted an invite from the PS4 system software. This means that an MCP party can have members in different PS4 sessions.
	- Refactored a lot of the delegates in UOrionParty to lambdas to try to make it more readable
	- Added comments, other misc. code cleanup.

	#rb josh.markiewicz, sam.zamani, rob.cannaday
	#tests created cross play parties with multiple pc + ps4 players
	#jira OR-20332

Change 3065158 on 2016/07/26 by Lina.Halper

	Fix the guid keep generated by adding to the database.

	- This caused worse problem with non-deterministic cooking -   This doesn't fix UE-33454 for 100%, but this was the main reason why this was so visible

	#rb: Martin.Wilson
	#jira: UE-33772, UE-33454
	#tests: cooked AI_Test map, editor rename curves

Change 3064735 on 2016/07/26 by Dmitry.Rekman

	Linux: added WebRTC libs.

	- Compiled against glibc 2.12 / CentOS 6.x environment (see howto in a separate doc).

	#rb none
	#tests Tested OrionClient in Dev-General, and UE4Editor in Dev-Platform.

	(Edigrating 3063715 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064727 on 2016/07/26 by Dmitry.Rekman

	Fix crash on cooker exit (UE-33583).

	- Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it.

	#rb none
	#tests Compiled and ran Linux server and Linux client.

	(Edigrating 3058779 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064725 on 2016/07/26 by Dmitry.Rekman

	Linux: use libc++ instead of libstdc++.

	- Needed to solve problems with third-party C++ libraries (e.g. WebRTC).
	- Bundled libc++ 3.8.1 (TPS cleared).
	- Turned off ICU compilation (needs recompile against libc++).
	- Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix.

	#rb none
	#tests Built and ran a number of Linux targets.

	(Edigrating 3057152 from //UE4/Dev-Platform/... to //Orion/Dev-General/...)

Change 3064572 on 2016/07/26 by Jason.Bestimt

	#R@BOMERGE-AUTHOR: jason.bestimt
	#ORION_MAIN - Merge 29.2 @ CL 3064545

	#RB:none
	#Tests:none

	#R@BOMERGE-SOURCE: CL 3064569 in //Orion/Main/...
	#R@BOMERGE-BOT: ORION (Main -> Dev-General)

Change 3064523 on 2016/07/26 by Jon.Lietz

	Fixing it so gameplay effects with execution none will no longer keep the BP in a dirty state. Only call EmptyArray() on CalculationModifiersArrayPropHandle if it has any elements.

	#RB none
	#tests BP compiles and stays not dirty
	#codereview dave.ratti@epicgames.com

[CL 3111290 by Andrew Grant in Main branch]
2016-09-01 21:20:38 -04:00

376 lines
12 KiB
C#

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Reflection;
using System.Linq;
using System.Net.Mail;
using AutomationTool;
using UnrealBuildTool;
/// <summary>
/// Helper command used for rebuilding a projects light maps.
/// </summary>
/// <remarks>
/// Command line parameters used by this command:
/// -project - Absolute path to a .uproject file
/// -MapsToRebuildLightMaps - A list of '+' delimited maps we wish to build lightmaps for.
/// -CommandletTargetName - The Target used in running the commandlet
/// -StakeholdersEmailAddresses - Users to notify of completion
///
/// </remarks>
namespace AutomationScripts.Automation
{
[RequireP4]
public class RebuildLightMaps : BuildCommand
{
// The rebuild lighting process
#region RebuildLightMaps Command
public override void ExecuteBuild()
{
Log("********** REBUILD LIGHT MAPS COMMAND STARTED **********");
int SubmittedCL = 0;
try
{
var Params = new ProjectParams
(
Command: this,
// Shared
RawProjectPath: ProjectPath
);
// Sync and build our targets required for the commandlet to run correctly.
// P4.Sync(String.Format("-f {0}/...#head", P4Env.BuildRootP4));
bool NoBuild = ParseParam("nobuild");
if (!NoBuild)
{
BuildNecessaryTargets();
}
CreateChangelist(Params);
RunRebuildLightmapsCommandlet(Params);
SubmitRebuiltMaps(ref SubmittedCL);
}
catch (Exception ProcessEx)
{
Log("********** REBUILD LIGHT MAPS COMMAND FAILED **********");
Log("Error message: {0}", ProcessEx.Message);
HandleFailure(ProcessEx.Message);
throw ProcessEx;
}
// The processes steps have completed successfully.
HandleSuccess(SubmittedCL);
Log("********** REBUILD LIGHT MAPS COMMAND COMPLETED **********");
}
#endregion
// Broken down steps used to run the process.
#region RebuildLightMaps Process Steps
private void BuildNecessaryTargets()
{
Log("Running Step:- RebuildLightMaps::BuildNecessaryTargets");
UE4Build.BuildAgenda Agenda = new UE4Build.BuildAgenda();
Agenda.AddTarget("UnrealHeaderTool", UnrealBuildTool.UnrealTargetPlatform.Win64, UnrealBuildTool.UnrealTargetConfiguration.Development);
Agenda.AddTarget("ShaderCompileWorker", UnrealBuildTool.UnrealTargetPlatform.Win64, UnrealBuildTool.UnrealTargetConfiguration.Development);
Agenda.AddTarget("UnrealLightmass", UnrealBuildTool.UnrealTargetPlatform.Win64, UnrealBuildTool.UnrealTargetConfiguration.Development);
Agenda.AddTarget(CommandletTargetName, UnrealBuildTool.UnrealTargetPlatform.Win64, UnrealBuildTool.UnrealTargetConfiguration.Development);
try
{
UE4Build Builder = new UE4Build(this);
Builder.Build(Agenda, InDeleteBuildProducts: true, InUpdateVersionFiles: true, InForceNoXGE: false, InChangelistNumberOverride: GetLatestCodeChange());
UE4Build.CheckBuildProducts(Builder.BuildProductFiles);
}
catch (AutomationException Ex)
{
LogError("Rebuild Light Maps has failed.");
throw Ex;
}
}
private int GetLatestCodeChange()
{
List<P4Connection.ChangeRecord> ChangeRecords;
if(!P4.Changes(out ChangeRecords, String.Format("-m 1 //{0}/....cpp@<{1} //{0}/....h@<{1} //{0}/....cs@<{1} //{0}/....usf@<{1}", P4Env.Client, P4Env.Changelist), WithClient: true))
{
throw new AutomationException("Couldn't enumerate latest change from branch");
}
return ChangeRecords.Max(x => x.CL);
}
private void CreateChangelist(ProjectParams Params)
{
Log("Running Step:- RebuildLightMaps::CheckOutMaps");
// Setup a P4 Cl we will use to submit the new lightmaps
WorkingCL = P4.CreateChange(P4Env.Client, String.Format("{0} rebuilding lightmaps from changelist {1}\n#rb None\n#tests None", Params.ShortProjectName, P4Env.Changelist));
Log("Working in {0}", WorkingCL);
}
private void RunRebuildLightmapsCommandlet(ProjectParams Params)
{
Log("Running Step:- RebuildLightMaps::RunRebuildLightmapsCommandlet");
// Find the commandlet binary
string UE4EditorExe = HostPlatform.Current.GetUE4ExePath(Params.UE4Exe);
if (!FileExists(UE4EditorExe))
{
LogError("Missing " + UE4EditorExe + " executable. Needs to be built first.");
throw new AutomationException("Missing " + UE4EditorExe + " executable. Needs to be built first.");
}
// Now let's rebuild lightmaps for the project
try
{
var CommandletParams = IsBuildMachine ? "-unattended -buildmachine -fileopenlog" : "-fileopenlog";
CommandletParams += " -AutoCheckOutPackages";
if (P4Enabled)
{
CommandletParams += String.Format(" -SCCProvider={0} -P4Port={1} -P4User={2} -P4Client={3} -P4Changelist={4} -P4Passwd={5}", "Perforce", P4Env.P4Port, P4Env.User, P4Env.Client, WorkingCL.ToString(), P4.GetAuthenticationToken());
}
RebuildLightMapsCommandlet(Params.RawProjectPath, Params.UE4Exe, Params.MapsToRebuildLightMaps.ToArray(), CommandletParams);
}
catch (Exception Ex)
{
string FinalLogLines = "No log file found";
AutomationException AEx = Ex as AutomationException;
if ( AEx != null )
{
string LogFile = AEx.LogFileName;
UnrealBuildTool.Log.TraceWarning("Attempting to load file {0}", LogFile);
if ( LogFile != "")
{
UnrealBuildTool.Log.TraceWarning("Attempting to read file {0}", LogFile);
try
{
string[] AllLogFile = ReadAllLines(LogFile);
FinalLogLines = "Important log entries\n";
foreach (string LogLine in AllLogFile)
{
if (LogLine.Contains("[REPORT]"))
{
FinalLogLines += LogLine + "\n";
}
}
}
catch (Exception)
{
// we don't care about this because if this is hit then there is no log file the exception probably has more info
LogError("Could not find log file " + LogFile);
}
}
}
// Something went wrong with the commandlet. Abandon this run, don't check in any updated files, etc.
LogError("Rebuild Light Maps has failed. because "+ Ex.ToString());
throw new AutomationException(ExitCode.Error_Unknown, Ex, "RebuildLightMaps failed. {0}", FinalLogLines);
}
}
private void SubmitRebuiltMaps(ref int SubmittedCL)
{
Log("Running Step:- RebuildLightMaps::SubmitRebuiltMaps");
// Check everything in!
if (WorkingCL != -1)
{
Log("Running Step:- Submitting CL " + WorkingCL);
P4.Submit(WorkingCL, out SubmittedCL, true, true);
Log("INFO: Lightmaps successfully submitted in cl "+ SubmittedCL.ToString());
}
}
#endregion
// Helper functions and procedure steps necessary for running the commandlet successfully
#region RebuildLightMaps Helper Functions
/**
* Parse the P4 output for any errors that we really care about.
* e.g. umaps and assets are exclusive checkout files, if we cant check out a map for this reason
* then we need to stop.
*/
private bool FoundCheckOutErrorInP4Output(string Output)
{
bool bHadAnError = false;
var Lines = Output.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
foreach (string Line in Lines)
{
// Check for log spew that matches exclusive checkout failure
// http://answers.perforce.com/articles/KB/3114
if (Line.Contains("can't edit exclusive file already opened"))
{
bHadAnError = true;
break;
}
}
return bHadAnError;
}
/**
* Cleanup anything this build may leave behind and inform the user
*/
private void HandleFailure(String FailureMessage)
{
try
{
if (WorkingCL != -1)
{
P4.RevertAll(WorkingCL);
P4.DeleteChange(WorkingCL);
}
SendCompletionMessage(false, FailureMessage);
}
catch (P4Exception P4Ex)
{
LogError("Failed to clean up P4 changelist: " + P4Ex.Message);
}
catch (Exception SendMailEx)
{
LogError("Failed to notify that build succeeded: " + SendMailEx.Message);
}
}
/**
* Perform any post completion steps needed. I.e. Notify stakeholders etc.
*/
private void HandleSuccess(int SubmittedCL)
{
try
{
SendCompletionMessage(true, String.Format( "Successfully rebuilt lightmaps to cl {0}.", SubmittedCL ));
}
catch (Exception SendMailEx)
{
LogError("Failed to notify that build succeeded: " + SendMailEx.Message);
}
}
/**
* Notify stakeholders of the commandlet results
*/
void SendCompletionMessage(bool bWasSuccessful, String MessageBody)
{
MailMessage Message = new System.Net.Mail.MailMessage();
Message.Priority = MailPriority.High;
Message.From = new MailAddress("unrealbot@epicgames.com");
string Branch = "Unknown";
if ( P4Enabled )
{
Branch = P4Env.BuildRootP4;
}
foreach (String NextStakeHolder in StakeholdersEmailAddresses)
{
Message.To.Add(new MailAddress(NextStakeHolder));
}
Message.CC.Add(new MailAddress("Daniel.Lamb@epicgames.com"));
Message.CC.Add(new MailAddress("Andrew.Grant@epicgames.com"));
Message.CC.Add(new MailAddress("jordan.walker@epicgames.com"));
Message.CC.Add(new MailAddress("benjamin.crocker@epicgames.com"));
Message.Subject = String.Format("Nightly lightmap rebuild {0} for {1}", bWasSuccessful ? "[SUCCESS]" : "[FAILED]", Branch);
Message.Body = MessageBody;
/*Attachment Attach = new Attachment();
Message.Attachments.Add()*/
try
{
SmtpClient MailClient = new SmtpClient("smtp.epicgames.net");
MailClient.Send(Message);
}
catch (Exception Ex)
{
LogError("Failed to send notify email to {0} ({1})", String.Join(", ", StakeholdersEmailAddresses.ToArray()), Ex.Message);
}
}
#endregion
// Member vars used in multiple steps.
#region RebuildLightMaps Property Set-up
// Users to notify if the process fails or succeeds.
List<String> StakeholdersEmailAddresses
{
get
{
String UnprocessedEmailList = ParseParamValue("StakeholdersEmailAddresses");
if (String.IsNullOrEmpty(UnprocessedEmailList) == false)
{
return UnprocessedEmailList.Split('+').ToList();
}
else
{
return null;
}
}
}
// The Changelist used when doing the work.
private int WorkingCL = -1;
// The target name of the commandlet binary we wish to build and run.
private String CommandletTargetName
{
get
{
return ParseParamValue("CommandletTargetName", "");
}
}
// Process command-line and find a project file. This is necessary for the commandlet to run successfully
private FileReference ProjectFullPath;
public virtual FileReference ProjectPath
{
get
{
if (ProjectFullPath == null)
{
var OriginalProjectName = ParseParamValue("project", "");
var ProjectName = OriginalProjectName;
ProjectName = ProjectName.Trim(new char[] { '\"' });
if (ProjectName.IndexOfAny(new char[] { '\\', '/' }) < 0)
{
ProjectName = CombinePaths(CmdEnv.LocalRoot, ProjectName, ProjectName + ".uproject");
}
else if (!FileExists_NoExceptions(ProjectName))
{
ProjectName = CombinePaths(CmdEnv.LocalRoot, ProjectName);
}
if (FileExists_NoExceptions(ProjectName))
{
ProjectFullPath = new FileReference(ProjectName);
}
else
{
var Branch = new BranchInfo(new List<UnrealTargetPlatform> { UnrealBuildTool.BuildHostPlatform.Current.Platform });
var GameProj = Branch.FindGame(OriginalProjectName);
if (GameProj != null)
{
ProjectFullPath = GameProj.FilePath;
}
if (!FileExists_NoExceptions(ProjectFullPath.FullName))
{
throw new AutomationException("Could not find a project file {0}.", ProjectName);
}
}
}
return ProjectFullPath;
}
}
#endregion
}
}