Commit Graph

14 Commits

Author SHA1 Message Date
Justin Sargent
3fec0111ab Copying //UE4/Portal-Staging to Dev-Main (//UE4/Dev-Main) (Source: //Portal/Main @ 3352026)
#lockdown Nick.Penwarden

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

Change 3351920 on 2017/03/17 by Leigh.Swift

	#jira OPP-6870: [Crash] Assertion failed: ctx->ReadOffset + length <= (uint32)ctx->CompressedData.Num() [File:D:\Build\++Portal+Release-Live+Compile\Sync\Engine\Source\Runtime\ImageWrapper\Private\PngImageWrapper.cpp] [Line: 420]
	Instead of asserting for an incorrect data size for png image being loaded, set an error on the wrapper object.
	This will result in the slate brush rendering as white box, and errors going to the log which include the png resource path.

Change 3350561 on 2017/03/16 by Justin.Sargent

	Updated the Slate standalone D3D renderer to be more fault tolerant.
	Added new HasLostDevice() function to SlateRenderer.
	If the launcher detects that it has lost the device context it will attempt to perform a full rebuild of the UI and Presentation layers, but also a full reboot of slate application and the renderer.
	The launcher will attempt to re-establish the device context for 5 minutes if not interrupted by the user. If the user interacts with the launcher while attempting to re-establish the device context it will instead pop up a system dialog explaining it is having issues with the video card and then will close the application.

Change 3341299 on 2017/03/10 by Richard.Fawcett

	Validate JSON files as we're pushing to EMS

	Added a flexible validation framework to the system files (EMS) sync operation.
	Implemented a JSON validator which by default will validate .json files.

	Adds a "ValidationRules" property to the EMS sync config file to allow each product to define its own regex patterns for filenames which should be validated with each validator.
	Configured launcher's EMS to validate .product, .v?product, .layout, .sdmeta and .panel files as JSON.

	The great news is that this validation actually discovered a minor syntactical issue with Wex.v2product during testing, which is also fixed with this submission.  \o/

	#epicfriday

Change 3336908 on 2017/03/08 by Leigh.Swift

	#jira OPP-5126: All disk size checks for BPS installations should be handled internally to BPS, the Portal code should not need to check this and can only do so less accurately.
	Removing disk space checks from portal code which block installers from running. NB: There is still a check in selective download code which provides tooltip information only.
	Moving BuildPatchInstaller disk size check to the file constructor, which is the class that most accurately knows the required amount of space. The disk check now occurs after resume and just before we start to write data.
	A secondary disk check is also made if a file fails to construct so that we can detect problems caused by change in available disk space.
	Disk space error message extended to include useful information for the user.

Change 3323366 on 2017/02/27 by Richard.Fawcett

	Fix reference to Newtonsoft in Publishing.Automation.

Change 3323205 on 2017/02/27 by Wes.Fudala

	Adding language support to the windows installer.
	Significantly expandes OneSky upload functionality.
	OPP-5438 Launcher installer should support the same language set supported by the launcher.

Change 3316926 on 2017/02/22 by Richard.Fawcett

	Prevent Amazon S3 download glitches from issuing warnings until half of the maximum retries have been attempted.

	In practice, when we download thousands of files, we _do_ get failures which need to be retried.  This means that pretty much all jobs result in warnings, which isn't appropriate. This should turn jobs green again, and only warn us when things look unusual.

	#jira OPP-6607

Change 3315996 on 2017/02/21 by Justin.Sargent

	Incrementing Portal version number

	I'm incrementing this earlier than normal due to a need to depend on a new version number for EMS layout change versioning.

Change 3312760 on 2017/02/20 by Wes.Fudala

	Users can now select desired environment/region from the UI.
	New login screen.
	Adds slid out settings menu to login screen.
	Adds region and language selection to the settings menu.
	Adds support for PortalRegions ini.
	Adds DefaultPortalRegions ini.
	Adds RegionRepository, RegionPublisher, RegionSelectService, and RegionIdentificationService.
	Adds region select option in debugtools general section.
	Adds RegionSelectService unit test with associated mocks.
	Changes the way all backend connections are configured so that values are now pulled from config files.
	Renames product region selector files to avoid some confusion with portal region files.
	Updated EmsConfigUpdater and HotfixManager so they support optional overwrite and save of ini files.
	Region publisher now restricts regions that require permissions in shipping builds.
	Fixes a bug causing items to get stuck in the download queue UI after we failed to obtain a manifest when reaching out the the backend.

	#jira OPP-6121,  OPP-5809

Change 3311664 on 2017/02/20 by Andrew.Brown

	Added GetTypeHash support for FDelegateHandle

Change 3311505 on 2017/02/20 by Richard.Fawcett

	Rename/move file(s)

Change 3309004 on 2017/02/17 by Chad.Garyet

	adding in additional platforms for the BuildPlugin commandline

Change 3299188 on 2017/02/13 by Leigh.Swift

	#jira OPP-6711: [CRASH] Assertion failed: IsComplete()
	Race condition in portal hack allowed an installer to attempt to execute complete delegate before being complete.

Change 3294197 on 2017/02/09 by Richard.Fawcett

	Adding ValidPrereqIds.json

	This is needed now because the script to enforce correct prereq ids reaches out to Perforce to access this file!

	#jira OPP-6583

Change 3294059 on 2017/02/09 by Richard.Fawcett

	Fix comment on PostBuild parameter to reference correct name of "Manifest" property.

Change 3293377 on 2017/02/08 by Richard.Fawcett

	Remove need for a metadata file containing name of generated manifest when using randomized manifest filenames.

Change 3282865 on 2017/02/02 by Richard.Fawcett

	Simplify params to BuildGraph's ChunkTask / PostBuildTask

	Also, downgrade warnings to simple log messages when falling back to legacy manifest filename construction to ease transition into randomized manifest filenames for game teams.
	#jira OPP-6435

Change 3282809 on 2017/02/02 by Leigh.Swift

	#jira OPP-6564: BPT will crash if the FileIgnoreList input instructs the build streamer to ignore every build file.
	A race condition for getting to the first scanner creation code, vs the build stream exiting with no data. If the former wins, a scanner will be created without enough data to scan.
	Scanners are now no longer created if the buildstream provided no data.

Change 3280848 on 2017/02/01 by Leigh.Swift

	#jira OPP-3864: BuildPatchServices will log a FATAL error on shutdown even if it's fine to be shutting down.
	When BPS is shutdown, it will only set error states and cancellation logic if any installers are actually created.

Change 3280839 on 2017/02/01 by Leigh.Swift

	Fixing whitespace damage incoming from Dev-Staging

Change 3280820 on 2017/02/01 by Andrew.Brown

	Copying //Portal/Dev-Main-Staging to Main (//Portal/Main)

Change 3280797 on 2017/02/01 by Leigh.Swift

	#jira OPP-6649: BPS sends undocumented analytics events.
	Adding documentation for the following events:
	Patcher.Error.Download
	Patcher.Warning.ChunkAborted
	Patcher.Error.Cache
	Patcher.Error.Construction
	Patcher.Error.Prerequisites

Change 3278887 on 2017/01/31 by Richard.Fawcett

	Downgrade cleanup warnings to normal log output.

	The conditions which used to trigger these warnings are now considered to be normal behavior, in a world in which we carry out cross-app game promotions.

	This results in a perma-yellow state for cleanup, which is unhelpful.

	#nojira

Change 3278738 on 2017/01/31 by Richard.Fawcett

	Tweak Conan launch parameters

Change 3277066 on 2017/01/30 by Richard.Fawcett

	Remove temporary code which cleans up P:\Builds\UnrealEngineLauncher\BuildGraph, as the location no longer exists.

Change 3274907 on 2017/01/27 by Leigh.Swift

	#jira OPP-6615: Receiving a whisper while in game may minimize game client.
	Refactoring SWindow ActivateOnFirstShown bool to be ActivationPolicy to give more accurate control.
	This also allows fixing of misuses of previous ActivateOnFirstShown variables in the implementations, which appear to mostly be interpreting it as 'AlwaysActivate'.
	The upgrade path is therefore ActivateOnFirstShown true/false becomes ActivationPolicy Always/Never.
	Moving initial minimize and maximise logic for FWindowsWindow into the Show() call on first show to gain control of activation and respect the provided policy.
	Refactoring existing uses to use the new variables/functions instead.
	The refactor of existing code is focused on preserving current always activate behaviour as opposed to changing behaviour to actually only activate on first show.

Change 3273466 on 2017/01/26 by Alex.Fennell

	New build of OpenSSL libraries    #JIRA OPP-6408
	PriceEngine configuration and fixes for bugs it introduced.

Change 3268045 on 2017/01/23 by Richard.Fawcett

	Re-adding Funcom folk to Conan chunk notification emails

Change 3267709 on 2017/01/23 by Richard.Fawcett

	Fix launch arguments for Conan Exiles editor.
	Temporarily remove FunCom recipients from notification list to avoid spamming.

Change 3265774 on 2017/01/20 by Chad.Garyet

	Merge of Engine/Build/Buildfarm over to //Portal from Dev-Build

Change 3264674 on 2017/01/19 by Alex.Fennell

	On demand catalog requests

Change 3263654 on 2017/01/19 by Leigh.Swift

	#jira OPP6562: Support looking up tagging and sdmeta info and using it in build diff output
	Adding tag use understanding to the manifest diff tool of BPT.
	Adding Selective Download feature support to PPT for it's diff tool, making use of portal's metadata for the feature.

Change 3263623 on 2017/01/19 by Richard.Fawcett

	Fix issue where ManifestFilename is not always available at post build time.

	#jira OPP-6606

Change 3262013 on 2017/01/18 by Richard.Fawcett

	Remote potential for success email being sent on third party chunk failure

Change 3261914 on 2017/01/18 by Richard.Fawcett

	Fix for user content generation job not specifying a manifest filename.

Change 3261800 on 2017/01/18 by Richard.Fawcett

	Implement streaming S3 downloads to disk, rather than just to memory

	This is needed because C# has a 2 billion maximum array dimension, so files > 2GB can't be downloaded using the existing code.

Change 3261675 on 2017/01/18 by Richard.Fawcett

	Support for overriding, or generating randomized unique manifest filenames to avoid automated harvesting from CDN

	BuildGraph's ChunkTask takes three new parameters ...
	* ManifestFilename (string)        - The filename of the manifest to produce. If omitted, the value of RandomizeManifestFilename will determine how the manifest filename is determined.
	* RandomizeManifestFilename (bool) - If true, we'll generate a random, unique manifest filename. If false (default), we'll use legacy behavior of combining app name and build version.
	* LocalManifestDir (string)        - Required if RandomizedManifestFilename is true. This directory will receive local copies of any manifest file produced, and a metadata file containing the name of the most recently produced manifest

	BuildGraph's PostBuildTask takes two new parameters ...
	* ManifestFilename (string)        - The filename of the manifest to post. If omitted, we'll use the value from the metadat file in LocalManifestDir is this is set, otherwise use legacy behavior.
	* LocalManifestDir (string)        - A directory containing local copies of manifest files, along with a metadata file containing the name of the manifest file produced by the most recent ChunkTask operation.

	Support added to the launcher build script's to use the new parameters to randomize its manifest filename, and post the randomized filename to MCP.

	Use of a contructor of BuildPatchToolStagingInfo which does not specify a manifest filename is now considered deprecated, and will output a warning.

	Remove requirement of having a BuildPatchToolStagingInfo when performing a chunking operation, instead just passing in the specific values we need from it as parameters in their own right.

	Remove support for non-chunk based manifests from C# wrapper, as these are no longer supported in BuildPatchTool itself.

	#jira OPP-6432

Change 3261647 on 2017/01/18 by Leigh.Swift

	Adding some cleanup to the end of some BPT functional tests so that they do not affect proceeding tests and cause red-herring warning output.

Change 3261639 on 2017/01/18 by Richard.Fawcett

	Update app name of Conan to ConanExiles to match back-end catalog.
	Fix Conan launch exe and args so that launcher can detect when product is running.  Was previously using a batch file which terminates after launching editor.

Change 3258815 on 2017/01/16 by Wes.Fudala

	UTM and product info will be parsed from installer name and passed to the launcher.  UTM info will be passed along as part of all analytics events.
	#jira OPP-6404: Add user funnel tracking

Change 3258809 on 2017/01/16 by Wes.Fudala

	Back out changelist 3258800.
	Backing out changes that were intended to be made in a different stream.

Change 3258800 on 2017/01/16 by Wes.Fudala

	App version is now also appended to user agent string.

Change 3256999 on 2017/01/13 by Richard.Fawcett

	Fix issue where JSON file included in Publishing csproj is not reliably copied to output folder on build farm.

Change 3256941 on 2017/01/13 by Richard.Fawcett

	Move configuration for Third Party build pipeline out of code and into its own configuration file.

	#epicfriday

Change 3255072 on 2017/01/12 by Richard.Fawcett

	Add additional logging around multithreaded upload of files to S3.
	Fix bug ensuring that the failure of any single part of multi-part upload results in the whole file being failed.

	#jira OPP-6392

