This is CL#2904759 from //Fortnite/Main
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2904398 on 2016/03/10 by Bob.Tellez
#UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons.
#rb Josh.Markiewicz
#codreview Josh.Markiewicz
#JIRA FORT-20703
Change 2904339 on 2016/03/10 by Daniel.Broder
Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes).
One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs).
Change made after discussion with Bob.
#CodeReview Bob.Tellez
#UE4
Change 2903020 on 2016/03/10 by John.Abercrombie
Added blueprint function to set named params for use when running an EQS query from BP
- Phil is going to test this out for me.
#rb me (Mieszko wrote this)
#codereview Phil.Cole, Mieszko.Zielinski
Change 2902440 on 2016/03/09 by Ben.Zeigler
#Jira FORT-20149
Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized.
#codereview john.pollard
#RB bob.tellez
Change 2900138 on 2016/03/08 by Bob.Tellez
#UE4 Updated the following Parameter value functions to respect the bOverride flag
GetStaticSwitchParameterValue
GetStaticComponentMaskParameterValue
GetTerrainLayerWeightParameterValue
#rb Nick.Penwarden
Change 2899839 on 2016/03/08 by Lukasz.Furman
fixed navmesh projection on actors with overlap response to world channels
#rb Mieszko.Zielinski
#codereview Zak.Middleton
Change 2899743 on 2016/03/08 by Lukasz.Furman
fixed handling multiple blocking hits in navwalking's geometry conforming
blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response
#fortnite FORT-21546
#rb Mieszko.Zielinski
#codereview Zak.Middleton
Change 2898194 on 2016/03/07 by Chris.Gagnon
Added the ability to filter DataTable Assets by their row using the metadata.
meta = (RowType=MyRowName)
#RB Saad.Nader
#codereview Saad.Nader, Jamie.Dale
Change 2895102 on 2016/03/04 by Ben.Zeigler
#JIRA FORT-20290
Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out
Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main
#codereview josh.markiewicz
Change 2891302 on 2016/03/02 by Bob.Tellez
#UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason.
#rb Ben.Zeigler
#codereview Lukasz.Furman
Change 2887908 on 2016/03/01 by Chris.Gagnon
Added Event Track to UMG Sequencer.
Added PlayTo functionality for targeting the end point of a played animation.
#RB Frank.Fella
#codereview Frank.Fella, Nick.Darnell
Change 2887686 on 2016/03/01 by Joel.Crabbe
Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value.
#codereview Ben.Zeigler
Change 2886847 on 2016/02/29 by Bob.Tellez
#UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms.
#codereview Richard.TalbotWatkin
Change 2886414 on 2016/02/29 by Lukasz.Furman
fixed start point of composite path's update
#fortnite FORT-21380
#rb Mieszko.Zielinski
Change 2886250 on 2016/02/29 by Bob.Tellez
#UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup.
#codereview Robert.Manuszewski
Change 2885942 on 2016/02/29 by Bob.Tellez
#UE4 Disabling per-instance mesh painting on instanced static mesh components.
#rb Jack.Porter
[CL 2909292 by Bob Tellez in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2879377 on 2016/02/24 by Gil.Gribb
UE4 - Added render thread start and stop delegates. GitHub 2006.
#Jira UE-26184
Change 2879378 on 2016/02/24 by Gil.Gribb
UE4 - Avoided using TG_PrePhysics as the first tickgroup so that licensees can add tickgropups.
https://udn.unrealengine.com/questions/279126/code-assumes-that-tg-prephysics-is-the-first-tick.html
#Jira UE-26971
Change 2879382 on 2016/02/24 by Gil.Gribb
UE4 - Tweaked automation test framework by request from UDN post.
Change 2879727 on 2016/02/24 by Martin.Mittring
adding debug info for Optimus driver detection issue
#rb:Benjamin.Hyder
#Test:PC
Change 2879728 on 2016/02/24 by Martin.Mittring
fixed and improved VisualizeMotionBlur
#rb:David.Hill
#test:PC
Change 2879729 on 2016/02/24 by Martin.Mittring
added AngleBetweenVectors() and variants to the FastMath library
#rb:David.Hill
#code_review:Brian.Karis
Change 2880133 on 2016/02/24 by David.Hill
new r.DepthOfFieldQualitySetting
for GDC squencer demo
#rb:Martin.Mittring
- OR-15875
Change 2880314 on 2016/02/24 by Daniel.Wright
Fixed uses of FDepthDrawingPolicyFactory being affected by bUseAsOccluder
* This fixes preshadows on HISMC and foliage
Change 2880338 on 2016/02/24 by Martin.Mittring
added SkinCache.Debug cvar
#rb:Lina.Halper
#test:PC
Change 2880344 on 2016/02/24 by Daniel.Wright
Added the ability to apply DFAO to static indirect lighting, controlled by r.AOApplyToStaticIndirect
* Lightmaps, stationary skylight and reflection captures are all affected
* Specular occlusion on reflection captures requires a fair amount of tweaking of r.SkySpecularOcclusionStrength, MinOcclusion and MaxOcclusionDistance for good quality
* For now, a movable skylight with low intensity (.0001) must be placed to control MaxOcclusionDistance and MinOcclusion
Change 2880346 on 2016/02/24 by Daniel.Wright
Added several cvars to expose mesh distance field limits, which allows higher quality
* r.DistanceFields.MaxPerMeshResolution
* r.DistanceFields.DefaultVoxelDensity
* r.DistanceFields.AtlasSizeXY
* r.DistanceFields.AtlasSizeZ
Change 2881304 on 2016/02/25 by Gil.Gribb
UE4 - Increased the priority of cloth tasks because these are on the critical path.
Change 2881306 on 2016/02/25 by Gil.Gribb
UE4 - Added cvar to control background tick list cleanup.
Change 2881790 on 2016/02/25 by Daniel.Wright
Screen size fading is only applied to spot and point lights
Change 2882077 on 2016/02/25 by Daniel.Wright
DFAO indirect occlusion on static lighting is now correctly applied to IndirectIrradiance
Change 2882391 on 2016/02/25 by Martin.Mittring
fixed bad caching of SRV for vertexbuffers in SkinCache (caused rendering artifacts and wasteful memory allocations). Finding a SRV is now O(1), was O(n)
#rb:Olaf.Piesche
#code_review:Rolando.Caloca,Marcus.Wassmer
Change 2883008 on 2016/02/26 by Gil.Gribb
UE4 - Fixed recursive shader intialization crash on consoles.
Change 2883253 on 2016/02/26 by Martin.Mittring
Improved SkinTangent compression
#rb:Olaf.Piesche
Change 2883295 on 2016/02/26 by Martin.Mittring
Added RecomputeSkinTangent feature for GPU SkinCache, not enabled by default (r.SkinCache.RecomputeTangents)
#rb:Olaf.Piesche,Brian.Karis,Lina.Halper,Rolando.Caloca
Change 2883363 on 2016/02/26 by Gil.Gribb
UE4 - Fixed an issue with recurisve shader init on consoles...again.
Change 2883912 on 2016/02/26 by Gil.Gribb
UE4 - Fixed shadows updating static meshes while the prepass is in progress.
Change 2884829 on 2016/02/27 by Martin.Mittring
OR-16237 indirect lighting on skin is too dark
#rb:Martin.Mittring
#code_review:Brian.Karis
Change 2885096 on 2016/02/28 by Martin.Mittring
OR-13678
[CL 2890130 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2806454 on 2015/12/16 by Bob.Tellez
#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.
#rb Ben.Zeigler
#codereview Dmitry.Rekman
Change 2805502 on 2015/12/16 by Ben.Zeigler
#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
#codereview mike.beach, bob.tellez
Change 2805288 on 2015/12/16 by David.Nikdel
#HTTP #HttpRetry
- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
- Changed HTTP retry logic a little bit
* If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
* If a response was not received and we did not send a full request, automatically retry
* If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
* Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
* Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
* Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
#RB: Sam.Zamani
#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
#Fixes: FORT-17804
Change 2803864 on 2015/12/15 by Bob.Tellez
#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.
#rb Dmitry.Rekman
#codereview Nick.Darnell
Change 2803677 on 2015/12/15 by Billy.Bramer
- Expose equality and inequality operators for gameplay attributes
#rb Todd.Eckert
Change 2802881 on 2015/12/14 by Bob.Tellez
#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.
#rb Phillip.Kavan, Maciej.Mroz
#codereview Phillip.Kavan, Maciej.Mroz
Change 2801636 on 2015/12/14 by Bob.Tellez
#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.
#codereview Graeme.Thornton
Change 2800400 on 2015/12/11 by Jonathan.Lindquist
Submitting a new Pivot Painter Edition
- now renders to textures
- improved workflow
- greater capabilities
Change 2799579 on 2015/12/11 by John.Abercrombie
[AUTOMERGE]
Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4
Fixes FORT-18649 - Patrols don't spawn consistently
- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire
#rb me (this code was written by MieszkoZ)
(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)
--------
Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.
Change 2799018 on 2015/12/10 by Bob.Tellez
#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.
#rb Fred.Kimberley
#codereview Peter.Knepley
Change 2798926 on 2015/12/10 by Bob.Tellez
#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.
#jira FORT-18514
#codereview Martin.Mittring
Change 2797758 on 2015/12/10 by Mark.Satterthwaite
Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.
Change 2781204 on 2015/11/25 by Dmitry.Rekman
Linux: use jemalloc by default if available.
- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.
#rb Bob.Tellez
#codereview Bob.Tellez, Ben.Zeigler
Change 2779398 on 2015/11/24 by Mark.Satterthwaite
Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2719147 on 2015/10/07 by Mark.Satterthwaite
Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.
Change 2719182 on 2015/10/07 by Mark.Satterthwaite
Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.
Change 2719185 on 2015/10/07 by Mark.Satterthwaite
Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.
Change 2719434 on 2015/10/07 by Mark.Satterthwaite
Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.
Change 2724764 on 2015/10/12 by Josh.Adams
[Initial AppleTV support]
Merging //depot/YakBranch/... to //UE4/Dev-Platform/...
Change 2726266 on 2015/10/13 by Lee.Clark
PS4 - Calc reserve size required for DMA copy when using unsafe command buffers
Change 2726401 on 2015/10/13 by Mark.Satterthwaite
Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
#jira UE-15228
Change 2726421 on 2015/10/13 by Lee.Clark
PS4 - Don't try to clear invalid targets
Change 2727040 on 2015/10/13 by Michael.Trepka
Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72
Change 2729783 on 2015/10/15 by Keith.Judge
Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.
Change 2729847 on 2015/10/15 by Mark.Satterthwaite
Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
#jira UE-21992
Change 2729865 on 2015/10/15 by Keith.Judge
Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.
Change 2729897 on 2015/10/15 by Keith.Judge
Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.
Change 2729972 on 2015/10/15 by Keith.Judge
Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.
This should be marginally quicker as it stops a double call to ClearState().
Change 2731503 on 2015/10/16 by Keith.Judge
Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2731928 on 2015/10/16 by Michael.Trepka
PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)
Change 2731934 on 2015/10/16 by Michael.Trepka
PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)
Change 2732018 on 2015/10/16 by Mark.Satterthwaite
Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.
Change 2732365 on 2015/10/16 by Josh.Adams
- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)
Change 2733170 on 2015/10/18 by Terence.Burns
Fix for Android IAP query not returning entire inventory.
Change 2733174 on 2015/10/18 by Terence.Burns
Fix Movie player issue where wait for movie to finish isnt being respected.
Seems a stray bUserCanceled event flag was causing this not to be observed.
Added some verbose logging to apple movie player.
Change 2733488 on 2015/10/19 by Mark.Satterthwaite
Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.
Change 2735226 on 2015/10/20 by Mark.Satterthwaite
Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
#jira UE-21214
#jira UE-19913
Change 2736722 on 2015/10/21 by Daniel.Lamb
Improved performance of cooking stats system.
Change 2737172 on 2015/10/21 by Daniel.Lamb
Improved cooking stats performance for ddc stats.
- New filter flags in automationtest.h
- Compile time errors if proper flags are not specified
- Existing tests converted to new flags
- New "disabled" flag
- Filter dropdown in automation UI replaces Smoke Tests button
- Automation features are no longer compiled out in Test configuration at runtime (except in Shipping)
- Enabled automation tests to be triggered from in-game console in non-editor builds (automation controller is enabled)
NOTE: This will force licensees who use automation to update their tests.
#codereview: jason.bestimt, mike.fricker, ben.salem
[CL 2672561 by Adric Worley in Main branch]
Example:
Both of these will work!
-ExecCmds="Automation RunTests MeshFactoryValidation"
-ExecCmds="Automation RunTests Mesh Factory Validation"
[CL 2564818 by Justin Hair in Main branch]
#NOTE - "-AutomationTests=" has been deprecated
#NOTE - Supported Commands are now "List", "RunTests", RunAll", and "Quit"
#NOTE - Syntax is now -ExecCmds="Automation List;RunAll;Quit"
[CL 2542722 by Justin Hair in Main branch]
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr
[CL 2305058 by Max Preussner in Main branch]
- User can now toggle Track history which will monitor subsequent tests and store a log in Saved/Automation/Logs.
- We track and show up to 5 by default, this is configurable between 1 and 10.
- We store 10 logs by default, non-configurable, so that the user can configure the number to show without deleting logs.
Note, Placeholder icon has been added
[CL 2104364 by Terence Burns in Main branch]
TTP 314101 - UFE: Times for automation tests which produce an error are not recorded or included in the total test duration
[CL 2087106 by Terence Burns in Main branch]