Change 3253672 on 2017/01/11 by Richard.Fawcett

	Add support for third-party Conan editor.

	Alter third party process so it doesn't crash if version.txt doesn't already exist in the third party S3 bucket, to allow us to setup in advance of third party publishing their first version.

Change 3251901 on 2017/01/10 by Barnabas.McManners

	Compile fix on mac,  fix for hidden method in AutomationTest define. Without this GoogleMock.spec.cpp wont compile on mac.
	#nojira
	#ReviewedBy Leigh.Swift

Change 3250907 on 2017/01/09 by Justin.Sargent

	Changed the automation controller to uses a non-zero exit code when performing a 'quit' command if tests failed.

Change 3245328 on 2017/01/03 by Justin.Sargent

	Enabling the logic to lowercase all C++ members exposed to javascript.
	Added additional to-lowering behavior to UObject binding.
	#jira OPP-6494

Change 3240667 on 2016/12/20 by Andrew.Brown

	Copying //Tasks/Portal/Dev-OPP-6109-DedicatedServer to Dev-Main (//Portal/Dev-Main)

Change 3236972 on 2016/12/15 by Bob.Ferreira

	Updating compliation changes for AutomationDriver

Change 3236567 on 2016/12/15 by Richard.Fawcett

	Ensure that third party product chunking uses latest CL across our P4 depot in its version number.

Change 3236188 on 2016/12/15 by Richard.Fawcett

	Combine all launcher purchases into single workflow using the new quickPurchase API call as the initial request.

	#jira OPP-6257

Change 3231134 on 2016/12/12 by Alex.Fennell

	Improving fail case handling for the waiting room service

	#jira OPP-5648

Change 3228514 on 2016/12/09 by Richard.Fawcett

	Change filetype

Change 3227080 on 2016/12/08 by Barnabas.McManners

	Merging CL 3226840 from Dev Editor

	Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself

	#jira OPP-6485

Change 3219810 on 2016/12/02 by Ben.Marsh

	UAT: Fix unzip output being completely discarded. Switch it to just be verbose instead.

Change 3219602 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

[CL 3355309 by Justin Sargent in Main branch]
2017-03-20 18:49:23 -04:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

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

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

Change 3215333 on 2016/11/30 by Ben.Marsh

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

Change 3215482 on 2016/11/30 by Ben.Marsh

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

Change 3215743 on 2016/11/30 by Ben.Marsh

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

Change 3215778 on 2016/11/30 by Ben.Marsh

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

Change 3228273 on 2016/12/08 by Ben.Marsh

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

Change 3232619 on 2016/12/13 by Ben.Marsh

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
Gil Gribb
80f6fa5fa7 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693)
#lockdown Nick.Penwarden
#rb none

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

Change 3219796 on 2016/12/02 by Rolando.Caloca

	DR - vk - Increase timeout to 60ms

Change 3219884 on 2016/12/02 by Daniel.Wright

	Assert to help track down rare crash locking capsule indirect shadow vertex buffer

Change 3219885 on 2016/12/02 by Daniel.Wright

	Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'

Change 3219886 on 2016/12/02 by Daniel.Wright

	Don't create projected shadows when r.ShadowQuality is 0
	* Fixes crash in the forward path trying to render shadows
	* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped

Change 3219887 on 2016/12/02 by Daniel.Wright

	Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing

Change 3219893 on 2016/12/02 by Daniel.Wright

	AMD AGS library with approved TPS
	Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)

Change 3219913 on 2016/12/02 by Daniel.Wright

	Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded

Change 3220029 on 2016/12/02 by Daniel.Wright

	Async shader compiling now recreates scene proxies which are affected by the material which was compiled.  This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
	* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
	* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
	* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet

Change 3220108 on 2016/12/02 by Daniel.Wright

	Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present

Change 3220504 on 2016/12/03 by Mark.Satterthwaite

	Metal Desktop Tessellation support from Unicorn.
	- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
	- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
	- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
	- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
	- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
	- Epic: Various fixes to Layered Rendering for Metal.
	- Omits Mobile Tessellation support which needs further revision.

Change 3220881 on 2016/12/04 by Mark.Satterthwaite

	Compiles fixes for iOS & static analysis fixes from Windows.

Change 3221180 on 2016/12/05 by Guillaume.Abadie

	Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.

Change 3221217 on 2016/12/05 by Chris.Bunner

	More NVAPI warning fixups.

Change 3221219 on 2016/12/05 by Chris.Bunner

	When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
	#jira UE-37792

Change 3221220 on 2016/12/05 by Chris.Bunner

	Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
	#jira UE-35132

Change 3221221 on 2016/12/05 by Chris.Bunner

	PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
	#jira UE-35760

Change 3221223 on 2016/12/05 by Chris.Bunner

	Default to include dev-code when compiling material preview stats.
	#jira UE-20321

Change 3221534 on 2016/12/05 by Rolando.Caloca

	DR - Added FDynamicRHI::GetName()

Change 3221833 on 2016/12/05 by Chris.Bunner

	Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
	#jira UE-36989

Change 3221852 on 2016/12/05 by Chris.Bunner

	32-bit/ch EXR screenshot and frame dump output.
	Fixed row increment bug in 128-bit/px surface format readback.
	#jira UE-37962

Change 3222059 on 2016/12/05 by Rolando.Caloca

	DR - vk - Fix memory type not found

Change 3222104 on 2016/12/05 by Rolando.Caloca

	DR - Lambdaize
	- Added quicker method to check if system textures are initialized

Change 3222290 on 2016/12/05 by Mark.Satterthwaite

	Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.

Change 3222864 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak when exiting

Change 3222873 on 2016/12/06 by Rolando.Caloca

	DR - vk - Minor info to help track down leaks

Change 3222875 on 2016/12/06 by Rolando.Caloca

	DR - Fix mem leak with VisualizeTexture
	#jira UE-39360

Change 3223226 on 2016/12/06 by Chris.Bunner

	Static analysis warning workaround.

Change 3223235 on 2016/12/06 by Ben.Woodhouse

	Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D

Change 3223343 on 2016/12/06 by Chris.Bunner

	Moved HLOD persistent data to viewstate to fix per-view compatability.
	#jira UE-37539

Change 3223349 on 2016/12/06 by Chris.Bunner

	Fixed HLOD with FreezeRendering command.
	#jira UE-29839

Change 3223371 on 2016/12/06 by Michael.Trepka

	Removed obsolete check() in FMetalSurface constructor

Change 3223450 on 2016/12/06 by Chris.Bunner

	Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.

Change 3223638 on 2016/12/06 by Michael.Trepka

	Restored part of the check() in FMetalSurface constructor removed in CL 3223371

Change 3223642 on 2016/12/06 by Mark.Satterthwaite

	Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
	- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
	- Enable with -metaledr command-line argument as it is off-by-default.
	- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.

Change 3223830 on 2016/12/06 by Rolando.Caloca

	DR - vk - Better error when finding an invalid Vulkan driver
	#jira UE-37495

Change 3223869 on 2016/12/06 by Rolando.Caloca

	DR - vk - Reuse fences

Change 3223906 on 2016/12/06 by Guillaume.Abadie

	Fix alpha through TempAA artifact causing a small darker edge layouts.

Change 3224199 on 2016/12/06 by Mark.Satterthwaite

	Fix a dumb copy-paste error from the HDR changes to Metal.

Change 3224220 on 2016/12/06 by Mark.Satterthwaite

	Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
	- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.

Change 3224236 on 2016/12/06 by Mark.Satterthwaite

	IWYU CIS compile fix for iOS.

Change 3224366 on 2016/12/06 by Mark.Satterthwaite

	Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
	- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
	- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.

Change 3224416 on 2016/12/06 by Uriel.Doyon

	New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
	Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).

	Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.

	Fix for material texture streaming data not being available on some cooked builds.

	Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
	This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
	Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.

	Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
	and also "LastRenderTimeMips" which related to timed primitives.
	Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.

	"Texture Streaming Build" now updates the map check after execution.

	Removed Orphaned texture logic as this has  become irrelevant with the latest retention priority logic.

	Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.

Change 3224532 on 2016/12/07 by Uriel.Doyon

	Integrated CL 3223965 :

	Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
	Added more options to allow the user to cancel this build also.

Change 3224714 on 2016/12/07 by Ben.Woodhouse

	Cherry pick CL 3223972 from //fortnite/main:

	Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)

Change 3224715 on 2016/12/07 by Ben.Woodhouse

	New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version

Change 3224975 on 2016/12/07 by Rolando.Caloca

	DR - vk - Dump improvements

Change 3225012 on 2016/12/07 by Rolando.Caloca

	DR - Show warning if trying to use num samples != (1,2,4,8,16)

Change 3225126 on 2016/12/07 by Chris.Bunner

	Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
	#jira UE-39345

Change 3225449 on 2016/12/07 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3225485 on 2016/12/07 by Chris.Bunner

	Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
	#jira UE-19394

Change 3225486 on 2016/12/07 by Chris.Bunner

	Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.

Change 3225505 on 2016/12/07 by Daniel.Wright

	Fixed exponential height fog disappearing with no skybox

Change 3225655 on 2016/12/07 by Benjamin.Hyder

	Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.

Change 3225668 on 2016/12/07 by Chris.Bunner

	Dirty owning packages when user manually forces regeneration of all reflection captures.
	#jira UE-38759

Change 3226139 on 2016/12/07 by Rolando.Caloca

	DR - Fix recompute tangents disabling skin cache
	- Make some macros into lambdas
	#jira UE-39143

Change 3226212 on 2016/12/07 by Daniel.Wright

	Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false

Change 3226213 on 2016/12/07 by Daniel.Wright

	Scene Capture 2D can specify a global clip plane, which is useful for portals
	* Requires the global clip plane project setting to be enabled

Change 3226214 on 2016/12/07 by Daniel.Wright

	Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
	* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
	* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
	* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
	* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall

Change 3226258 on 2016/12/07 by Rolando.Caloca

	DR - Typo fix

Change 3226259 on 2016/12/07 by Rolando.Caloca

	DR - compile fix
	#jira UE-39143

Change 3226932 on 2016/12/08 by Chris.Bunner

	Re-saved Infiltrator maps to update reflection captures.
	#jira UE-38759

Change 3227063 on 2016/12/08 by Mark.Satterthwaite

	For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
	#jira UE-37436

Change 3227120 on 2016/12/08 by Gil.Gribb

	Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3227211 on 2016/12/08 by Arne.Schober

	DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.

Change 3227257 on 2016/12/08 by Marc.Olano

	Extension to PseudoVolumeTexture for more flexible layout
	Change by ryan.brucks

Change 3227286 on 2016/12/08 by Rolando.Caloca

	DR - Fix crash when using custom expressions and using reserved keywords
	#jira UE-39311

Change 3227376 on 2016/12/08 by Mark.Satterthwaite

	Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.

Change 3227415 on 2016/12/08 by Mark.Satterthwaite

	Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.

Change 3227516 on 2016/12/08 by Daniel.Wright

	Implemented UWidgetComponent::GetUsedMaterials

Change 3227521 on 2016/12/08 by Guillaume.Abadie

	Fixes post process volume's indirect lighting color.

	#jira UE-38888

Change 3227567 on 2016/12/08 by Marc.Olano

	New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask

Change 3227628 on 2016/12/08 by Daniel.Wright

	Removed redundant ResolveSceneDepthTexture from the merge

Change 3227635 on 2016/12/08 by Daniel.Wright

	Forward renderer supports shadowing from movable lights and light functions
	* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
	* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned

Change 3227660 on 2016/12/08 by Rolando.Caloca

	DR - vk - Fix r.MobileMSAA on Vulkan
	- r.MobileMSAA is now read-only (to be fixed on 4.16)
	- Show time for PSO creation hitches
	#jira UE-39184

Change 3227704 on 2016/12/08 by Mark.Satterthwaite

	Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.

Change 3227705 on 2016/12/08 by Daniel.Wright

	Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)

Change 3227787 on 2016/12/08 by Chris.Bunner

	Added extent clear to motion blur pass to catch misized buffers bringing in errors.
	Added early out to clear call when excluded region matches RT region.
	#jira UE-39437

Change 3228177 on 2016/12/08 by Marc.Olano

	Fix DCC sqrt(int) error

Change 3228285 on 2016/12/08 by Chris.Bunner

	Back out changelist 3225449.
	#jira UE-39528

Change 3228680 on 2016/12/09 by Gil.Gribb

	Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering)

Change 3228940 on 2016/12/09 by Mark.Satterthwaite

	Editor fixes for 4.15:
	- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
	- Don't start render-passes without a valid render-target-array in MetalRHI.

Change 3228950 on 2016/12/09 by Mark.Satterthwaite

	Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
	- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
	- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
	#jira UE-39256

Change 3229013 on 2016/12/09 by Mark.Satterthwaite

	Further tidy up in SSkeletonTreeView as suggested by Nick.A.

Change 3229101 on 2016/12/09 by Chris.Bunner

	Log compile error fix and updated cvar comments.

Change 3229236 on 2016/12/09 by Ben.Woodhouse

	XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles

Change 3229430 on 2016/12/09 by Ben.Woodhouse

	PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)

	Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)

Change 3229580 on 2016/12/09 by Marcus.Wassmer

	DepthBoundsTest for AMD.

Change 3229701 on 2016/12/09 by Michael.Trepka

	Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2

Change 3229706 on 2016/12/09 by Chris.Bunner

	Added GameUserSettings controls for HDR display output.
	Removed Metal commandline as this should replace the need for it.

Change 3229774 on 2016/12/09 by Michael.Trepka

	Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.

Change 3229819 on 2016/12/09 by Chris.Bunner

	Updated engine rendering defaults to better match current best practices.
	#jira UE-38081

Change 3229948 on 2016/12/09 by Rolando.Caloca

	DR - Fix d3d debug error
	#jira UE-39589

Change 3230341 on 2016/12/11 by Mark.Satterthwaite

	Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
	#jira UE-39613

Change 3230860 on 2016/12/12 by Marcus.Wassmer

	Experimental Nvidia AFR support.

Change 3230930 on 2016/12/12 by Mark.Satterthwaite

	Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.

Change 3231252 on 2016/12/12 by Marcus.Wassmer

	Fix NumGPU detection. (SLI only crash)

Change 3231486 on 2016/12/12 by Mark.Satterthwaite

	Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.

Change 3231661 on 2016/12/12 by Mark.Satterthwaite

	Retain the RHI samplers in MetalRHI to guarantee lifetime.

[CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Josh Adams
61ae6f6329 Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796)
#lockdown Nick.Penwarden
#rb none

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

Change 2948319 on 2016/04/19 by Nick.Shin

	update zlib to v1.2.8

	part 1 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library

Change 2948322 on 2016/04/19 by Nick.Shin

	update libwebsockets to v1.7.4

	part 4 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948661 on 2016/04/19 by Nick.Shin

	keep using old zlibs until they are recompiled with the newer version

Change 2948737 on 2016/04/19 by Nick.Shin

	build warning fix

Change 2949334 on 2016/04/20 by Nick.Shin

	fix library path

	for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...

Change 2951556 on 2016/04/21 by Nick.Shin

	static libs double checked

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2951559 on 2016/04/21 by Nick.Shin

	static libs double checked

	forgot these files - they were in another changelist

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2952411 on 2016/04/22 by Nick.Shin

	add win32 build targets for zlib openssl libcurl libwebsockets

	part 1 of 2: these are the C# build scripts

Change 2970016 on 2016/05/07 by Nick.Shin

	undo all of the following upgrades:
	- zlib
	- openssl
	- libcurl
	- libwebsockets

	and reset webrtc

	#jira UE-30298 - Fortnite and Orion crash on login

Change 3118163 on 2016/09/08 by Josh.Adams

	perm test 2, not a useful file at all

Change 3121142 on 2016/09/12 by Daniel.Lamb

	Attempt to fix deterministic cooking issue for particlelodlevel.
	Ensure the spawn module has had postload called on it before using.
	#test Paragon cook

Change 3121150 on 2016/09/12 by Daniel.Lamb

	Added warning logs to help track down issue UE-33453.

Change 3121201 on 2016/09/12 by Keith.Judge

	Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix.

Change 3121302 on 2016/09/12 by Joe.Graf

	Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors

Change 3121379 on 2016/09/12 by Dmitry.Rekman

	Linux: only link libraries that export needed symbols (UE-35720).

	- Fixes very long startup times of modular builds.
	- Includes PR #2778 by slonopotamus.

	#jira UE-35720

Change 3121383 on 2016/09/12 by Dmitry.Rekman

	Linux: added some missing _API declarations on symbols used externally.

	- Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't).

Change 3121456 on 2016/09/12 by Daniel.Lamb

	Attempt to fix deterministic cooking issue for particlelodlevel.
	Ensure the spawn module has had postload called on it before using.
	#test Paragon cook

Change 3122939 on 2016/09/13 by Luke.Thatcher

	[PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service.
	 - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone.

Change 3123040 on 2016/09/13 by Brent.Pease

	 + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now.

Change 3123664 on 2016/09/13 by Nick.Shin

	this was originally checked into: release 4.13.1
	bringing here to dev-platform

	-- original submit comments --
	first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing"

	next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop

	jira UE-35363 - Huge game window when launching onto Safari 9.1.2

Change 3125282 on 2016/09/14 by Michael.Trepka

	Fixed iOS and tvOS code indexing in Xcode project

Change 3126812 on 2016/09/15 by Josh.Adams

	Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes:
	- Added Parse function to JsonObject.cs to be able to parse a string
	- Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU()
	- Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
	- Converted the PS4MallocCrash class into a generic one (that Wolf is now also using)
	- Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread
	- Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere
	- Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects
	- Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever)
	- Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool.
	- Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini)
	- Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain.
	- Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening
	- Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct.
	- Renamed a UT copy of a global function to not linker-conflict
	- Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4.
	- Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists)
	- Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority()
	- Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads?
	- Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move.

Change 3126842 on 2016/09/15 by Michael.Trepka

	Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation.

Change 3126956 on 2016/09/15 by Michael.Trepka

	Added support for compiling Vulkan shaders for Android on Mac

Change 3127206 on 2016/09/15 by Michael.Trepka

	PR #2604: Remove some warnings. (Contributed by reapazor)

Change 3127324 on 2016/09/15 by Michael.Trepka

	Allow third party dylibs on Mac to be loaded from plugin subfolders

Change 3127924 on 2016/09/16 by Josh.Adams

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

Change 3128369 on 2016/09/16 by Nick.Shin

	zlib 1.2.8

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128377 on 2016/09/16 by Nick.Shin

	openssl 1_0_2h

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128383 on 2016/09/16 by Nick.Shin

	libcurl 7_48_0

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128384 on 2016/09/16 by Nick.Shin

	libwebsockets 1.7.4

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128464 on 2016/09/16 by Nick.Shin

	webRTC rev.12643

	NOTE: VS2015
	- only Win64 is available
	- Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment

	NOTE: VS2013
	- not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist
	- also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways

	FUTURE NOTE:
	- will continue to try to get VS2015 Win32 functional
	- and am working on trying to get VS2013 tested

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128500 on 2016/09/16 by Nick.Shin

	zlib 1.2.8 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128504 on 2016/09/16 by Nick.Shin

	openssl 1_0_2h - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128506 on 2016/09/16 by Nick.Shin

	libcurl 7_48_0 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128508 on 2016/09/16 by Nick.Shin

	libwebsockets 1.7.4 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128513 on 2016/09/16 by Nick.Shin

	webRTC rev.12643 - OSX

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128602 on 2016/09/16 by Nick.Shin

	webRTC rev.9862 - Win64 VS2013

	NOTE:
	- not tested (i'm working on getting a VS2013 pro license)
	- checking in for testing purposes

	WARNING:
	- VS2013 is no longer supported by webRTC latest

	headers and lib updates

	part of [ zlib openssl libcurl libwebsockets webrtc ] updates

Change 3128605 on 2016/09/16 by Nick.Shin

	re-enabling updated ThirdParySoftware libs:

	- zlib (v.1.2.8)
	- openssl (1.0.2h)
	- libcurl (7_48_0)
	- libwebsocket (v.1.7.4)
	- webRTC (rev.12643)

	to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build...

Change 3128651 on 2016/09/16 by Nick.Shin

	fix Win32 build error from CL: #3128605

Change 3128704 on 2016/09/16 by Nick.Shin

	fix Win32 build error from CL: #3128605 - this time actually compiling it...

Change 3128825 on 2016/09/16 by Dmitry.Rekman

	Linux: proper fix for too slow startup times (UE-35967).

	- Pull request #2793 by slonopotamus.
	- Now without stripping dependencies on libraries specified before.
	- Contains a work around for ld bug <2.25.

Change 3128972 on 2016/09/16 by Nick.Shin

	fix to local build error.

Change 3129283 on 2016/09/16 by Brent.Pease

	 + Add Android local notification support based on existing system used for iOS
	 + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release

Change 3129494 on 2016/09/17 by Nick.Shin

	fix CIS build errors

Change 3129503 on 2016/09/17 by Dmitry.Rekman

	Fix Linux build (case sensitivity issue).

Change 3129514 on 2016/09/17 by Nick.Shin

	fix CIS build errors for consoles - missing zlib include path

	special thanks to Dmitry.Rekman for pointing me in the right direction

Change 3129647 on 2016/09/17 by Dmitry.Rekman

	Linux: fix non-unity build.

Change 3131043 on 2016/09/19 by Nick.Shin

	archiving build instructions/steps when building:

	- zlib (v.1.2.8)
	win: #3128369
	osx: #3128500

	- openssl (1.0.2h)
	win: #3128377
	osx: #3128504

	- libcurl (7_48_0)
	win: #3128383
	osx: #3128506

	- libwebsocket (v.1.7.4)
	win: #3128384
	osx: #3128508

	- webRTC
	win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP
	osx: #3128513

Change 3132801 on 2016/09/20 by Dmitry.Rekman

	Linux: support specifying default OpenGL version via configs (UE-34777).

	- The first targeted RHI is going to be used.

Change 3132905 on 2016/09/20 by Josh.Adams

	- Fixed up some paths with the WolfPlat rename

Change 3133148 on 2016/09/20 by Josh.Adams

	- Only show UT EULA if PLATFORM_DESKTOP

Change 3133152 on 2016/09/20 by Josh.Adams

	- Beginning support for applets. Disabled unless you have a special SDK with applet support.

Change 3133169 on 2016/09/20 by Josh.Adams

	- Fixed issue with Wolf access but no SDK installed

Change 3133344 on 2016/09/20 by Daniel.Lamb

	Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile.
	Added new flag to limit number of concurrent shader compiles.
	#test Cook QAGame, Cook Paragon

Change 3133345 on 2016/09/20 by Daniel.Lamb

	FRedirectCollector collects string asset references all the time when running the editor.
	#test Cook paragon cook QAGame.

Change 3133852 on 2016/09/21 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated.

Change 3133875 on 2016/09/21 by Luke.Thatcher

	[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2)

Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick

	Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'.

Change 3134544 on 2016/09/21 by Josh.Adams

	- Reduced UT textures for Wolf

Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick

	FPS4Time::SystemTime now calculates the local machine time, instead of UTC.

	#jira UE-35170

Change 3135036 on 2016/09/21 by Michael.Trepka

	Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process

Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick

	GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32

Change 3135292 on 2016/09/21 by Jeff.Campeau

	Change include order to favor the XDK edition specific headers where available.

Change 3136414 on 2016/09/22 by Josh.Adams

	- Fixed a checkf() that had the case reversed
	#jira ue-36311

Change 3137082 on 2016/09/22 by Dmitry.Rekman

	Added support for Linux installed builds to 4.14

Change 3137220 on 2016/09/22 by Dmitry.Rekman

	Linux: do not rebuild hlslcc on each setup.

	- Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary.

Change 3137227 on 2016/09/22 by Josh.Adams

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

Change 3137259 on 2016/09/22 by Dmitry.Rekman

	Linux installed build: fix CIS (missed one .csproj)

Change 3137290 on 2016/09/22 by Dmitry.Rekman

	Linux installed builds: fix for the resulting directory.

Change 3137291 on 2016/09/22 by Chris.Babcock

	Restore texture filtering mode properly when movie played on Android
	#jira UE-36342
	#ue4
	#android

Change 3137376 on 2016/09/22 by Dmitry.Rekman

	Linux: re-enabled crash handler stack smash protection.

	- Race condition in FRunnableThreadPThread has been previously fixed.

Change 3138498 on 2016/09/23 by Dmitry.Rekman

	Linux: add missed package for installed builds.

	- mono-devel package for resgen2.

Change 3138523 on 2016/09/23 by Dmitry.Rekman

	Linux: Update hlslcc now that we're not rebuilding it each time.

Change 3138658 on 2016/09/23 by Josh.Adams

	- Moved UT's Social Plugin into NotForLicensees

Change 3139042 on 2016/09/23 by Dmitry.Rekman

	Linux: more robust check of installed packages.

	- Also added mono-devel to the list of packages installed on 14.04.

Change 3139674 on 2016/09/26 by Dmitry.Rekman

	Fix crash when editing widget blueprints (UE-35185).

	- Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping.
	- Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795).

Change 3140203 on 2016/09/26 by Josh.Adams

	- Wolf Fix for SHIPPING

Change 3140206 on 2016/09/26 by Josh.Adams

	- NEX work, still in progress

Change 3140276 on 2016/09/26 by Josh.Adams

	- Fixed Wolf compile error

Change 3140485 on 2016/09/26 by Josh.Adams

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

Change 3140570 on 2016/09/26 by Dmitry.Rekman

	SDL2: Delete obsolete files.

	- We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space.

Change 3140577 on 2016/09/26 by Dmitry.Rekman

	Fix CudaTest monolithic build.

	- Not the best fix, the better fix is to build against bundled libc++.

Change 3141184 on 2016/09/27 by Keith.Judge

	Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert.

	#jira UE-35973

Change 3141623 on 2016/09/27 by Chris.Babcock

	Support hiding virtual keyboard on Android
	#jira UE-34201
	#ue4
	#android

Change 3141887 on 2016/09/27 by Joe.Graf

	Added support for additional plugin directories that are specified by the .uproject file
	New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins

Change 3141916 on 2016/09/27 by Josh.Adams

	- Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925)

Change 3141926 on 2016/09/27 by Josh.Adams

	- Support for skipping Wolf user selector (-nologinui)

Change 3141938 on 2016/09/27 by Chris.Babcock

	Allow Android media player to seek past 999ms (contributed by rcywongaa)
	#jira UE-36453
	#PR #2797
	#ue4
	#android

Change 3142207 on 2016/09/27 by Josh.Adams

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

Change 3142219 on 2016/09/27 by Josh.Adams

	- Wolf PhysX 3.4 libs and includes

Change 3142220 on 2016/09/27 by Josh.Adams

	- File that had to be fixed up after main merge (missed adding it to the huge integrate CL)

Change 3142314 on 2016/09/27 by Chase.McAllister

	#jira UE-35011 fixes to some assets to remove redundancies/output log spam

Change 3142510 on 2016/09/27 by Daniel.Lamb

	Fixed up resave lightmaps commandlet so that world transforms don't get applied twice.
	#jira UE-35942

Change 3142650 on 2016/09/27 by Chris.Babcock

	Android support for Linux by yaakuro
	- requires CodeWorks for Android Linux installed and OpenJDK 1.8
	- need to set Android SDK paths manually in Project Settings
	#jira UE-32752
	#jira UE-32753
	#PR #2564
	#PR #2565
	#ue4
	#android
	#linux

Change 3142802 on 2016/09/27 by Dmitry.Rekman

	Upgrade to SDL 2.0.5-ish (still technically 2.0.4).

	- Upstream revision 10374:dccf51aee79b.
	- Merged all our changes hopefully.

Change 3143075 on 2016/09/28 by Luke.Thatcher

	[RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro.
	#jira UE-33077

Change 3143219 on 2016/09/28 by Daniel.Lamb

	Added new is compiling function which tells you if it's really compiling instead of lying.
	If def out additional logging for debugging shader compilation issue for 4.14 release.

Change 3143428 on 2016/09/28 by Luke.Thatcher

	[PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061

Change 3143488 on 2016/09/28 by Daniel.Lamb

	Changed defaults for skip cooking editor content to true.

Change 3143526 on 2016/09/28 by Daniel.Lamb

	Increased the concurrent shader compile limit while in the cooker.
	#test Cook paragon

Change 3143874 on 2016/09/28 by Chris.Babcock

	Read Android environment variables from .bashrc on Linux
	#jira UE-36565
	#ue4
	#android
	#linux

Change 3143911 on 2016/09/28 by Dmitry.Rekman

	Fix SDL EGL API binding (UE-18979).

	- Contains PR #1398 by x414e54.
	- Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade.

Change 3143929 on 2016/09/28 by Daniel.Lamb

	Removed some more temporary logging.
	#test Cook paragon

Change 3143959 on 2016/09/28 by Jeff.Campeau

	Media Player for Xbox One

Change 3143997 on 2016/09/28 by Dmitry.Rekman

	Linux: faster linking in Debug.

	- Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating.

Change 3144004 on 2016/09/28 by Dmitry.Rekman

	Linux: make SCW dump core on crash in debug builds.

	- If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space).

Change 3144007 on 2016/09/28 by Dmitry.Rekman

	Linux: Allow equals character in command line parameter value (UE-26406).

	- PR #2019 by bozzaro.
	- Allows passing parameters like -Switch=Key=Value.

Change 3144042 on 2016/09/28 by Jeff.Campeau

	Add tag for DX12 support being experimental in target settings.

	#jira UE-36150

Change 3144068 on 2016/09/28 by Dmitry.Rekman

	Linux: enable using xgConsole in UAT (UE-28096).

	- PR #2144 by bozzaro.
	- Picks correct xgConsole binary.
	- Allegedly fixes crash in CombineXGEItemFile on mono.

Change 3144120 on 2016/09/28 by Michael.Trepka

	Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/...

Change 3144172 on 2016/09/28 by Chris.Babcock

	Add libpng 1.5.27 for Android
	#jira UE-36573
	#ue4
	#android

Change 3144318 on 2016/09/28 by Chris.Babcock

	Correct logic for checking .bashrc on Linux
	#ue4
	#android

Change 3144331 on 2016/09/28 by Dmitry.Rekman

	Linux: repair ARM server builds.

	- Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1).

Change 3144354 on 2016/09/28 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
	this is intermediate, not fully working

Change 3144368 on 2016/09/28 by Josh.Adams

	- Moved the new Social files into NFL

Change 3144395 on 2016/09/28 by Chris.Babcock

	Add missing functions for AndroidWebBrowserWindow
	#ue4
	#android

Change 3144417 on 2016/09/28 by Josh.Adams

	- Probable fix for FWebBrowserWindow missing virtuals

Change 3144438 on 2016/09/28 by Jeff.Campeau

	XDK updated to 160802

Change 3144569 on 2016/09/29 by Dmitry.Rekman

	Linux: allow a selectable clock source (UE-36564).

	- The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew.
	- Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there.

	#tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm).

Change 3145108 on 2016/09/29 by Joe.Graf

	Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools)

Change 3145245 on 2016/09/29 by Joe.Graf

	#wolf
	Checking in removal of plugin use on Win64 per Josh's request

Change 3145514 on 2016/09/29 by Will.Fissler

	Updated Mac Info.plist files to disable high DPI on macOS 10.12

Change 3145538 on 2016/09/29 by Josh.Adams

	- Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots.

Change 3145540 on 2016/09/29 by Josh.Adams

	- Fix for checking some Wolf dev tool installation existence
	- Fix for various Wolf build issues
	- Fix for Wolf devices not showing up in Launch on

Change 3145542 on 2016/09/29 by Josh.Adams

	- Pulled over Wolf changes from Wolf branch into Dev-Platform

Change 3145572 on 2016/09/29 by Josh.Adams

	- Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people.
	#jira UE-36591

Change 3145769 on 2016/09/29 by Chris.Babcock

	Remove duplicate platforms from deploy list in UFE
	#jira UE-36636
	#ue4

Change 3146061 on 2016/09/29 by Chris.Babcock

	Linux: be less spammy in log when launching external procs
	#jira UE-36638
	#ue4
	#linux

Change 3146208 on 2016/09/29 by Dmitry.Rekman

	Linux: fix PhysX crash (UE-36613).

	- PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above.
	- This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun.

	#jira UE-36613

Change 3146476 on 2016/09/30 by Josh.Adams

	- Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose

Change 3146554 on 2016/09/30 by Josh.Adams

	- Removed another wolf secret log

Change 3146626 on 2016/09/30 by Josh.Adams

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

Change 3146712 on 2016/09/30 by Josh.Adams

	- Fixed case for building Android on Linux
	#jira #UE-36652

Change 3146844 on 2016/09/30 by Josh.Adams

	- Removed ES2 shader compiling from TVOS, and force Metal compiling
	#jira UE-36306

Change 3146865 on 2016/09/30 by Daniel.Lamb

	Removed temp logging for materials
	#test Launch on paragon

Change 3146874 on 2016/09/30 by Dmitry.Rekman

	Linux: add rpath for libTextureConverter.so (UE-36620).

Change 3147030 on 2016/09/30 by Josh.Adams

	- Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks
	#jira UE-36623

Change 3147151 on 2016/09/30 by Josh.Adams

	- Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling?

Change 3147621 on 2016/09/30 by Michael.Trepka

	Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac

Change 3147712 on 2016/09/30 by Josh.Adams

	- Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform.
	#jira UE-36225

Change 3147725 on 2016/09/30 by Josh.Adams

	- Fixed yet another Wolf log for people with Wolf access but no SDK

[CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
Robert Manuszewski
5925a19dc9 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden

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

Change 3053250 on 2016/07/18 by Steve.Robb

	TNot metafunction added.

Change 3053252 on 2016/07/18 by Steve.Robb

	New TIsEnumClass trait.

Change 3061345 on 2016/07/22 by Robert.Manuszewski

	Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy

Change 3061377 on 2016/07/22 by Graeme.Thornton

	Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default

Change 3064592 on 2016/07/26 by Steven.Hutton

	Uploading repository files

Change 3064595 on 2016/07/26 by Steven.Hutton

	Assign crashes to buggs based not just on Callstack but also based on Error message.

	Error messages have "data" masked out and are then compared to a table of  error messages to find similar messages. Ensures are not currently filtered by error message.

Change 3066046 on 2016/07/27 by Graeme.Thornton

	Better dedicated client/server class exclusion during cooking
	 - Add class lists to cooker settings so they can be modified in the editor

Change 3066077 on 2016/07/27 by Graeme.Thornton

	Move Paragon NeedsLoadForServer calls over to the new config based system

Change 3066203 on 2016/07/27 by Chris.Wood

	CrashReportProcess logging and Slack reporting improvements to monitor disk space.
	[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full

Change 3066276 on 2016/07/27 by Graeme.Thornton

	Move simple NeedsLoadForClient implementations over to new config based system

Change 3068019 on 2016/07/28 by Graeme.Thornton

	Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
	 - Corrects some bad stats

Change 3068218 on 2016/07/28 by Chris.Wood

	CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
	[UE-31706] - Add new BuildVersion string to crash context and website

	Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.

Change 3071665 on 2016/08/01 by Robert.Manuszewski

	Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.

Change 3073388 on 2016/08/02 by Graeme.Thornton

	Invalidate string asset reference tags after finishing up loading of an async package

Change 3073745 on 2016/08/02 by Robert.Manuszewski

	Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.

	#jira FORT-27839

Change 3074866 on 2016/08/03 by Robert.Manuszewski

	PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)

Change 3075128 on 2016/08/03 by Steve.Robb

	Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier

Change 3075130 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'

Change 3075131 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'

Change 3075235 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'

Change 3075248 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'

Change 3075662 on 2016/08/03 by Steve.Robb

	Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call

Change 3075668 on 2016/08/03 by Steve.Robb

	Static analysis fix: warning C6326: Potential comparison of a constant with another constant

Change 3075679 on 2016/08/03 by Chris.Wood

	Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
	[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info

	New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.

Change 3077070 on 2016/08/04 by Steve.Robb

	Dead array slack tracking code removed.

Change 3077113 on 2016/08/04 by Steve.Robb

	TEnumAsByte is now deprecated for enum classes.
	All current uses fixed (which tidies up that code anyway).
	New FArchive::op<< for enum classes.
	Generated code now never uses TEnumAsByte for enum classes.

Change 3077117 on 2016/08/04 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'

Change 3078709 on 2016/08/05 by Steve.Robb

	FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
	TObjectIterator annotated to never return null.
	NewObject annotated to never return null.

Change 3078836 on 2016/08/05 by Graeme.Thornton

	Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading

Change 3082217 on 2016/08/09 by Steve.Robb

	Missing #include for FUniqueNetIdRepl added.

Change 3083679 on 2016/08/10 by Chris.Wood

	CrashReportProcess performance improvements. CRP v1.1.22
	[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
	[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway

	Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
	Configurable values for range of queue sizes that cause us to throw away crashes.

Change 3085362 on 2016/08/11 by Steve.Robb

	Rule-of-three fixes for FAIMessageObserver, to prevent accidents.

	From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html

Change 3085396 on 2016/08/11 by Steve.Robb

	Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.

Change 3088840 on 2016/08/15 by Steve.Robb

	TRemoveReference moved to its own header.

Change 3088858 on 2016/08/15 by Steve.Robb

	TDecay moved to its own header.

Change 3088963 on 2016/08/15 by Steve.Robb

	Invoke function, for doing a generic call on a generic callable thing.  Equivalent to std::invoke.

Change 3089144 on 2016/08/15 by Steve.Robb

	Algo::Transform updated to use Invoke.  Algorithm tests updated to test the new features.

Change 3089147 on 2016/08/15 by Steve.Robb

	TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.

Change 3090243 on 2016/08/16 by Steve.Robb

	New Algo::Sort and Algo::SortBy algorithms.

Change 3090387 on 2016/08/16 by Steve.Robb

	Improved bitwise swapping for Swap.

	See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html

Change 3090444 on 2016/08/16 by Steve.Robb

	Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.

Change 3090495 on 2016/08/16 by Steve.Robb

	Assert when FString::Mid is passed a negative count.

	#jira UE-18756

Change 3093455 on 2016/08/18 by Steve.Robb

	Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.

Change 3094476 on 2016/08/19 by Steve.Robb

	BOM removed from InvariantCulture.h.

Change 3094697 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 3094702 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.

Change 3094715 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'Order':  the readable size is '256' bytes, but '8160' bytes may be read.

Change 3094737 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
	warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.

Change 3094750 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3094768 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'LevelSequence'.
	warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3094774 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.

Change 3094783 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.

Change 3094807 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.

Change 3094815 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'VarNode'.
	warning C6011: Dereferencing NULL pointer 'SourceClass'.

Change 3094840 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
	warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.

Change 3094864 on 2016/08/19 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3094880 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.

Change 3094886 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.

Change 3094903 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.

Change 3094916 on 2016/08/19 by Steve.Robb

	Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.

Change 3094931 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.

Change 3094935 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.

Change 3094943 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Pin'.
	warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.

Change 3094960 on 2016/08/19 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.

Change 3095046 on 2016/08/19 by Steve.Robb

	Single parameter version of CastChecked tagged to never return null.

Change 3095054 on 2016/08/19 by Steve.Robb

	Committed wrong version in CL# 3095046.

Change 3095089 on 2016/08/19 by Steve.Robb

	Static analysis fixes:

	warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
	warning C6101: Returning uninitialized memory '*lpdwExitCode'.

Change 3096035 on 2016/08/22 by Steve.Robb

	Fix for static lighting in pixel inspector.

Change 3096039 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.

Change 3096045 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.

Change 3096058 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.

Change 3096059 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.

Change 3096066 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.

Change 3096070 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.

Change 3096074 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.

Change 3096075 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.

Change 3096081 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.

Change 3096156 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'BP'.
	warning C6011: Dereferencing NULL pointer 'Object'.

Change 3096308 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'TopMipData'.
	warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.

Change 3096315 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'OldParent'.
	warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.

Change 3096318 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.

Change 3096322 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.

Change 3096337 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Pin'.
	warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.

Change 3096345 on 2016/08/22 by Steve.Robb

	Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.

Change 3096356 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.

Change 3096387 on 2016/08/22 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
	warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.

Change 3096400 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.

Change 3096413 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.

Change 3096416 on 2016/08/22 by Steve.Robb

	Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 3096423 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.

Change 3096439 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.

Change 3096446 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.

Change 3096454 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.

Change 3096464 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.

Change 3096469 on 2016/08/22 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.

Change 3097559 on 2016/08/23 by Steve.Robb

	Alternate fix to CL# 3096439.

Change 3097583 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
	warning C6011: Dereferencing NULL pointer 'CurrentWorld'.

Change 3097584 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.

Change 3097585 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
	warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.

Change 3097588 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.

Change 3097589 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.

Change 3097591 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.

Change 3097597 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.

Change 3097598 on 2016/08/23 by Steve.Robb

	Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.

Change 3097600 on 2016/08/23 by Steve.Robb

	Fix for incorrect null check.

Change 3097605 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.

	Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125

Change 3097609 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.

Change 3097613 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.

Change 3097620 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.

Change 3097627 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.

Change 3097629 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.

Change 3097631 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.

Change 3097634 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.

Change 3097639 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.

Change 3097650 on 2016/08/23 by Steve.Robb

	Alternate fix for CL# 3097597.

Change 3097725 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.

Change 3097764 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.

Change 3097770 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.

Change 3097775 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.

Change 3097796 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.

Change 3097797 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.

Change 3097843 on 2016/08/23 by Steve.Robb

	Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.

Change 3097864 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ObjectClass'.
	warning C6011: Dereferencing NULL pointer 'Client'.

Change 3097871 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.

Change 3098015 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094864.

Change 3098024 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094943.

Change 3098052 on 2016/08/23 by Steve.Robb

	Alternative fix for CL# 3094886.

Change 3098080 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.

Change 3098102 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.

Change 3098148 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Node'.
	warning C6011: Dereferencing NULL pointer 'OldNode'.
	warning C6011: Dereferencing NULL pointer 'LinkedPin'.
	warning C6011: Dereferencing NULL pointer 'RootNode'.

Change 3098156 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.

Change 3098176 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.

Change 3098182 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.

Change 3098197 on 2016/08/23 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
	Coding standards fixes.

Change 3098202 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.

Change 3098208 on 2016/08/23 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
	warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.

Change 3098229 on 2016/08/23 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.

Change 3099188 on 2016/08/24 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.

Change 3099195 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.

Change 3099205 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.

Change 3099228 on 2016/08/24 by Steve.Robb

	Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.

Change 3099539 on 2016/08/24 by Steve.Robb

	Spurious static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'InBlueprint'.
	warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.

	https://connect.microsoft.com/VisualStudio/feedback/details/3082362
	https://connect.microsoft.com/VisualStudio/feedback/details/3082622

Change 3099546 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.

Change 3099561 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.

Change 3099571 on 2016/08/24 by Steve.Robb

	Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.

Change 3099600 on 2016/08/24 by Steve.Robb

	Static analysis fix:

	warning C6385: Reading invalid data from 'this->Packages':  the readable size is '24' bytes, but '32' bytes may be read.
	warning C6385: Reading invalid data from 'Diff.ObjectSets':  the readable size is '24' bytes, but '32' bytes may be read.
	warning C6386: Buffer overrun while writing to 'Objects':  the writable size is '24' bytes, but '32' bytes might be written.

Change 3099912 on 2016/08/24 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.

Change 3099923 on 2016/08/24 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.

Change 3100977 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory '*VectorRef'.
	warning C6001: Using uninitialized memory '*PointRef'.
	warning C6001: Using uninitialized memory '*PolyRef'.

	Coding standard fixes.

Change 3100985 on 2016/08/25 by Steve.Robb

	Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3100987 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829':  this does not adhere to the specification for the function 'SelectObject'.
	warning C6387: '_Param_(4)' could be '0':  this does not adhere to the specification for the function 'CreateDIBSection'.

Change 3100992 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 3101000 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'tmpMemReq'.
	warning C6001: Using uninitialized memory 'TmpCreateInfo'.

Change 3101004 on 2016/08/25 by Steve.Robb

	warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.

Change 3101009 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.

Change 3101115 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.

Change 3101120 on 2016/08/25 by Steve.Robb

	Fixes to previous fixes.

Change 3101128 on 2016/08/25 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.

Change 3101281 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses '99256' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.
	warning C6001: Using uninitialized memory 'Pixel'.

Change 3101292 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.

Change 3101299 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.

Change 3101300 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.

Change 3101304 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.

Change 3101311 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.

Change 3101323 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.

Change 3101329 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.

Change 3101333 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.

Change 3101339 on 2016/08/25 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ImportData'.
	warning C6011: Dereferencing NULL pointer 'CurveToImport'.

Change 3101485 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.

Change 3101583 on 2016/08/25 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.

Change 3105721 on 2016/08/30 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.

Change 3105724 on 2016/08/30 by Steven.Hutton

	Change users page to more responsive paginated version.

Change 3105725 on 2016/08/30 by Steven.Hutton

	Added field for crash processor failed

Change 3105786 on 2016/08/30 by Steve.Robb

	Reintroduced missing operator<< for enum classes.

Change 3105803 on 2016/08/30 by Steve.Robb

	Removal of obsolete code and state.  PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.

Change 3106251 on 2016/08/30 by Steve.Robb

	Switch static analysis node to build editor instead of just the engine.

Change 3107556 on 2016/08/31 by Steven.Hutton

	Added build version data from CRP to DB as part of add crash #rb none

Change 3107557 on 2016/08/31 by Steven.Hutton

	Passed build version data to CRW through crash description #rb none

Change 3107634 on 2016/08/31 by Graeme.Thornton

	Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension

	#jira UE-20147

Change 3107797 on 2016/08/31 by Steve.Robb

	Fix for UHT debugging manifest, after paths changed in CL# 3088416.

Change 3107964 on 2016/08/31 by Steve.Robb

	TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
	New case-sensitive TCString::Strfind added, based on GitHub PR #2453.

Change 3108023 on 2016/08/31 by Steve.Robb

	Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.

Change 3108160 on 2016/08/31 by Steven.Hutton

	Update to add new filter to website front page #rb none

Change 3109556 on 2016/09/01 by Steven.Hutton

	Fixing compile warning #rb none

Change 3110001 on 2016/09/01 by Steve.Robb

	PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)

Change 3111835 on 2016/09/02 by Steve.Robb

	Enforce uint8 on UENUM() enum classes.

	#jira UE-35224

Change 3111867 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 3111880 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Views':  the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
	warning C6386: Buffer overrun while writing to 'ConstantBuffers':  the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.

Change 3111886 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices':  the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.

Change 3112025 on 2016/09/02 by Steve.Robb

	Static analysis fix:

	warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
	warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.

Change 3112051 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.

Change 3112066 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.

Change 3112093 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.

Change 3112110 on 2016/09/02 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.

Change 3112123 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'CurDriver'.
	warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
	warning C6011: Dereferencing NULL pointer 'CurWorld'.

Change 3112157 on 2016/09/02 by Steve.Robb

	Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.

Change 3112283 on 2016/09/02 by Steve.Robb

	Static analysis fixes:

	warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.

Change 3113455 on 2016/09/05 by Chris.Wood

	CRP performance improvements (v1.1.25)

Change 3113468 on 2016/09/05 by Steve.Robb

	Reverting unnecessary merge in CL# 3112464.

Change 3113508 on 2016/09/05 by Steve.Robb

	Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.

Change 3113588 on 2016/09/05 by Steve.Robb

	Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration

Change 3113863 on 2016/09/06 by Steve.Robb

	Fix for this error:

	Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.

Change 3113864 on 2016/09/06 by Steve.Robb

	Misc static analysis fixes for VS2015 Update 2.

Change 3113918 on 2016/09/06 by Ben.Marsh

	Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.

Change 3114293 on 2016/09/06 by Steve.Robb

	Static analysis fixes for Visual Studio Update 2.

Change 3115732 on 2016/09/07 by Steve.Robb

	Static analysis fix: warning C6262: Function uses '121180' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 3115754 on 2016/09/07 by Steve.Robb

	GObjectArrayForDebugVisualizers init order fix.
	Removal of obsolete FName visualizer helper code.

Change 3115774 on 2016/09/07 by Steve.Robb

	Fix for ICE by moving static variables into their own file and removing const return types.

	#jira UE-35597

Change 3116061 on 2016/09/07 by Steve.Robb

	Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.

Change 3117478 on 2016/09/08 by Steve.Robb

	Static analysis fixes in third party code, using a new macro-based system.

Change 3119152 on 2016/09/09 by Steve.Robb

	TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.

Change 3119200 on 2016/09/09 by Steve.Robb

	Fix for destructors not being called in TSparseArray move assignment.

Change 3119568 on 2016/09/09 by Steve.Robb

	Fix for TSparseArray visualizer.

Change 3119591 on 2016/09/09 by Steve.Robb

	New MakeShared function which allocates the object and reference controller in a single block.

Change 3120281 on 2016/09/09 by Steve.Robb

	Fix for ICE on static analysis build.

	#jira UE-35596

Change 3120786 on 2016/09/12 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.

Change 3120787 on 2016/09/12 by Steve.Robb

	Removal of TEnumAsByte on enum classes.

Change 3120789 on 2016/09/12 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE':  the readable size is '28' bytes, but '64' bytes may be read.
	warning C6101: Returning uninitialized memory '*pDescriptorDst'.  A successful path through the function does not set the named _Out_ parameter.

Change 3121234 on 2016/09/12 by Steve.Robb

	Unused ToBuildInfoString function declaration removed.

Change 3122616 on 2016/09/13 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.

Change 3123070 on 2016/09/13 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.

[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
Robert Manuszewski
c286891992 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3012371)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2970419 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.
	warning C6011: Dereferencing NULL pointer '...'.
	warning C6385: Reading invalid data from '...':  the readable size is '...' bytes, but '...' bytes may be read.
	warning C6386: Buffer overrun while writing to '...':  the writable size is '...' bytes, but '...' bytes might be written.

Change 2997665 on 2016/06/02 by Graeme.Thornton

	Fix parameter parsing bug in corrupt tool

Change 2997947 on 2016/06/02 by Steve.Robb

	Fix for return value from FOnlineSessionMcp::UpdateSession.

Change 3000182 on 2016/06/03 by John.Mahoney

	PR #2234: Fix NullReferenceException to connect to coordinator (Contributed by projectgheist)

	#jira UE-29063

Change 3000355 on 2016/06/03 by John.Mahoney

	Fix for crash caused by trying to serialize a package larger than 2 GB to memory while cooking, usually due to unusually large light maps.
	Replaced the TArray-based memory archives used in UPackage::SavePackage with a new FLargeMemoryWriter/Reader that uses a raw memory buffer internally.

	#jira UE-22912

Change 3001673 on 2016/06/06 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'KeyState'

Change 3001963 on 2016/06/06 by John.Mahoney

	Fix for AutomationTool crash when deploying to default PS4 devkit. When a DeviceName is not specified on the command line, the PS4DevKitUtil.exe Detail command will return the details of the default connected device. If the device's filesystem is mapped by name instead of IP, the name should be parsed from the result and used to build the BaseTargetPath.

Change 3001974 on 2016/06/06 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 3003781 on 2016/06/07 by Steve.Robb

	New TWeakObjectPtrMapKeyFuncs to be used for maps containing TWeakObjectPtr keys, without invalidating the map when the pointer becomes stale.
	Fix for UNetConnection::ActorChannels which suffered from this problem.

Change 3003855 on 2016/06/07 by Steve.Robb

	VS debugger visualization of TTuples up to 6 elements.

Change 3003864 on 2016/06/07 by Steve.Robb

	Reapply optimizations to FString::MatchesWildcard reverted in CL# 2992738.

Change 3003944 on 2016/06/07 by Steve.Robb

	Back out changelist 3003864

Change 3004198 on 2016/06/07 by Steve.Robb

	TIsTriviallyDestructible added, needed to move away from amalgamated type traits, which can cause spurious compile errors.
	DestructItem added.

Change 3005586 on 2016/06/08 by Steve.Robb

	jpeg_decoder::stop_decoding made ((no_return)) again, but with an exit() call to ensure that it doesn't cause compile errors in Android builds.

Change 3005633 on 2016/06/08 by Steve.Robb

	Static analysis fixes:

	warning C28216: The checkReturn annotation only applies to postconditions for function 'Func' _Param_(N)

Change 3005839 on 2016/06/08 by Steve.Robb

	Fix for warning C6011: Dereferencing NULL pointer 'RepState'.

Change 3005857 on 2016/06/08 by Steve.Robb

	Fix for warning C28182: Dereferencing NULL pointer. 'CinematicShotSection' contains the same NULL value as 'ShotSection' did.

Change 3005860 on 2016/06/08 by Steve.Robb

	Fix for warning C6011: Dereferencing NULL pointer 'this->Keys[Index]'.

Change 3006175 on 2016/06/08 by Steve.Robb

	Additional information about the class which is failing to reload.

	#jira UE-28599

Change 3006524 on 2016/06/08 by Ben.Marsh

	Fix compile error introduced in CL 3006175

Change 3006815 on 2016/06/08 by Ben.Marsh

	Enable static analysis as part of build process for dev branches.

Change 3007606 on 2016/06/09 by Steve.Robb

	Fixes for 'inconsistent annotation warnings' in SDK code.

Change 3007679 on 2016/06/09 by Steve.Robb

	Fixes for 'inconsistent annotation warnings' in SDK code.

Change 3008125 on 2016/06/09 by John.Mahoney

	Fix for DLC paks mapping file paths relative to the GameDir instead of the RootDir.

	#jira UE-31250

Change 3008763 on 2016/06/10 by Steve.Robb

	New TArray::EmplaceAt function.

Change 3008780 on 2016/06/10 by Steve.Robb

	Non-variadic delegate implementation deleted.

Change 3008820 on 2016/06/10 by Robert.Manuszewski

	Merging UnrealHeaderTool optimizations from a partners branch.

Change 3008850 on 2016/06/10 by Steve.Robb

	Removal of PLATFORM_COMPILER_HAS_VARIADIC_TEMPLATES.

Change 3008905 on 2016/06/10 by Graeme.Thornton

	MemoryProfiler2 - Deselect current bar when clicking off the histogram. Allows user to see the top level group data again

Change 3008933 on 2016/06/10 by Steve.Robb

	Removal of PLATFORM_COMPILER_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS.

Change 3009130 on 2016/06/10 by John.Mahoney

	Fix for crash when pasting T3D data from the clipboard into the content browser. Since the content browser is only expecting a list of object paths, it should avoid trying to process pasted T3D altogether.

	#jira UE-31459

Change 3010712 on 2016/06/13 by Steve.Robb

	Splitting up of TTypeTraits into individual traits to avoid erroneous VC compilation errors.
	Use of TAnd/TOr to short-circuit many compile-time traits checks.
	Renaming of traits classes (except TIsPODType) to closer match the standard.

Change 3010714 on 2016/06/13 by Steve.Robb

	*_Variadics.h delegate headers renamed to just *.h.

Change 3010719 on 2016/06/13 by Steve.Robb

	Redundant suffixes removed from delegate macros.

Change 3010720 on 2016/06/13 by Steve.Robb

	Fix for defaulted functions and other compiler settings.
	Workaround for spurious compiler errors in generated functions which ultimately reference other deleted functions.

	See: https://connect.microsoft.com/VisualStudio/feedback/details/2612308

Change 3010721 on 2016/06/13 by Steve.Robb

	Removal of TTuple::ApplyAfter_ExplicitReturnType in preparation of making TTuple a first class citizen of UE4.
	New MakeTuple and TransformTuple generator functions.
	New Lexicographical::ToString overloads for const CharType* and bool.

Change 3010783 on 2016/06/13 by Steve.Robb

	Fix for TTransformTuple_Impl::Do return type.
	Fix for Clang error.

Change 3010995 on 2016/06/13 by Robert.Manuszewski

	Fixing compile errors when leak detection and verify mallocs are enabled due to changes in their base class.

Change 3012221 on 2016/06/14 by Graeme.Thornton

	Fixes for MemoryAnalyser2 solution
	 - Upgraded to VS 2015
	 - Clean up solution configurations. Only leave "Any CPU"
	 - Switch project to build with "Any CPU" rather than "x64".

Change 3012328 on 2016/06/14 by Steve.Robb

	Make checks assume even in !DO_CHECK builds.  This fixes some SA warnings as well as possibly making those builds more optimal.

Change 3012363 on 2016/06/14 by Steve.Robb

	Static analysis fixes: warning C28251: Inconsistent annotation for 'Func'

Change 3012371 on 2016/06/14 by Steve.Robb

	Static analysis fixes: warning C28251: Inconsistent annotation for 'Type'

#lockdown Nick.Penwarden
#rb none

[CL 3012829 by Robert Manuszewski in Main branch]
2016-06-14 12:28:12 -04:00
Robert Manuszewski
f4fb4b8596 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2975196 on 2016/05/12 by Robert.Manuszewski

	Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading.

	- This way we can avoid very long GC times after new blueprints have been loaded.
	- Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes)

Change 2993960 on 2016/05/30 by Robert.Manuszewski

	Fixing leaked linkers created by blocking load requests during async loading.

Change 2959398 on 2016/04/28 by Steve.Robb

	TMap references are strong and cannot be nulled by pending kill.  This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled.

	#jira UE-20828

Change 2960723 on 2016/04/29 by Graeme.Thornton

	Fix for texture asset import data being ignored when async loaded

Change 2960938 on 2016/04/29 by Robert.Manuszewski

	Nulling out sql db handle after closing it.

Change 2967127 on 2016/05/05 by Steve.Robb

	Move constructors explicitly disabled in generated code.

Change 2967143 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2967164 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer

Change 2968650 on 2016/05/06 by Steve.Robb

	Fix for HotReload copying module manager.

Change 2968915 on 2016/05/06 by Robert.Manuszewski

	Fixing spelling of SetImageIntegrityStatus function name.

Change 2970406 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	Function uses '...' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 2970419 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.
	warning C6011: Dereferencing NULL pointer '...'.
	warning C6385: Reading invalid data from '...':  the readable size is '...' bytes, but '...' bytes may be read.
	warning C6386: Buffer overrun while writing to '...':  the writable size is '...' bytes, but '...' bytes might be written.

Change 2970431 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results.

Change 2972032 on 2016/05/10 by Steven.Hutton

	Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries.

Change 2972085 on 2016/05/10 by Steve.Robb

	Const-correctness fix for FLogCategoryBase::IsSuppressed.

Change 2972087 on 2016/05/10 by Steve.Robb

	ELogVerbosity moved into its own header.

Change 2972090 on 2016/05/10 by Steve.Robb

	Redundant ensure removed.

Change 2972103 on 2016/05/10 by Steve.Robb

	Removal of redundant use of USING_CODE_ANALYSIS.

Change 2972139 on 2016/05/10 by Steve.Robb

	Fix for ensure macros throwing C6326 warnings during static analysis.

Change 2972147 on 2016/05/10 by Steve.Robb

	Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis.

Change 2972162 on 2016/05/10 by Steve.Robb

	SCOPE_CYCLE_COUNTER_GUARD removed.

Change 2972168 on 2016/05/10 by Steve.Robb

	Compile error fix for logOrEnsureNanError in static analysis builds.

Change 2973084 on 2016/05/10 by Chris.Wood

	Crash Report Server performance tweak

Change 2974030 on 2016/05/11 by Steve.Robb

	Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*.

Change 2974053 on 2016/05/11 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2974191 on 2016/05/11 by Steve.Robb

	Fix for template instantiation error in VS2013.

Change 2975298 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2975318 on 2016/05/12 by Steve.Robb

	Fix for hot reload info being reported as warnings.

	#jira UE-30586

Change 2975447 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant.  Did you intend to use the bitwise-and operator?
	warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant.  <expression> is never evaluated and might have side effects.
	warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
	warning C6316: Incorrect operator:  tested expression is constant and non-zero.  Use bitwise-and to determine whether bits are set.

Change 2975478 on 2016/05/12 by Steve.Robb

	Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings.

Change 2975538 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'StaticResource'

Change 2976640 on 2016/05/13 by Robert.Manuszewski

	Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked.

	#jira UE-30675

Change 2978320 on 2016/05/16 by Steve.Robb

	Fix for static analysis warnings in XNA headers.

Change 2978329 on 2016/05/16 by Steve.Robb

	Static analysis fixes:

	warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results:  Parentheses can be used to disambiguate certain usages.

Change 2980222 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2980458 on 2016/05/17 by Chris.Wood

	Attempt to fix crash report submission problems from CRP to CR website
	[UE-30257] - Crashreports are sometimes missing file attachments

	Passing crash GUID so that website can easily check for duplicates in future
	Increased request timeout for AddCrash to be longer than website database timeout
	Logging retries for future visibility
	CRP v.1.1.6

Change 2980639 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2981750 on 2016/05/18 by Steve.Robb

	check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly.

Change 2982106 on 2016/05/18 by John.Mahoney

	Fixed a crash caused by loading two stat capture files simultaneously in the profiler.
	If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load.
	Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId.
	This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading.
	Cleaned up some weak pointer usage in the profiler window.

	#jira UE-30741

Change 2983366 on 2016/05/19 by Steven.Hutton

	Changes for passing crash type directly from CRP to CRW.

Change 2983394 on 2016/05/19 by Steven.Hutton

	Minor changes to add crash with more error reporting

Change 2984685 on 2016/05/20 by Robert.Manuszewski

	Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core)

Change 2985143 on 2016/05/20 by Steve.Robb

	Missing semi-colons.

Change 2986463 on 2016/05/23 by Steve.Robb

	CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs.

Change 2986475 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986476 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986480 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant

Change 2986515 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func'

Change 2986680 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Ptr':  the writable size is 'X' bytes, but 'Y' bytes might be written.
	warning C6387: 'Ptr' could be '0':  this does not adhere to the specification for the function 'Func'
	warning C6031: Return value ignored: 'snprintf'.
	warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'.

Change 2986865 on 2016/05/23 by Robert.Manuszewski

	Removing redundand AddReferencedObjects functions

Change 2987968 on 2016/05/24 by Robert.Manuszewski

	Removing redundant UPROPERTY macros from intrinsic classes.

Change 2987979 on 2016/05/24 by Steve.Robb

	Optimization of some FString and FPaths operations to produce fewer temporaries.

Change 2988297 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2988430 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'var':  the readable size is 'X' bytes, but 'Y' bytes may be read.

Change 2988461 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.

Change 2988464 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses 'X' bytes of stack:  exceeds /analyze:stacksize 'Y'.  Consider moving some data to heap.

Change 2988494 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 2989411 on 2016/05/25 by Robert.Manuszewski

	Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds.

Change 2989429 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6387: '_Param_(X)' could be '0':  this does not adhere to the specification for the function 'Func'.

Change 2989982 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'LODPlanesMin'.

Change 2990018 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'X'

Change 2990077 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2990114 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 2990125 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.

Change 2990162 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.

Change 2990193 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did.
	warning C6011: Dereferencing NULL pointer 'Semantic'.

Change 2991006 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28113: Accessing a local variable dummy via an Interlocked function:  This is an unusual usage which could be reconsidered.

Change 2991012 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'.

Change 2991013 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2991016 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2991017 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2991019 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6292: Ill-defined for-loop:  counts up from maximum.

Change 2991023 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6322: Empty _except block.
	warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations.

Change 2991070 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did.

Change 2991416 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992738 on 2016/05/27 by Steve.Robb

	Revert changes to FString::MatchesWildcard.

Change 2992916 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992960 on 2016/05/27 by Chris.Wood

	Optimized P4 access in Crash Report Process and MinidumpDiagostics.

Change 2992964 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2993956 on 2016/05/30 by Robert.Manuszewski

	Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload.

	#jira UE-31309

Change 2993977 on 2016/05/30 by Robert.Manuszewski

	Don't wait for all packages to finish loading before PostLoading those which already have.

Change 2994206 on 2016/05/31 by Robert.Manuszewski

	PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium)

#lockdown Nick.Penwarden

[CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
Josh Adams
877a542dd6 Copying //UE4/Dev-Platform to //UE4/Main (Source: //UE4/Dev-Platform @ 2970079)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2945365 on 2016/04/15 by Mark.Satterthwaite

	Assert if anyone calls RHIClearUAV on a structured-buffer or texture under Metal - there's no clear way to implement these cases yet.

Change 2945366 on 2016/04/15 by Mark.Satterthwaite

	Change the Metal parallel command-context submission to hand-off the entire NSArray of MTLCommandBuffers to avoid race conditions between one use of a context and the next.

Change 2945394 on 2016/04/15 by Mark.Satterthwaite

	Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring.

Change 2945444 on 2016/04/15 by Mark.Satterthwaite

	Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.

Change 2945457 on 2016/04/15 by Mark.Satterthwaite

	Add validation code to MetalRHI to ensure that we don't erroneously re-clear existing render contents when restoring the render command encoder. This will only be active when the Metal debug layer is enabled and is completely compiled away in Test & Shipping builds for performance.

Change 2946249 on 2016/04/16 by Nick.Shin

	build HarfBuzz for HTML5

	#jira UE-28552 - HarfBuzz - HTML5

Change 2946250 on 2016/04/16 by Nick.Shin

	Rename/move file(s)

	move emscripten (part 1 of 2)
	from Engine/Source/ThirdParty/HTML5/emsdk
	to Engine/Extras/ThirdPartyNotUE/emsdk

	this is a request from legal

Change 2946251 on 2016/04/16 by Nick.Shin

	move emscripten (part 2 of 2)
	build scripts and cpp files updated with new emscripten path

	from Engine/Source/ThirdParty/HTML5/emsdk
	to Engine/Extras/ThirdPartyNotUE/emsdk

	this is a request from legal

Change 2946516 on 2016/04/18 by Mark.Satterthwaite

	Disable r.DFShadowScatterTileCulling  as well as r.AOScatterTileCulling  on Mac because we don't have the necessary RW textures on Metal.

Change 2947000 on 2016/04/18 by Michael.Trepka

	Print OS X version to log in FMacPlatformMisc::PlatformInit()

Change 2948197 on 2016/04/19 by Lee.Clark

	PS4 - Use SDK 3.508.031

Change 2948301 on 2016/04/19 by Nick.Shin

	upgrading zlib openssl libcurl libwebsockets

	part 1 of 2 -- adding new compiled versions (part 2 will be removing the old version -- which will be done after platform owners are given a chance to recompile for their platform - most notably: zlib)

	NOTE: Linux libraries are built for CentOS 6.7 (i.e. 2010 - glibc 2.12 and gcc 4.4.7)

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1223  -  Arrange testing for 'update websocket library'
	#jira UEPLAT-1203  -  Add Linux library for libwebsockets
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948319 on 2016/04/19 by Nick.Shin

	update zlib to v1.2.8

	part 1 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library

Change 2948320 on 2016/04/19 by Nick.Shin

	update OpenSSL to v1.0.1s

	part 2 of 4 - doing this in stages for tracking purposes

	also, removing dynamic libs (for windows) -- these are no longer needed as this is now statically linked in editor
	- tested by installing perforce server setup with ssl access only and pointing editor source code to it as ssl:hostname:port
	- also tested trying accessing it without ssl which resulted in access denied indicating a successful test of dynamic lib removal

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948322 on 2016/04/19 by Nick.Shin

	update libwebsockets to v1.7.4

	part 4 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948323 on 2016/04/19 by Nick.Shin

	build scripts

	pull source and compile - zlib openssl libcurl & libwebsockets

	tested on:
	- Win64 VS2013 & VS2015
	- OSX
	- Linux

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1203  -  Add Linux library for libwebsockets
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2948337 on 2016/04/19 by Lee.Clark

	VS 2015 libScePad support

Change 2948382 on 2016/04/19 by Mark.Satterthwaite

	Add Mac model, CPU string, num HTs to the log on Mac so that errors reported to us contain the data that Apple want when we turn them into bug-reports. Also added a missing sigaction from the trampoline.

Change 2948385 on 2016/04/19 by Mark.Satterthwaite

	Disambiguate Metal command-buffer failures by vendor & error type so that we don't end up with just one crash-reporting entry for many different kinds of crash and enable this assertion on all builds because it will always be fatal and failing to crash here may end up causing the Mac to reboot.

Change 2948460 on 2016/04/19 by Peter.Sauerbrei

	fix for wrong line endings

Change 2948526 on 2016/04/19 by Nick.Shin

	fix for wrong line endings

Change 2949334 on 2016/04/20 by Nick.Shin

	fix library path

	for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...

Change 2949398 on 2016/04/20 by Lee.Clark

	PS4 - Fix SDK compile warnings

Change 2949656 on 2016/04/20 by Nick.Shin

	Back out changelist 2948320

	but keeping the C# build file as-is

Change 2949676 on 2016/04/20 by Mark.Satterthwaite

	Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal.
	#jira UE-29140

Change 2950025 on 2016/04/20 by Mark.Satterthwaite

	Undo CL #2949676 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006.
	#jira UE-29006

Change 2950084 on 2016/04/20 by Nick.Shin

	OSX warning fix:

	UE4 supports down to OSX 10.9 rebuilt the zlib openssl libcurl and libwebsockets to support that

	build file also updated to use MACOSX_DEVELOPMENT_TARGET=10.9

Change 2950613 on 2016/04/20 by Dmitry.Rekman

	UAT: Disable modules that are not supported on Linux.

	#rb none
	#codereview Ben.Marsh, Michael.Trepka, Josh.Adams
	#tests Run RunUAT.sh

Change 2951065 on 2016/04/21 by Nick.Shin

	temp: update SSL dlls in Engine/Binaries/ThirdParty/OpenSSL/Win64

Change 2951556 on 2016/04/21 by Nick.Shin

	static libs double checked

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2951559 on 2016/04/21 by Nick.Shin

	static libs double checked

	forgot these files - they were in another changelist

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2951574 on 2016/04/21 by Nick.Shin

	remove unused variable warning

	was bughunt code...

Change 2951652 on 2016/04/21 by Josh.Adams

	- Disabled MRT support on iPad Air 1 devices, since it doesn't support wide enough MRTs that the engine needs (ie, only use MRTs in METAL_MRT mode on iOS)

Change 2951656 on 2016/04/21 by Josh.Adams

	- Fixed Mac compile error in Metal

Change 2951718 on 2016/04/21 by Nick.Shin

	remove shared SSL DLLs in a controlled manner

	tested with QA help who was able to replicate the bug in the morning - and was able to successfully run the editor with this changelist (shelved - remote unshelved test - thanks Dan.Bullard_volt!)

	#jira UE-29674 - Editor fails to open in Dev-Platform

Change 2951862 on 2016/04/21 by Lee.Clark

	PS4 - Enable Neo high resolution support.

Change 2952409 on 2016/04/22 by Nick.Shin

	add win32 build targets for zlib openssl libcurl libwebsockets

	part 1 of 2: these are the libs and header files

Change 2952411 on 2016/04/22 by Nick.Shin

	add win32 build targets for zlib openssl libcurl libwebsockets

	part 1 of 2: these are the C# build scripts

Change 2952580 on 2016/04/22 by Lee.Clark

	PS4 - Fix staging and deploying of system prxs

Change 2953152 on 2016/04/22 by Mark.Satterthwaite

	Only cache instances of TShadowDepthVS  with bIsForGeometryShader=true when the RHI can handle the underlying feature. We can save memory on iOS by only emitting these shaders on Mac Metal or RHI's with Geometry shaders which have the required H/W to do this.

Change 2953385 on 2016/04/22 by Nick.Shin

	use HarfBuzz libs for HTML5

	c# build files updated to link in the harfbuzz libs

	#jira UE-28552 - HarfBuzz - HTML5

Change 2954686 on 2016/04/25 by Nick.Shin

	from legal:

	Emscripten approved for redistribution provided that *all* files are checked into the following directory: Engine/Extras/ThirdPartyNotUE

	Please also check in the attached .tps files and licenses alongside the TPS itself. This will allow us to track third party files within P4.

Change 2954928 on 2016/04/25 by Daniel.Lamb

	Fixed min number of threads allocated for compiling shaders in cooker.

Change 2954942 on 2016/04/25 by Daniel.Lamb

	Added flag -skipcompile for running visual studio.
	Skip force compilation on -multiprocess flag.
	#jira UE-22308
	#PR 1678
	#1678

Change 2954948 on 2016/04/25 by Josh.Adams

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

Change 2955370 on 2016/04/25 by Josh.Adams

	- Fixing C# error from main
	#lockdown nick.penwarden

Change 2957745 on 2016/04/27 by Daniel.Lamb

	Pull request from acordon@microsoft.com.

	Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.

Change 2957747 on 2016/04/27 by Daniel.Lamb

	Pull request from acordon@microsoft.com.

	Resave packages commandlet now can also rebuild asset registry paths with consistent case.

Change 2957750 on 2016/04/27 by Daniel.Lamb

	Pull request from acordon@microsoft.com.

	Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.

Change 2958708 on 2016/04/28 by Nick.Shin

	remove boringSSL

	#jira UE-29970 - QAGame launch on fails for Win64, fatal error LNK1169: one or more multiply defined symbols found
	#lockdown josh.adams

Change 2958724 on 2016/04/28 by Nick.Shin

	moved setting bVerifyPeer flag AFTER CertBundlePath has been set...

	otherwise, libCurl is going to try to verify the SSL session - but without a cert file, it makes no sense to try and verify the session

	- we could (and probably should) make this an error condition - but the constructor has the bVerifyPeer set to true -- which would mean that all games will need to have a cert file and/or know to set bVerifyPeer to false...

	- and so far, only linux and android seem to have code in place to make use of the cert files...

	#jira UE-29950 - Orion deticated server MCP authentication fails when using CURL
	#lockdown josh.adams

Change 2959058 on 2016/04/28 by Mark.Satterthwaite

	Mac Metal RHIGetSupportedResolution & RHIGetAvailableResolutions exactly as they were for Mac OpenGL.

Change 2959587 on 2016/04/28 by Jeff.Campeau

	Use response files for compiling CPPs using the VC toolchain to avoid issues where the command line is too long for XGE

Change 2959605 on 2016/04/28 by Jeff.Campeau

	Reuse existing response files if contents are unmodified.
	#2278

Change 2959680 on 2016/04/28 by Daniel.Lamb

	Don't cook clients when building only server configs.
	#pr 2127
	#2127

Change 2959764 on 2016/04/28 by Nick.Shin

	set PS4 back to using boringSSL - until OpenSSL has been built for it

	#jira UE-30088 - Orion PS4 Cook and Deploy fails to build for PS4

Change 2959875 on 2016/04/28 by Jeff.Campeau

	Simplified compression to use a bitwindow param instead of a targetplatform param
	Added bitwindow parameter for unrealpak
	Set Xbox One to pass 12 bit window for paks (for hw decompress)

Change 2959960 on 2016/04/28 by Nick.Shin

	removed url protocol scheme from external script loads - this will support fetching scripts with either http or https automatically

	and added window.focus after game has finished compiling - this will help if game is inside an iframe

	#jira UE-29886 - HTML5 project does not load using itch.io

Change 2960064 on 2016/04/28 by Dmitry.Rekman

	XMPP: Add missing dependency on OpenSSL on Linux.

Change 2961310 on 2016/04/29 by Mark.Satterthwaite

	DistanceField tile alignment changes to attempt to make it work on Mac.

Change 2961602 on 2016/04/29 by Nick.Shin

	#ifndef'd EMSCRIPTEN around FOpenGL::Flush();

	answerhub 409649 - HTML5 OpenGL backend doesn't need to flush GL commands

Change 2961604 on 2016/04/29 by Nick.Shin

	return "()" on empty object

	answerhub 390139 - JSON Conversion of TMaps of UStructs Can't Deserialize

Change 2963068 on 2016/05/02 by Peter.Sauerbrei

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

Change 2963302 on 2016/05/02 by Peter.Sauerbrei

	fix for PS4 build failure

Change 2963731 on 2016/05/02 by Dmitry.Rekman

	Linux: move crash/ensure info from Binaries to Saved (UE-28411).

	- Allows running from read/only locations, since Saved can be redirected.

	#rb none
	#codereview Chris.Wood, David.Vossel

Change 2963737 on 2016/05/02 by Dmitry.Rekman

	CrashMalloc: get allocation size also from jemalloc.

	- Editor builds on Linux are otherwise shutting down on attempting to realloc things ("binned" is not used for the editor).

	#rb none
	#codereview Chris.Wood, Robert.Manuszewski, Steve.Robb

Change 2963989 on 2016/05/03 by Lee.Clark

	PS4 - Fix texture initialization

Change 2964296 on 2016/05/03 by Dmitry.Rekman

	Better fix for getting previous allocation size.

	- Suggested by GilG.

	#codereview Gil.Gribb

Change 2964398 on 2016/05/03 by Mark.Satterthwaite

	Added GetCompressionBitWindow to IPlatformCompression so that FArchive compression can acquire the platform specific window value at runtime even without the Developer-only TargetPlatform modules. This allows the ShaderCache to perform runtime compression of preloaded shaders in-game without crashing.
	#jira UE-30238

Change 2965966 on 2016/05/04 by Peter.Sauerbrei

	fix for bad path when deploying from mac
	#jira UE-30294
	#lockdown josh.adams

Change 2968380 on 2016/05/05 by Dmitry.Rekman

	Fix visibility placement which breaks Linux build.

	#lockdown Josh.Adams
	#codereview James.Golding

Change 2969002 on 2016/05/06 by Nick.Shin

	use boringssl until webrtc recompiled with openssl work is finished

	#jira UE-30298 - Fortnite and Orion crash on login
	#lockdown josh.adams

Change 2969545 on 2016/05/06 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
	#lockdown nick.penwarden

Change 2969923 on 2016/05/06 by Chris.Babcock

	Fix linker warning (mismatched function/variable for glMapBufferOES and glUnmapBufferOES)
	#jira UE-30222
	#ue4
	#android
	#lockdown Josh.Adams

Change 2970016 on 2016/05/07 by Nick.Shin

	undo all of the following upgrades:
	- zlib
	- openssl
	- libcurl
	- libwebsockets

	and reset webrtc

	#jira UE-30298 - Fortnite and Orion crash on login
	#lockdown josh.adams

#lockdown nick.penwarden

[CL 2970080 by Josh Adams in Main branch]
2016-05-07 12:42:47 -04:00
Max Chen
41e5062f30 Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2837601 on 2016/01/20 by Thomas.Sarkanen

	Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu

Change 2840895 on 2016/01/23 by Thomas.Sarkanen

	Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu.

Change 2901092 on 2016/03/09 by Thomas.Sarkanen

	Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor

	Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non-
preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation.
	Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances
have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point.

	#jira UE-27898
	#jira UE-27899

Change 2901159 on 2016/03/09 by Chris.Bunner

	Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames).

Change 2903123 on 2016/03/10 by Max.Chen

	Sequencer: Add snapping for the in/out range.

Change 2903126 on 2016/03/10 by Max.Chen

	Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set.

Change 2903132 on 2016/03/10 by Max.Chen

	Sequencer: Create camera here and set it as the current camera cut.

Change 2903138 on 2016/03/10 by Max.Chen

	Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while
dragging from content browser to add as a possessable.

Change 2903143 on 2016/03/10 by Max.Chen

	Sequencer: Add 4k to movie capture dialog.

	#jira UE-28147

Change 2903157 on 2016/03/10 by Max.Chen

	Sequencer: Pop out of locked camera when popping out of the sequence.

	#jira UE-27662

Change 2908097 on 2016/03/14 by Andrew.Rodham

	Sequencer: Added default viewport type onto the viewport types menu
	  - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing.
	  - Switching back to the default viewport type can be achieved with SHIFT+D

Change 2911869 on 2016/03/16 by Max.Preussner

	Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module

Change 2917943 on 2016/03/22 by Thomas.Sarkanen

	Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu

	This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player.

Change 2917946 on 2016/03/22 by Max.Chen

	Sequencer: Automatically add and attach a cine camera when dropping a crane or rail.

Change 2917954 on 2016/03/22 by Thomas.Sarkanen

	Fix anim dynamics going crazy on time skips

	Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics.
	This allows nodes that subscribe to this interface to be reset on teleport/time skips.
	Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer.

Change 2917961 on 2016/03/22 by Frank.Fella

	Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing
particle parameter track.

Change 2917984 on 2016/03/22 by Max.Chen

	Sequencer: Fix crash on deleting object binding nodes multiple times.

Change 2917986 on 2016/03/22 by Max.Chen

	Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case.

Change 2917994 on 2016/03/22 by Jeff.Farris

	Support for scene depth picker. Used for focus depth sampling in cine cams.

Change 2918003 on 2016/03/22 by Max.Chen

	Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path.

Change 2920371 on 2016/03/23 by Max.Preussner

	UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing

	UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call
FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead.

Change 2923359 on 2016/03/25 by Max.Preussner

	UnrealEd: Refactored out StaticImportObject code into ImportObject

Change 2924887 on 2016/03/28 by Jeff.Farris

	Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim

Change 2927283 on 2016/03/30 by Max.Chen

	Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio.

	#jira UE-28836, UE-28859

Change 2928290 on 2016/03/30 by Max.Preussner

	ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s)

Change 2928480 on 2016/03/30 by Max.Preussner

	AssetTools: Added built-in type category for Media assets

Change 2928498 on 2016/03/30 by Max.Preussner

	AssetTools: Sorting asset type categories alphabetically

Change 2932326 on 2016/04/04 by Frank.Fella

	Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer.

Change 2933917 on 2016/04/05 by Max.Preussner

	Core: Added microseconds support to FTimespan

Change 2933920 on 2016/04/05 by Max.Preussner

	Sockets: Simplified socket timeout assignments

Change 2935434 on 2016/04/06 by Max.Chen

	Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug
where the transform gizmo remains after adding a spawnable.

	Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree.

	#jira UE-28215

Change 2935590 on 2016/04/06 by Jeff.Farris

	Made crane rig preview mesh at the tip move as expected and appear in a reasonable place.

Change 2936082 on 2016/04/07 by Max.Chen

	Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the
proper component.

Change 2936118 on 2016/04/07 by Max.Chen

	Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine
camera spawnable.

	#jira UE-28308

Change 2937226 on 2016/04/07 by Max.Chen

	Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level
sequence operates on, it correctly updates the actors from the new sub level.

	#jira UE-27595

Change 2937263 on 2016/04/07 by Frank.Fella

	Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto
in sequencer.

Change 2937273 on 2016/04/07 by Max.Chen

	Sequencer: No longer experimental/betal and now enabled by default.

	#jira UETOOl-625

Change 2937694 on 2016/04/08 by Max.Chen

	Curve Editor: Separate out input and output snapping.

	#jira UE-27209

Change 2937852 on 2016/04/08 by Andrew.Rodham

	Sequencer: Spawnables no longer use generated classes

	  - Spawnables now store a template actor instance, rather than a generated class
	  - All relevant code has been converted to use this new approach
	  - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for
spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist.
	    - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed.
	  - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash.
	  - Spawning optimisations to follow

Change 2937956 on 2016/04/08 by Max.Preussner

	Sequencer: Added selection range commands to general toolbar menu

Change 2937981 on 2016/04/08 by Max.Preussner

	Sequencer: Refactored GetKeyHandles to take a time range for filtering keys

Change 2938007 on 2016/04/08 by Max.Preussner

	Sequencer: Implemented selection range key selection

Change 2938184 on 2016/04/08 by Max.Chen

	Sequencer: Find in Content Browser is now in the top level menubar.

	#jira UE-21598

Change 2938665 on 2016/04/08 by Frank.Fella

	UMG - Add support for material animation.

Change 2939048 on 2016/04/10 by Max.Chen

	CineCamera: Change current position on rail to normalize position.

Change 2939067 on 2016/04/10 by Max.Chen

	Sequencer: Add paste color from matinee

Change 2939587 on 2016/04/11 by Andrew.Rodham

	Sequencer: Fixes to spawnable rework
	  - Removed commented out code.
	  - Fixed particle system components not disabling auto activate.
	  - Instance Components are now correctly registered on spawn.
	  - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside
of the currently focused sequence.

Change 2939666 on 2016/04/11 by Andrew.Rodham

	Sequencer: Fixed active sequence ID not being set on creation

Change 2940663 on 2016/04/12 by Andrew.Rodham

	Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag

	#jira UE-29337, UE-29339

Change 2940742 on 2016/04/12 by Thomas.Sarkanen

	Improvements to sequence recording API

	Sequence recording is now more extensible.
	Moved the majority of recorders into a seperate module.
	Cleaned up recorder API, removed bRecord that was only really used once.
	Added factory class as a modular feature that allows users to register and implement their own recorders.
	Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated.
	Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded.

	#jira UE-28850 - Update sequence recording API for better extensibility

Change 2940828 on 2016/04/12 by Max.Chen

	Level Editor: Clear the camera preview if the level viewport is locked to the same camera.

	#jira UE-27489

Change 2941090 on 2016/04/12 by Frank.Fella

	Sequencer - Fix inconsistencies with the level visibility track.
	+ Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene.
	+ Reset level visibility state when the section ends, or when it's parent subsection ends.

Change 2941427 on 2016/04/12 by Andrew.Rodham

	Sequencer: Fixes for recorded dynamic components
	  - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached
	  - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords
recording externally managed components from a component pool.
	  - Section recorders for components that are no longer attached to the actor are now disabled correctly.

Change 2941760 on 2016/04/12 by Max.Preussner

	Editor: Setting up correct material expresions when creating material from normal map texture

Change 2941819 on 2016/04/13 by Max.Chen

	Sequencer: Fire named events in all sublevels.

	#jira UE-28843

Change 2942052 on 2016/04/13 by Andrew.Rodham

	Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned

	#jira UE-24287

Change 2942223 on 2016/04/13 by Max.Preussner

	Editor: Using built-in function to assign sampler format

Change 2942833 on 2016/04/13 by Max.Chen

	Sequencer: More copy matinee helpers.

	- Make some sections infinite.
	- Fix FindPossessableObjectId
	- Expose FindGroupByName

Change 2942944 on 2016/04/13 by Max.Chen

	Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position.

Change 2943313 on 2016/04/14 by Max.Chen

	Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence"

	Current supports:
	 - movement tracks
	 - generic property tracks
	 - particle tracks
	 - anim control tracks
	 - event tracks
	 - audio tracks
	 - visibility track
	 - director track (fade, slomo, camera cuts)

	Possible todos:
	- Relative scale3D
	- Option to create spawnables instead of possessables
	- Create shots per director track camera cut instead of a direct translation to the camera cut track

	#jira UETOOL-467

Change 2943596 on 2016/04/14 by Andrew.Rodham

	Editor: Fixed placement mode scrollbar visibility not working for custom content

	#jira UE-27191

Change 2943651 on 2016/04/14 by Max.Chen

	Sequencer: Invalidate the audio waveform when the source changes.

	#jira UE-29394

Change 2943674 on 2016/04/14 by Max.Chen

	Sequencer: Store/restore playback state when rebuilding.

	#jira UE-29452

Change 2943993 on 2016/04/14 by Max.Chen

	Sequencer: Convert slot name from matinee to level sequence.

Change 2944156 on 2016/04/14 by Frank.Fella

	Sequencer - Fix undo when moving items into folders, and when deleting folder.

	#jira UE-27368

Change 2944227 on 2016/04/14 by Max.Chen

	Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and
Location.Z

Change 2945057 on 2016/04/15 by Andrew.Rodham

	Editor: Fixed placement mode scrollbar visibility not working for custom content

	#jira UE-27191

#lockdown nick.penwarden

[CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
Marc Audy
b8d61c189f Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2944217
#lockdown Nick.Penwarden

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

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

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

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

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

	UE-27975

	#rb john.abercrombie

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

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

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

	Content for testing collision on scaled components

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

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

	(UE-27815)

	#rb marc.audy

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

	Fix constraint rendering when scaling a cosntraint actor

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

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

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

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

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

	#rb Michael.Noland

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

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

	#JIRA UE-28747
	#rb Michael.Noland

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

	Fixed Blueprint compiler errors when resetting timer handles

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

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

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

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

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

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

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

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

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

	#rb James.Golding

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

	Make sub-stepping run on game thread

	#JIRA UE-24011
	#rb Gil.Gribb

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

	Warning message when HLOD mesh > 65536 vertices

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

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

	Fixed potential PlayerState leak (UE-22700)

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

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

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

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

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

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

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

[CL 2944273 by Marc Audy in Main branch]
2016-04-14 16:25:11 -04:00
Matthew Griffin
755f725131 Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2835191 on 2016/01/19 by Nick.Whiting

	Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads

	#jira UE-22705

Change 2835686 on 2016/01/20 by Gareth.Martin

	Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
	#jira UE-18187

Change 2835767 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.

Change 2835772 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.

Change 2835811 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
	#jira UE-25704 Adjusted Matinee to happen at Box Location
	#jira UE-25688 Adjusted Player Starts
	#jira UE-25693 Adjusted Player Starts

Change 2835863 on 2016/01/20 by Gareth.Martin

	Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
	#jira UE-24883

Change 2835889 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue

Change 2835995 on 2016/01/20 by Jamie.Dale

	The output log now hard-wraps lines to prevent long lines causing performance issues

	#jira UE-24187

Change 2836052 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
	#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge

Change 2836137 on 2016/01/20 by Chad.Taylor

	Vehicle and VehicleAdv template content fixes for new VR camera

	#jira UE-25507

Change 2836166 on 2016/01/20 by Gareth.Martin

	Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
	#jira UE-25093

Change 2836174 on 2016/01/20 by Chad.Taylor

	IHeadMountedDisplay crash fix associated with accessing a dangling pointer.

	#jira UE-25272

Change 2836179 on 2016/01/20 by Jamie.Dale

	Optimized FShapedGlyphSequence reverse look-up

	There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping

	#jira UE-24187

Change 2836286 on 2016/01/20 by Chris.Babcock

	Update Qualcomm TextureConverter for OSX
	#jira UE-22092
	#ue4
	#android

Change 2836328 on 2016/01/20 by Nick.Darnell

	Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted.  Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.

	#jira UE-25752

Change 2836342 on 2016/01/20 by Nick.Darnell

	Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline.  Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.

	#jira UE-25753

Change 2836358 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25710 Replaced Deprecated Nodes

Change 2836510 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface

Change 2836564 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25716 Added bool to store last Moved Direction

Change 2836697 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac

Change 2836725 on 2016/01/20 by Peter.Sauerbrei

	workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
	#jira UE-25123

Change 2836782 on 2016/01/20 by Jamie.Dale

	Added FTextLayout::AddLines

	This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.

	AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.

	#jira UE-24187

Change 2836801 on 2016/01/20 by Jeff.Campeau

[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00