Commit Graph

15 Commits

Author SHA1 Message Date
Ben Marsh
7c77078af1 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3345728)
#lockdown Nick.Penwarden

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

Change 3315219 on 2017/02/21 by Steve.Robb

	Fix for FObjectAndNameAsStringProxyArchive when serializing a TWeakObjectPtr.

Change 3315285 on 2017/02/21 by Steve.Robb

	Explicitly pass string builder into code generation functions.

Change 3315341 on 2017/02/21 by Ben.Marsh

	UAT: Clean up some formatting in StreamCopyDescription output - remove #fyi lines, exclude merge commits, and remove some blank lines.

Change 3315350 on 2017/02/21 by Ben.Marsh

	Fix shared resource files not being rebuilt if the version header changes.

Change 3315823 on 2017/02/21 by Ben.Marsh

	UAT: Use a class derived from AutomationException to return information specific to commandlets failing, rather than putting it in the base class.

Change 3315826 on 2017/02/21 by Ben.Marsh

	UAT: Move Distiller class from general use in UAT; FileFilter provides a much safer and fully featured implementation of the same concepts.

Change 3315857 on 2017/02/21 by Ben.Marsh

	UBT: Remove the StripBaseDirectory() and MakeRerootedFilePath() utility functions from UBT. These operations can now be done more safely with FileReference objects.

Change 3315942 on 2017/02/21 by Ben.Marsh

	UBT: Convert FileFilter to use FileReference and DirectoryReference arguments everywhere.

Change 3316236 on 2017/02/22 by Maciej.Mroz

	#jira UE-42045

	Nativization
	Fixed Warning: TEnumAsByte is not intended for use with enum

Change 3316253 on 2017/02/22 by Robert.Manuszewski

	Fixes for the async log file writer hangs and crashes.

	- potential fix for the logging system hang when running out of disk space while flushing log
	- fix for unexpected concurrency assert when flushing the log buffer to disk

Change 3316293 on 2017/02/22 by Steve.Robb

	GetTypeHash and lexicographical comparison operators (operator<() etc.) for TTuple.

Change 3316342 on 2017/02/22 by Maciej.Mroz

	Nativization: Wrappers (stubs) required only by other wrappers are properly generated.

	#codereview: Mike.Beach

Change 3316344 on 2017/02/22 by Maciej.Mroz

	Fixed crash in nativized Odin
	Async loading properly handles nativized structs.

Change 3316359 on 2017/02/22 by Steve.Robb

	GitHub #3287 : Ignore #pragma in USTRUCTs

	#jira UE-42248

Change 3316389 on 2017/02/22 by Matthew.Griffin

	Switched Installed Engine Filters to multiline properties to make them more readable
	Added Oodle to list of excluded plugins
	#jira UE-42030

Change 3316392 on 2017/02/22 by Ben.Marsh

	UBT: Split out FileReference/DirectoryReference classes into their own file.

Change 3316394 on 2017/02/22 by Ben.Marsh

	UBT: Move FileReference/DirectoryReference extension methods into the appropriate file.

Change 3316411 on 2017/02/22 by Ben.Marsh

	UAT: Remove file functions that take multiple arguments. There's not really a compelling use case for these to exist over looping from the calling code.

Change 3316446 on 2017/02/22 by Ben.Marsh

	UAT: Try disabling function name prefix to log output from UAT, to see if it improves readability. Function names are still included in the log file for debugging.

Change 3316575 on 2017/02/22 by Ben.Marsh

	UAT: Remove unused functionality for dealing with labels, and output a more human readable list of P4 settings at startup.

Change 3318481 on 2017/02/22 by Steve.Robb

	Use of FMath::IsPowerOfTwo in check.
	Static assert to ensure that an inline set allocator will have a hash size of a power of two.

Change 3318496 on 2017/02/22 by Steve.Robb

	Fix for TSet visualizers.

Change 3318919 on 2017/02/23 by Steve.Robb

	Fix for hot reloading UScriptStruct-derived objects in a module, where the CDOs of these objects haven't had PrepareCppStructOps() called on them.

	#jira UE-42178

Change 3318942 on 2017/02/23 by Steve.Robb

	Removal of a redundant insertion which can cause problems on reallocation of the map.

Change 3319010 on 2017/02/23 by Ben.Marsh

	UBT: Fix exception when a file that was previously part of the working set is deleted.

Change 3319134 on 2017/02/23 by Robert.Manuszewski

	Better fix for a deadlock when flushing log while it's already being flushed due to flush timer on the async log writer thread.

Change 3319249 on 2017/02/23 by Matthew.Griffin

	Added a function to check if running with debug game libs instead of checking command line in multiple places
	Added -RunConfig parameter, which has equivalent result to -debug if value of parameter starts with 'debug'
	Added -RunConfig=$(Configuration) as a default commandline argument for Mac so that editor can use debug game libs
	Removed -Shipping argument from VCProject generation as it's not used anymore

Change 3319253 on 2017/02/23 by Maciej.Mroz

	#jira UE-41846

	New mechanism to gather modules necessary for Nativized Assets. The modules are listed based on included headers. Previously the dependencies was gathered only in FBlueprintNativeCodeGenManifest::GatherModuleDependencies.

Change 3319591 on 2017/02/23 by Ben.Marsh

	Don't strip prefixes beginning with WARNING: or ERROR: using the Postp filter.

Change 3320357 on 2017/02/23 by Steven.Hutton

	Slight changes to Add Crash method - Returning select fields instead of entity objects in queries for perf reasons.

Change 3320361 on 2017/02/23 by Steven.Hutton

	Performance improvements subsequent to the recent database changes.

Change 3320446 on 2017/02/23 by Steven.Hutton

	adding my temporary performance tracker class - reports to a private slack channel with add crash performance data.

Change 3320479 on 2017/02/23 by Ben.Marsh

	Fix CIS errors.

Change 3320576 on 2017/02/23 by Jin.Zhang

	Update CrashReporter to use AWS

Change 3320742 on 2017/02/23 by Jin.Zhang

	Merging crash caching

Change 3321119 on 2017/02/24 by Robert.Manuszewski

	DLL injection protection support for non-monolithic builds

Change 3323308 on 2017/02/27 by Matthew.Griffin

	Moved compilation of SwarmInterface after its dependencies so that we will see a build failure immediately if they change version in future

Change 3323423 on 2017/02/27 by Chad.Garyet

	Adding a script to check and warn about csproj targeted .net versions being mismatched

	#JIRA UE-39624

Change 3323442 on 2017/02/27 by Ben.Marsh

	UBT: Output an error if an engine module references a game module.

Change 3323743 on 2017/02/27 by Ben.Marsh

	PR #3303: Resolved PVS scan issues (Contributed by projectgheist)

Change 3323748 on 2017/02/27 by Ben.Marsh

	Convert whitespace to tabs.

Change 3324851 on 2017/02/28 by Chris.Wood

	Add Odin symbol locations to engine config for MDD on CR server.

	NotForLicensees

Change 3324979 on 2017/02/28 by Gil.Gribb

	Fixed bad merge of priority change in the EDL.

Change 3326889 on 2017/03/01 by Steven.Hutton

	Update to buggs controller to generate faster queries.

Change 3326910 on 2017/03/01 by Robert.Manuszewski

	Removing legacy #if from PackageFileSummary.

Change 3327118 on 2017/03/01 by Gil.Gribb

	UE4 - Fixed race that resulted in a memory leak when reading compressed paks.

Change 3327633 on 2017/03/01 by Gil.Gribb

	UE4 - Added a cvar to control the pak precacher thottle.

Change 3327674 on 2017/03/01 by Steve.Robb

	Unified boilerplate between all generated code files.

Change 3328544 on 2017/03/01 by Chris.Wood

	CrashReportProcess.config update (CRP v1.2.17)

	Tweaks to a few values.
	Update website URL to explicitly point to old, non-cloud site on devweb-02.

Change 3328714 on 2017/03/01 by Chris.Wood

	Correct CRP config regression. Point website at new cloud site. Still v1.2.17

Change 3329192 on 2017/03/02 by Matthew.Griffin

	Added Shared Build Id file to the list of Precompiled Build Dependencies in a target receipt so that it's brought into an installed build

Change 3329285 on 2017/03/02 by Ben.Marsh

	UGS: Allow a project to specify a filters for the streams that should be displayed for fast-switching to. The QuickSelectStreamList seting in the [Options] section of the project settings references a depot path containing a list of strings used to filter the stream list. An option is shown to switch back to showing all available streams, if desired.

Change 3330636 on 2017/03/02 by Ben.Marsh

	UBT: Bump version number of C++ include cache to force it to be rebuilt with additional include information for the default RC files.

Change 3331262 on 2017/03/03 by Robert.Manuszewski

	Merging Dev-LoadTimes to Dev-Core (Garbage Collection performance improvements)

	- Improved GC multithreading
	- Improved BeginDestroy performance
	- Introduced ULevelActorCluster for StaticMeshActor and ReflectionCapture actor clustering (can be toggled through project settings or console command gc.ActorClusterEnabled)
	- A few improvements to AddReferencedObjects functions
	- Misc improvements to GC code
	- Garbage Collector now properly handles clusters which had their objects marked as pending kill
	- Blueprints can now create clusters too (can be toggled through project settings or console command gc.BlueprintClusteringEnabled, defaults to disabled)

Change 3331285 on 2017/03/03 by Robert.Manuszewski

	A few fixes for the previous check-in.

Change 3332001 on 2017/03/03 by Ben.Marsh

	UBT: Add support for generating a UDN file containing the valid settings for BuildConfiguration.xml. Pass -configdoc=<filename> on the command line to generate such a file.

Change 3332022 on 2017/03/03 by Ben.Marsh

	Update documentation for where to find the BuildConfiguration settings.

Change 3332031 on 2017/03/03 by Ben.Marsh

	Remove documentation for Windows XP support; it has been removed in the 4.16 release.

Change 3332256 on 2017/03/03 by Ben.Marsh

	UBT: Add support for generating a UDN page containing module and target settings.

Change 3332458 on 2017/03/03 by Ben.Marsh

	UBT: Improvements to generated documentation.

Change 3332459 on 2017/03/03 by Ben.Marsh

	Add generated documentation for .target.cs files, .build.cs files, and BuildConfiguration.xml files.

Change 3332460 on 2017/03/03 by Ben.Marsh

	UBT: Make LinkTypePrivate actually private, so it doesn't show up in the docs.

Change 3332899 on 2017/03/06 by Robert.Manuszewski

	Making sure actor clustering is not used in the editor (fix for actors being deleted when GC runs in the editor)

	#jira UE-42548

Change 3332955 on 2017/03/06 by Maciej.Mroz

	Nativization distinguishes client and server platform:
	- Separated lists on additional assets, additional modules, excluded assets, excluded modules, excluded paths (in config)
	- Context (compilation options, nativization options and platform) is deliveren to BPCOmpilerCppBackend in FCompilerNativizationOptions struct.
	- Wrappers (for unconverted BPs) are created only when they are directly called.

	- Fortnite dedicated server can be nativized

Change 3332990 on 2017/03/06 by Ben.Marsh

	UBT: Add more comprehensive wrapper methods for System.IO.File and System.IO.Directory to FileReference and DirectoryReference.

Change 3333032 on 2017/03/06 by Ben.Marsh

	Documentation for build tools

Change 3333037 on 2017/03/06 by Ben.Marsh

	Add a build step to extract UAT and UBT documentation from XML comments.

Change 3333089 on 2017/03/06 by Ben.Marsh

	UAT: Re-enable logging the calling function to the console in UAT. Needs a pass for readability first.

Change 3333651 on 2017/03/06 by Gil.Gribb

	UE4 - Fix a werid recursive situation where StaticLoadObject could return an object that has not finished loading. Also produces a fatal error if this sometimes happens. EDL only.

Change 3335236 on 2017/03/07 by Ben.Marsh

	UGS: Set the sync changelist separately to the compatibility changelist.

Change 3335261 on 2017/03/07 by Gil.Gribb

	UE4 - Fixed batched render fences when BeginDestroy calls FlushRenderingCommands.

Change 3335740 on 2017/03/07 by Gil.Gribb

	maybe fix static analysis warning

Change 3335945 on 2017/03/07 by Steve.Robb

	Move FFindInstancedReferenceSubobjectHelper code out of header.
	Add map/set property support to allow instanced members of these container types to be handled during CPFUO.

	https://udn.unrealengine.com/questions/349232/tmap-with-instanced-object-as-value-gets-cleared-o.html

Change 3336693 on 2017/03/07 by Ben.Marsh

	UBT: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.

Change 3336694 on 2017/03/07 by Steve.Robb

	Static assert added to TMap to prevent the use of keys which don't implement a GetTypeHash.
	Fixes to types which relied on implicit conversions when calling GetTypeHash.
	Workaround in SAssetView.h and PropertyEditorModule.h for an apparent VC bug where the compiler wrongly instantiates TPointerIsConvertibleFromTo for certain forward-declared types, causing future TSharedPtr conversions to fail.

	#jira UE-42441

Change 3336698 on 2017/03/07 by Steve.Robb

	Hardcoded endpoint handling replaced with a generic string.
	Obsolete .proto and .java code generation removed.

Change 3336811 on 2017/03/07 by Wes.Hunt

	Add a game blacklist to the crash report processor. Fixed a syntax error in Config.cs, added a XML comment to shut up a warning.

Change 3336973 on 2017/03/08 by Steve.Robb

	Fix for missing GetTypeHash in a plugin.

Change 3336996 on 2017/03/08 by Steve.Robb

	Significant refactor of code generation, to try and make data flow more apparent.

Change 3337571 on 2017/03/08 by Steve.Robb

	CIS fixes for missing GetTypeHash functions.
	Non-unity fix.

Change 3337588 on 2017/03/08 by Gil.Gribb

	UE4 - Fixed obscure check with flushing rhi resources.

Change 3337620 on 2017/03/08 by Steve.Robb

	WITH_HOT_RELOAD_CTORS macros removed.
	UseVTableConstructors config option removed.

Change 3339369 on 2017/03/09 by Steve.Robb

	GetTypeHash overload for nn::account::Uid.

Change 3339464 on 2017/03/09 by Daniel.Lamb

	Fixed assert in 4.15 to do with trying to gather dependency info from invalid packages.
	#jira UE-42583
	#test Editor + Cook + Run shootergame

Change 3339465 on 2017/03/09 by Maciej.Mroz

	Fixed serialization issue, after UserDefinedEnum was used in EnumProperty.

Change 3339469 on 2017/03/09 by Maciej.Mroz

	Fixed Nativization problem, when default value is passed as non-const reference.

Change 3340178 on 2017/03/09 by Daniel.Lamb

	Added support for in memory only packages.  The Cooker ignores these and added core functions to recognize these packages.
	Other systems will need to add support where nessisary.

Change 3341002 on 2017/03/10 by Maciej.Mroz

	Nativization: Fixed FFindHeadersToInclude. Headers necessary for owners of subobjects are properly included.

Change 3341076 on 2017/03/10 by Steve.Robb

	Fix for FBakedTextureSourceInfo move semantics.

	#jira UE-42658

Change 3341160 on 2017/03/10 by Gil.Gribb

	UE4 - Fix hazard with SetMaterialUsage from a thread.

Change 3341409 on 2017/03/10 by Steve.Robb

	Reduction of the generated code size for StaticRegisterNatives functions.

Change 3341523 on 2017/03/10 by Steve.Robb

	Code generation simplified.

Change 3341800 on 2017/03/10 by Ben.Marsh

	UnrealVS: Fix UnrealVS compatibility with RTM version of Visual Studio 2017. 2017 toolchain for extensions is no longer able to build <= 2015 extensions due to validation of the VSIX manifest, so create a separate solution for it.

Change 3342034 on 2017/03/10 by Ben.Marsh

	Fix compiler setting not being loaded correctly into the Windows target settings dialog.

	#jira UE-42746

Change 3342041 on 2017/03/10 by Ben.Marsh

	Fix -ErrorOnEngineContentUse not being set in the cooker options correctly.

Change 3342094 on 2017/03/10 by Steve.Robb

	Fix to deteministic name order during code generation.

Change 3342251 on 2017/03/10 by Daniel.Lamb

	Integrate fix for resave lightmaps commandlet when upgrading from no mapbuilddatapackages to mapbuilddatapackages.
	#thanks Tim.Hagberg

	#test None

Change 3342961 on 2017/03/13 by Robert.Manuszewski

	Fixing memory leak when playing while running -nullrhi on the commandline in cooked games caused by shader resources not being destroyed.

	#jira FORT-38977

Change 3343022 on 2017/03/13 by Steve.Robb

	GetTypeHash fixes for FUniqueNetIdLive.

	#jira UE-42788

Change 3343448 on 2017/03/13 by Steve.Robb

	Compiled-in defer object order fixed.
	Debuggability of the deferred registration map improved.

	#jira UE-42828

[CL 3345747 by Ben Marsh in Main branch]
2017-03-14 15:48:33 -04:00
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

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

Change 3284872 on 2017/02/03 by Graeme.Thornton

	Seperate pak cache granularity from pak signing chunk size

Change 3285765 on 2017/02/03 by Graeme.Thornton

	Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread

	#jira UE-41478

Change 3286913 on 2017/02/04 by Ben.Marsh

	IncludeTool: Merging fixes.

	* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
	* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.

Change 3287100 on 2017/02/05 by Ben.Marsh

	UBT: Move platform settings into platform-specific TargetRules objects.

Change 3287106 on 2017/02/05 by Ben.Marsh

	Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.

Change 3287398 on 2017/02/06 by Steve.Robb

	Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.

Change 3287399 on 2017/02/06 by Steve.Robb

	Log verbosities made more readable in the debugger.

Change 3287410 on 2017/02/06 by Steve.Robb

	Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.

	#fyi marc.audy

Change 3288020 on 2017/02/06 by Ben.Marsh

	Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.

Change 3291817 on 2017/02/08 by Steve.Robb

	New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.

Change 3292090 on 2017/02/08 by Graeme.Thornton

	Crash fix - don't update font engine services if it was never created

	#jira UE-33953

Change 3292993 on 2017/02/08 by Ben.Marsh

	Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)

Change 3293231 on 2017/02/08 by Ben.Marsh

	BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.

Change 3294213 on 2017/02/09 by Ben.Marsh

	EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.

Change 3294753 on 2017/02/09 by Ben.Zeigler

	#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated

Change 3296070 on 2017/02/09 by Ben.Zeigler

	Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.

Change 3296420 on 2017/02/10 by Graeme.Thornton

	Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
	Refactored encryption and signing key access in unrealpak to make it easier to use

Change 3296609 on 2017/02/10 by Ben.Marsh

	BuildGraph: Fix error running the <Copy> task with an empty "From" argument.

	* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
	* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.

Change 3297440 on 2017/02/10 by Ben.Marsh

	UBT: Move the FileFilter class into UnrealBuildTool.

Change 3297725 on 2017/02/10 by Ben.Zeigler

	#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
	Clean up a lot of confusingly named and broken functions on UEnum:
	#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
	#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
	Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
	Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
	While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
	Delete some now redundant enum editor code and pipe everything through UEnum

Change 3297979 on 2017/02/10 by Ben.Zeigler

	Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior

Change 3298299 on 2017/02/10 by Steve.Robb

	TTuple improvements:
	- equality comparable
	- serializable
	- in the correct folder

	2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
	TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.

	#fyi robert.manuszewski,ben.marsh

Change 3298460 on 2017/02/11 by Ben.Marsh

	UGS: Set the correct result from running custom tasks.

Change 3298462 on 2017/02/11 by Ben.Marsh

	UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.

Change 3299447 on 2017/02/13 by Graeme.Thornton

	Fix AES and pak signing key embedding for content only projects
	 - Force temp target when any keys are specified by project config

Change 3299649 on 2017/02/13 by Steve.Robb

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

Change 3299787 on 2017/02/13 by Steve.Robb

	IsAbstract() for testing if a reflected native type contains pure virtual functions.  Needed for BP nativization.

	#fyi robert.manuszewski

Change 3300576 on 2017/02/13 by Ben.Marsh

	EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.

Change 3300600 on 2017/02/13 by Ben.Marsh

	EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.

Change 3300624 on 2017/02/13 by Ben.Marsh

	Switch incremental builds for all streams to start up on the incremental agent.

Change 3302134 on 2017/02/14 by Steve.Robb

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

Change 3302639 on 2017/02/14 by Ben.Zeigler

	Fix crash cooking odin with default command line
	#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified

Change 3303002 on 2017/02/14 by Ben.Zeigler

	#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
	#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
	Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
	Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
	Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
	Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
	Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate

Change 3303084 on 2017/02/14 by Ben.Zeigler

	Attempt to get Nativization and EDL working without warnings

	Change 3305153 on 2017/02/15 by Ben.Zeigler

	Fix Fortnite and Orion cook, I don't understand why this passed my local testing
	Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning

Change 3305959 on 2017/02/16 by Gil.Gribb

	UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.

Change 3306159 on 2017/02/16 by Ben.Marsh

	Fix path to target binaries when building non-monolithic in a unique build environment.

Change 3306584 on 2017/02/16 by Steve.Robb

	UEnum internal functions renamed from Index to Value.
	GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.

	#fyi ben.zeigler

Change 3307836 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
	Fixes lighting in Infiltrator demo

Change 3307929 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Second half of matinee redirector fix

Change 3308840 on 2017/02/17 by Matthew.Griffin

	Reimplementing CL#3305808 from 4.15

		Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)

Change 3309115 on 2017/02/17 by Ben.Marsh

	Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on,  before many of the game settings have been initialized, so just return the directory containing the Core module instead.

Change 3309120 on 2017/02/17 by Ben.Marsh

	Fix support for creating modular builds which don't use the shared build environment.

Change 3309125 on 2017/02/17 by Ben.Marsh

	Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.

Change 3309128 on 2017/02/17 by Ben.Marsh

	Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.

Change 3309131 on 2017/02/17 by Ben.Marsh

	Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.

Change 3309140 on 2017/02/17 by Ben.Marsh

	UAT: Fix exception moving a file from one location to another if the target directory does not exist.

Change 3309212 on 2017/02/17 by Ben.Marsh

	Fixes/improvements for mod editor and code mods:

	* A separate top-level project is generated for each code mod in the Visual Studio solution.
	* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
	* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
	* Plugin browser now includes a separate category for mods.
	* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.

Change 3309231 on 2017/02/17 by Steve.Robb

	Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.

	#jira UE-42052

Change 3309248 on 2017/02/17 by Ben.Marsh

	Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.

Change 3309257 on 2017/02/17 by Ben.Marsh

	Prevent game binaries from being renamed for hot reload when working with installed projects.

Change 3309355 on 2017/02/17 by Steven.Hutton

	Changes to make the website compatible with the new database changes.

Change 3309371 on 2017/02/17 by Ben.Marsh

	Fix exception on shutdown when running asset registry with threads disabled.

	#jira UE-41951

Change 3309389 on 2017/02/17 by Ben.Zeigler

	#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node

Change 3309570 on 2017/02/17 by Gil.Gribb

	UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.

Change 3310039 on 2017/02/17 by Ben.Marsh

	BuildGraph: Prevent exception when trying to delete a file that does not exist.

Change 3311484 on 2017/02/20 by Chris.Wood

	CrashReportProcess crash add retry logic improvements (CRP v1.2.16)

Change 3311600 on 2017/02/20 by Matthew.Griffin

	Updated StripSymbols functions so that all platforms can deal with the source and target file being the same

Change 3311675 on 2017/02/20 by Steve.Robb

	FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.

Change 3311893 on 2017/02/20 by Ben.Marsh

	UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.

Change 3313966 on 2017/02/21 by Ben.Marsh

	Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.

Change 3314398 on 2017/02/21 by Ben.Zeigler

	#jira UE-42212 Fix shutdown of AnimGraph module to be safer

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Robert Manuszewski
301e5763c2 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3228803)
#lockdown Nick.Penwarden
#rb none

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

Change 3209807 on 2016/11/24 by Chris.Wood

	CRP now has improved handling of lost comms with website/DB (CRP v.1.2.9)
	[UE-38397] - CrashReportProcess should not lose crashes when the website goes down.

Change 3209936 on 2016/11/24 by Steven.Hutton

	Reconciled offline work. Fixed a number of display bugs with the reports page.

Change 3209938 on 2016/11/24 by Steven.Hutton

	Reconciled offline work

	Adding JQuery UI packages

Change 3210736 on 2016/11/28 by Steve.Robb

	Unset() made protected, which is an implementation details of TFunction and not the way to unbind one (may leak memory).
	Fixes to existing calls.

	https://answers.unrealengine.com/questions/494947/proper-way-to-deal-with-destroying-a-tfunction.html

Change 3211181 on 2016/11/28 by Steve.Robb

	Improved error message when binding a delegate to a pending kill object.

	#jira UE-5232

Change 3211214 on 2016/11/28 by Steve.Robb

	PR #2978: fixed typo in FMallocLeakDetection (Contributed by finap)

	#jira UE-39049

Change 3211301 on 2016/11/28 by Steve.Robb

	PR #2892: Copy bCustomVersionsAreReset when creating an Archive from another Ar. (Contributed by surakin)

	#jira UE-37941

Change 3213387 on 2016/11/29 by Steven.Hutton

	Test of a release note parsed from the changelist

Change 3213553 on 2016/11/29 by Gil.Gribb

	UE4 - Rework dependencies and UStruct creation so that we can create UBlueprintGeneratedClass's without needing the parent class serialized.

Change 3214800 on 2016/11/30 by Robert.Manuszewski

	ModuleManager will now use a critical section instead of FMultiReaderSingleWriterGT to make it really thread safe.

	- removed FMultiReaderSingleWriterGT because it was not fully thread safe

Change 3214926 on 2016/11/30 by Robert.Manuszewski

	Merging using Dev-Core_To_Dev-LoadTimes (reversed)

Change 3214981 on 2016/11/30 by Gil.Gribb

	UE4 - Make sure that subobjects of CDOs are exported even if they don't have any direct references; they might be archetypes.

Change 3215392 on 2016/11/30 by Steve.Robb

	Error out on editor builds when reading a non-boolean value in an archive.

Change 3215674 on 2016/11/30 by Steve.Robb

	Replacement of a custom scope-exit setup with our standard macro.

Change 3215720 on 2016/11/30 by Steve.Robb

	Default constructor for TTuple which value-initializes the elements.

Change 3216777 on 2016/12/01 by Graeme.Thornton

	Add NoRedist and NotForLicensees folders in the game folder to the C# version of config file hierarchy.

Change 3216858 on 2016/12/01 by Graeme.Thornton

	Improvements to pak signing and encryption
	 - Remove compile time defines for encryption key and signing keys
	 - Embed keys in executable by including in the UBT generated UELinkerFixups.cpp file
	 - Add key access core delegate for passing these keys through to pak platform file

Change 3216860 on 2016/12/01 by Graeme.Thornton

	Re-enable pak signing and encryption in ShooterGame

Change 3216861 on 2016/12/01 by Graeme.Thornton

	Re-enable pak signing and encryption in Paragon

Change 3217076 on 2016/12/01 by Gil.Gribb

	UE4 - replaced !GIsIntialLoad with EVENT_DRIVEN_ASYNC_LOAD_ACTIVE_AT_RUNTIME as a first step toward boot time EDL

Change 3221139 on 2016/12/05 by Ben.Woodhouse

	Dummy integrate of CL 3221131 (versioning workarounds) from Dev-LoadTimes4.14 with accept target to prevent those workarounds being merged out of dev-loadtimes4.14.

	Command:
	p4 integrate //UE4/Dev-LoadTimes4.14/...@3221131,3221131

	w/ resolve/accept-target

Change 3221410 on 2016/12/05 by Steve.Robb

	Allow Algo::IsSorted to work on C arrays and initializer_lists.

Change 3221673 on 2016/12/05 by Gil.Gribb

	set up an intentional merge conflict so we can do the right thing when dev-BP and dev-core come together

Change 3223182 on 2016/12/06 by Chris.Wood

	Add EngineModeEx to CrashReportCommon
	[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not

Change 3224646 on 2016/12/07 by Robert.Manuszewski

	It's no longer necessary to rebuild the cooked exe to enable the event driven loader. EDL and the new async IO are now controlled with ini settings only.

Change 3224647 on 2016/12/07 by Robert.Manuszewski

	Event Driven Loader is now enabled by default.

Change 3224669 on 2016/12/07 by Chris.Wood

	Compressing some crash files output from CRP to S3 (CRP v1.2.11)
	[UE-37564] - Add compression support for CRP crash files in S3

	Add EngineModeEx to support to CRP (CRP v1.2.10)
	[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not

Change 3224873 on 2016/12/07 by Robert.Manuszewski

	A few fixes to the EDL macro refactor.

Change 3224933 on 2016/12/07 by Robert.Manuszewski

	Async Loading settings will now be logged on startup in cooked games

Change 3224984 on 2016/12/07 by Robert.Manuszewski

	Small fix to EDL and new async IO global var init.

Change 3225027 on 2016/12/07 by Robert.Manuszewski

	Re-enabling EDL in ShooterGame since it no longer requires the cooked exe to be re-compiled (and EDL is on by default anyway).

Change 3226702 on 2016/12/08 by Steve.Robb

	UHT can now skip over macro-like identifiers while parsing.
	Correctly handles FTypefaceEntry::Name parsing, which was broken by the workaround in CL# 3219332.
	Syntax workaround reverted in FTypefaceEntry.

	#jira UE-38231

Change 3226756 on 2016/12/08 by Steve.Robb

	LexicalConversion renamed to Lex after #core discussion.
	Lex::ToString overloads added for FString itself.

Change 3226766 on 2016/12/08 by Steve.Robb

	FCookStatsManager::ToString replaced with Lex::ToString, as it now supports the required functionality.

Change 3226949 on 2016/12/08 by Robert.Manuszewski

	Fixing static analysis warnings

Change 3228566 on 2016/12/09 by Robert.Manuszewski

	Making UBT not think it needs to use separate temporary target for non source code projects when EDL settings don't match default.

Change 3228601 on 2016/12/09 by Steve.Robb

	Fix for TSparseArray visualization of types smaller than 8 bytes.

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

	UE4 - Fix very old bug with lock free lists, probably not relevant to anything we currently use.

Change 3228697 on 2016/12/09 by Graeme.Thornton

	Rebuilt UnrealPak

[CL 3228932 by Robert Manuszewski in Main branch]
2016-12-09 11:36:14 -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 Zeigler
24a8d60723 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None

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

Change 3173153 on 2016/10/25 by Graeme.Thornton

	Pak signing changes
	 - Integrated into EDL loader
	 - Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.

Change 3173531 on 2016/10/25 by Steven.Hutton

	Removing unused j query packages.

Change 3174743 on 2016/10/26 by Gil.Gribb

	UE4 - fixed COTF with EDL

Change 3177896 on 2016/10/28 by Steve.Robb

	TSharedPtr and TSharedRef aliasing constructors.
	Removal of static_asserts for TSharedPtr<UObject>.

Change 3180343 on 2016/10/31 by Steve.Robb

	Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.

Change 3181382 on 2016/11/01 by Steve.Robb

	Visual Studio debugger visualizers for delegates.

Change 3182738 on 2016/11/02 by Graeme.Thornton

	Re-enable signed archive reader so non-pakpreacher based reads still get signature checked

Change 3183420 on 2016/11/02 by Steve.Robb

	Fix to TIsZeroConstructType for TScriptDelegate.

Change 3184872 on 2016/11/03 by Robert.Manuszewski

	Fixing memory stomps in SSL certificate initialization (found with mallocstomp)

Change 3184873 on 2016/11/03 by Robert.Manuszewski

	Adding thread safety checks to async loading code

Change 3185535 on 2016/11/03 by Ben.Zeigler

	Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.

Change 3186636 on 2016/11/04 by Graeme.Thornton

	AES encryption integrated into EDL system
	Pak signing and AES encryption now configurable by ini files rather than magical text files

Change 3186637 on 2016/11/04 by Graeme.Thornton

	Configured pak signing and encryption in ShooterGame for reference

Change 3186639 on 2016/11/04 by Graeme.Thornton

	Encryption changes for Orion
	* Move pak signing keys into new INI format
	* Add AES key and enable INI file encryption

Change 3186661 on 2016/11/04 by Graeme.Thornton

	Change unrealpak command line params to accept AES key as a separete parameter

Change 3186670 on 2016/11/04 by Robert.Manuszewski

	Adding a null check before using a package pointer in Linker code

	#jira UE-38237

Change 3186775 on 2016/11/04 by Graeme.Thornton

	Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
	 - PS4 and Mac fixes. Other platforms might need fixing too!

Change 3186823 on 2016/11/04 by Graeme.Thornton

	Fixed an incorrect size check in the EDL pak signing code

Change 3186925 on 2016/11/04 by Graeme.Thornton

	Allow UnrealPak to read encryption settings from project ini files

Change 3189885 on 2016/11/08 by Graeme.Thornton

	Static analysis warning fix

Change 3190015 on 2016/11/08 by Robert.Manuszewski

	Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread

Change 3190253 on 2016/11/08 by Chris.Wood

	Improved MDD performance for on the CR server.
	[UE-37566] - Improve MDD performance on CR server

	Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
	Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.

Change 3192993 on 2016/11/10 by Robert.Manuszewski

	Thread Heartbeat will no longer report the same hang multiple times.

Change 3193111 on 2016/11/10 by Robert.Manuszewski

	Minor change in the condition that detects the same hangs - allow the same callstacks from different threads

Change 3193168 on 2016/11/10 by Steve.Robb

	TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.

Change 3193171 on 2016/11/10 by Steve.Robb

	Easier debugging of FPendingRegistrantInfo map.

Change 3193188 on 2016/11/10 by Steve.Robb

	TAutoPointer deprecated.

Change 3193796 on 2016/11/10 by Graeme.Thornton

	Fix pak creation failure when no pak signing keys are supplied

Change 3194524 on 2016/11/11 by Graeme.Thornton

	Another static analysis warning fix

Change 3195119 on 2016/11/11 by Steve.Robb

	TAutoPtr deprecated.
	Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
	Some large headers moved into .cpp files.

Change 3196582 on 2016/11/14 by Gil.Gribb

	UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.

Change 3196878 on 2016/11/14 by Steve.Robb

	TScopedPointer deprecated.

Change 3198061 on 2016/11/15 by Steve.Robb

	Class array is no longer regenerated when saving UClasses.

Change 3198065 on 2016/11/15 by Robert.Manuszewski

	Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.

Change 3198199 on 2016/11/15 by Robert.Manuszewski

	Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.

Change 3199954 on 2016/11/16 by Graeme.Thornton

	Removing USING_SIGNED_CONTENT

Change 3200221 on 2016/11/16 by Chris.Wood

	CrashReportProcess code cleanup - removing unused using directives

Change 3200232 on 2016/11/16 by Chris.Wood

	Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
	UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives

	InvalidCrashReports now saved to S3 instead of local folder
	Removed option tosync MinidumpDiagnostics from Perforce
	Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
	Added improved logging to Slack with option to monitor MDD performance
	Added hourly log folders to MDD logs
	Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)

Change 3200382 on 2016/11/16 by Robert.Manuszewski

	Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).

Change 3200562 on 2016/11/16 by Gil.Gribb

	UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.

Change 3201093 on 2016/11/16 by Ben.Zeigler

	#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
	Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.

Change 3201736 on 2016/11/17 by Steve.Robb

	Strtoi64 platform and TCString functions.

	#fyi robert.manuszewski

Change 3201938 on 2016/11/17 by Ben.Woodhouse

	Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.

	Commandline:
	p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp

	#fyi robert.manuszewski

Change 3203757 on 2016/11/18 by Robert.Manuszewski

	Removing debug code from async loading code.

Change 3203927 on 2016/11/18 by Robert.Manuszewski

	Fixing comments in the async loading code.

Change 3204851 on 2016/11/18 by Steve.Robb

	Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.

Change 3204854 on 2016/11/18 by Steve.Robb

	UEnumProperty.

Change 3205027 on 2016/11/18 by Ben.Zeigler

	Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
	Add Get() to TSubclassOf so it matches our other wrappers
	Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
	Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf

Change 3206334 on 2016/11/21 by Ben.Zeigler

	#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
	#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
	Cook finishes but game is still crashing in some cases, so I might adjust this after other testing

Change 3206353 on 2016/11/21 by Ben.Zeigler

	Fix EnumProperty to handle EDL preload dependencies properly

Change 3206625 on 2016/11/21 by Ben.Zeigler

	Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient

Change 3206937 on 2016/11/21 by Ben.Zeigler

	#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
	Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
	Correctly save enum tag for enum properties, it was being set but not serialized

Change 3207002 on 2016/11/21 by Ben.Zeigler

	#jira UE-38799
	Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
	Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
	If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
	We should generally outlaw non-transient objects with transient outers, it does not do what people expect.

Change 3207032 on 2016/11/21 by Ben.Zeigler

	#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do

[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
Marc Audy
ef9dbd59d7 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3198622)
#rb None
#lockdown Nick.Penwarden

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

Change 3182087 on 2016/11/01 by Lina.Halper

	PR #2328: fix morph target weight application order. (Contributed by tmiv)

	- changed order of morphtarget application to be animation and THEN SetMorphTarget
	- made sure you could clear the weight also if SetMorphTarget to be 0.f

	#jira: UE-29999

Change 3182090 on 2016/11/01 by Lina.Halper

	Fix issue where import doesn't display any message when import type hasn't been detected

Change 3182123 on 2016/11/01 by Wes.Hunt

	ensure the EngineAnalytics singleton is not being held onto by someone else during engine shutdown.

Change 3182177 on 2016/11/01 by Lina.Halper

	Fix not being able to modify Joint Target Location in detail panel

	#jira: UE-30900

Change 3182181 on 2016/11/01 by Ben.Zeigler

	Add UGameplayTagsManager::AddNativeGameplayTag to allow registering tags directly from native code. This stops them from being deleteable in the editor, and will register them even if they don't exist elsewhere
	Change internal games to use this to register their native tags. The explicit call to be done adding native tags is not required, it happens on engine post init
	Some header cleanup

Change 3182876 on 2016/11/02 by Danny.Bouimad

	Moving files

Change 3182912 on 2016/11/02 by Thomas.Sarkanen

	Added access to the viewport client from IPersonaViewport

	Allows systems to hook into the state of the client.

	#jira UE-36549 - Need to access the current viewmode in FPersonaMeshDetails

Change 3182927 on 2016/11/02 by Thomas.Sarkanen

	Initially select current asset in the asset family shortcut bar dropdown

	#jira UE-35532 - Animation dropdown submenu doesn't highlight currently selected object, where as the asset browser does

Change 3182970 on 2016/11/02 by Lukasz.Furman

	CIS fix for gameplay debugger
	copy of CL# 3165005

Change 3183123 on 2016/11/02 by Mieszko.Zielinski

	Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4

Change 3183310 on 2016/11/02 by Jurre.deBaare

	Blendspace changes:
	- Moved MarkerSync code from BlendSpaceBase.cpp to BlendSpaceUtilities.h/cpp
	- Re-ordered blendspace.h/cpp
	- const correctness where possible
	- Removed unused code paths
	- Wrapped non-runtime code paths in WITH_EDITOR

	Blendspace editor refactor:
	- Moved element generators into respective AnimationBlendSpaceHelpers.h/cpp
	- New Grid Widget class
	- Simplified Blendspace(1D) editors, most things are handled within SAnimationBlendSpaceBase
	- SBlendSpaceGridWidget handles visualization and UI interaction (modifying blendspace is done through parent SAnimationBlendSpaceBase)

Change 3183344 on 2016/11/02 by James.Golding

	UEFW-181 : Move PhysX vehicle support to a plugin
	- Added FPhysicsDelegates for several useful global physics delegates (OnUpdatePhysXMaterial, OnPhysicsAssetChanged, OnPhysSceneInit, OnPhysSceneTerm)
	- Added OnPhysScenePreTick and OnPhysSceneStep delegates to FPhysScene
	- TireType is now deprecated, just kept in Engine for backwards compat. TireConfig in PhysXVehicles plugin is new structure
	- Added 'ConvertTireTypes' editor console util which creates TireConfig's from TireTypes's (using asset registry) and PhysicalMaterials, and updates any VehicleWheel BPs

Change 3183351 on 2016/11/02 by Ben.Zeigler

	Add utility functions to convert from export text versions of tag and container, which is useful when reading tags out of the asset registry

Change 3183354 on 2016/11/02 by Ben.Zeigler

	Change fortnite to use new GameplayTag functions to parse tags in the asset registry to avoid bad stall while checking mission requirements. This only works once the mission infos have been resaved

Change 3183383 on 2016/11/02 by Thomas.Sarkanen

	Persona camera fixes

	Dont reset the camera all the time when setting skeletal meshes (we only do this the first time now).
	Add shortcuts to focus the camera using 'F' key from the skeleton tree (or anywhere else that wants to). Also add a menu option to the viewport to make this more discoverable.
	Shortcut is now handles by the viewport widget instead of the client (as this is how other viewports handle it).

	#jira UE-36458 - Stop camera from resetting when doing undo or redo in persona animation editor

Change 3183409 on 2016/11/02 by Jon.Nabozny

	#rn Allow MAX_ARRAY_SIZE and MAX_ARRAY_MEMORY from RepLayout to be user configurable.

	#jira UE-35660

Change 3183625 on 2016/11/02 by James.Golding

	Hopeful fix for Mac CIS issue in PhysXVehiclesEditor

Change 3183652 on 2016/11/02 by Ben.Zeigler

	Fix issue where commonly replicated tags didn't work if load from ini was turned off.
	Fix it so gameplay tag tree is always fully sorted alphabetically, instead of only the root tags being sorted.

Change 3183856 on 2016/11/02 by Richard.Hinckley

	#jira UEDOC-4006
	Editing GameMode and GameState documentation (in Framework branch).

Change 3183902 on 2016/11/02 by Mieszko.Zielinski

	Fixed EQS debug drawing not showing item labels #UE4

	Proper implementation of CL#3183899

	#jira UE-38122

Change 3183996 on 2016/11/02 by Jon.Nabozny

	Fix DefaultMaxRepArrayMemory value to be UINT16_MAX (65535). Was previously set to 64 * 1024 = 65536.

Change 3184129 on 2016/11/02 by Ben.Zeigler

	#jira UE-38022 Move GameplayAbilities to a plugin.
	Remove GameplayAbilitiesEditorEnabled ini setting, instead enable the "GameplayAbilities" plugin in your uproject if you want abilities, it's disabled by default
	#jira UE-6947 Remove GameplayAbilityBlueprintGeneratedClass as it's not needed and was only being used half the time
	#jira UE-19427 Fix incorrect usage of WorldContextObject in ability tasks to instead be OwningAbility, as it would crash if used on anything other than a gameplay ability object

Change 3184130 on 2016/11/02 by Ben.Zeigler

	Internal game fixups for moving gameplayabilities to a plugin

Change 3184469 on 2016/11/02 by Ben.Zeigler

	Change abilities plugin to be more obviously unsupported

Change 3184565 on 2016/11/02 by dan.reynolds

	AEOverview update with HRTF test map

Change 3184800 on 2016/11/03 by Thomas.Sarkanen

	Added "Show Selected and Parents" to bone display options

	Also fixed mis-named menu section.

	#jira UE-35375 - Add 'selected bone and parents' option to Persona viewport

Change 3184810 on 2016/11/03 by James.Golding

	Remove WoflPlat PhysX 3.3 and Apex 1.3 files

Change 3184817 on 2016/11/03 by Thomas.Sarkanen

	Added facial animation support

	Added curve table to sound wave (internal or external). Added UI support for manipulating these.

	Improved curve table editor.
	- Editor can now display curves as well as tables.
	- Sparse keys are now properly supported (where keys are not presnet at some times in some curves).

	Added curve source interface.
	Added external curve node. This allows any component or actor (BP or native) that implements ICurveSourceInterface to drive curves.
	Added new audio component that can also provide curves. This handles the preroll delay (approx 0.4 seconds, depending on audio) so the mouth can open before audio is played.

	Added bulk importer plugin.
	This imports audio & FBX files and builds cuirve data into SoundWave assets.
	- Adapted exisitng FBX curve import slightly to use FRichCurves rather than FFloatCurves.
	- Added new support for importing curves to a curve table.

	Added preview of audio to Persona.
	- Added display, filtering and playback of sound waves from the anim sequence browser.
	- Audio playback with curves routed to animation now works with anim blueprints and pose assets (as we need a pose asset to preview poses!)
	- Persona now uses an Actor rather than disparate components.
	- Added overrides for AddComponent and RemoveComponent to make sure actor is hooked up correctly.
	- Preview scene can now be manipulated by plugins etc. using a delegate when it is created.
	- Single anim instance has been slightly re-worked to do its update and evaluate logic inside of a local anim node. This allows derived classes to build functionality up component-wise by adding new nodes to the 'graph'.

	#jira UEFW-7 - Routing Sound Curves to AnimBP
	#jira UEFW-5 - Support importing curves
	#jira UE-37950 - Spawn preview actor in animation editor

Change 3184837 on 2016/11/03 by James.Golding

	PR #2896: Fix FVehicleAnimInstanceProxy::PreUpdate not calling FFAnimInstanceProxy's PreUpdate (Contributed by DenizPiri)
	#jira UE-37978

Change 3184847 on 2016/11/03 by Thomas.Sarkanen

	Fixed editor shutdown crash

	Dont try to save config when UObjects are all gone.

Change 3184853 on 2016/11/03 by James.Golding

	Stop Engine module linking against PhysX vehicle lib, link that into PhysXVehicles plugin instead.

Change 3184884 on 2016/11/03 by Thomas.Sarkanen

	Anim Blueprint thread safety is now checked in the compiler

	Added new metadata keys for classes and functions to describe their thread safety.
	Added extra warnings in the anim BP compiler based around these new keys to help people catch suspect thread usage.
	Expanded the compiler erorr reporting to allow for extra rich message tokens to be appended (for documentation etc.).
	Improved BP error reporting: Now we display the actual node name instead of CallFunction_0 etc.
	CVar forcing multithreaded update is now defaulted to off. Projects now by default enable it but can more easily opt-out.

	#doc Added link to new section of AnimGraph page, which may benefit from images etc.

	#jira UE-28283 - Look into expanding the system to determine what nodes we allow to run on worker threads.

Change 3184886 on 2016/11/03 by Thomas.Sarkanen

	Content fixes for anim BP thread safety warnings

	Ocean:
	Random Float node is unsafe (uses rand() unde rthe hood) so replaced with Random Stream.

	Odin:
	Flying Bot accessed the character blueprint inside some transitions. Cached the value in the event graph instead.

	Fortnite:
	Disable threaded update for a number of anim BPs as they were using unsafe calls when using CopyPoseFromMesh

Change 3184894 on 2016/11/03 by Thomas.Sarkanen

	Fix Mac CIS

Change 3184951 on 2016/11/03 by Thomas.Sarkanen

	Fix CIS warning on clang platforms

Change 3185176 on 2016/11/03 by James.Golding

	Hopeful fix for building PhysXVehicles plugin for mac

Change 3185289 on 2016/11/03 by Alex.Delesky

	#jira UE-37773 - Updating the Gameplay Tags UI to allow for the following:

	-Addition of a tag with comments and a specific INI location
	-An "Add Subtag" button that will allow the user to create a tag underneath a specified parent that autofills most of the information (parent name and location) for the new tag
	-A dropdown menu to allow for additional actions to be performed on a tag (rename, delete, search for references)
	-Comments for gameplay tags now show up in the tooltip forthe tag rather than the tag name if one had been specified
	-Shows a tree in the Project Settings window when viewing the gameplay tag list instead of an array

Change 3185331 on 2016/11/03 by Marc.Audy

	Remove duplicated condition from if

Change 3185426 on 2016/11/03 by James.Golding

	Another attempt at fixing mac builds of PhysXVehicles plugin

Change 3185487 on 2016/11/03 by James.Golding

	- Remove TireType assets from templates/sample, add TireConfigs instead
	- Make deprecated vehicle vars visible (but not editable), to help converting content
	- Change icon for PhysX vehicle plugin

Change 3185520 on 2016/11/03 by James.Golding

	Trying yet again to fix Mac CIS!

Change 3185542 on 2016/11/03 by Ben.Zeigler

	#jira UE-34086
	Commit modified version of PR #2665 to allow overriding crouch behavior in subclasses of CharacterMovementComponent

	#jira UE-35652
	Fix crouch behavior to not change capsule until after uncroach check, to avoid causing unnecessary physics side effects
	Also had to set the TeleportPhysics flag in this case, so add code to remember if a teleport was attempted during a deferred movement, and then apply that flag during EndScopedMovementUpdate

Change 3185570 on 2016/11/03 by Marc.Audy

	Protect against theoretical crash introduced in CL# 2049861 if CreatePackage returns null.
	Remove some autos

Change 3185749 on 2016/11/03 by dan.reynolds

	AEOverview test map addition: testing Virtual Voice

Change 3185946 on 2016/11/03 by dan.reynolds

	AEOverview tweaks - clarified success conditions for Streaming Spam and Streaming Priority maps

Change 3185972 on 2016/11/03 by Lina.Halper

	Fix issue with offset of attachment getting messed up because parent doesn't tick the animation correctly when opening level from Content Browser

	#jira: UE-31890
	#code review: Thomas.Sarkanen

Change 3186043 on 2016/11/03 by Alex.Delesky

	#jira UE-37773 - Fixing some of the gameplay tags UI based on feedback

	-Right-aligned input fields for the AddNewGameplayTag and RenameGameplayTag widgets
	-Added a divider to the GameplayTag widget that will appear when the AddNewGameplayTag widget is visible
	-Tags with comments will now display both their name and their comment in tooltips

Change 3186207 on 2016/11/03 by Alex.Delesky

	#jira UE-37773 - The Gameplay Tags widget in the project browser will no longer display the disabled checkboxes and disabled text for the tag names

Change 3186321 on 2016/11/03 by Dan.Reynolds

	Removed deprecated test asset (BP_ProceduralSoundWaveTest)

Change 3186740 on 2016/11/04 by Thomas.Sarkanen

	Removed FPersona and supporting classes

	Also removed UMorphTarget's asset type actions (as it was nearly empty and we dont use them as assets any more).

	#jira UEFW-222 - Remove FPersona

Change 3186741 on 2016/11/04 by Thomas.Sarkanen

	Fix non-unity builds

Change 3186755 on 2016/11/04 by Thomas.Sarkanen

	Prevent adding keys to read-only curves in curve tables

	Lock off the shift-LMB shortcut to add keys

	#jira UE-38210 - Crash trying to add a key to a curve table in curve view

Change 3186798 on 2016/11/04 by James.Golding

	UE-37503 - Add FHitResult output to K2_LineTraceComponent

Change 3186800 on 2016/11/04 by James.Golding

	- Remove deprecated collision functions in KismetSystemLibrary
	- Remove _NEW from collision function names, add redirectors
	- Add debug draw options (TraceColor, TraceHitColor, DrawTime) to shape traces, to match line traces (UE-35941)

Change 3186989 on 2016/11/04 by James.Golding

	Fix CIS fail in Fortnte

Change 3187081 on 2016/11/04 by Wes.Hunt

	EngineAnalytics::Shutdown now checks to see if the Analytics pointer is null OR unique before ensuring. #jira UE-38125

Change 3187135 on 2016/11/04 by Jurre.deBaare

	Fix for incorrect framework version in blendspace serialization code.

Change 3187682 on 2016/11/04 by Ben.Zeigler

	#jira UE-38289 Fix crash when replicated tag array is empty

Change 3188113 on 2016/11/05 by Mieszko.Zielinski

	Removed a bunch of deprecated AI module functions #UE4

	Cut-off point at v4.10

Change 3188119 on 2016/11/05 by Mieszko.Zielinski

	Deprecated AI functionality removal fallout fixes #UE4

Change 3188121 on 2016/11/05 by Mieszko.Zielinski

	PR #2883: Added a Cone EQS Generator (Contributed by orfeasel)

	Did some massaging on change.

	#jira UE-37685

Change 3188122 on 2016/11/05 by Mieszko.Zielinski

	Bumped EnvQueryGenerator_Cone.AlignedPointsDistance's default value up to 100, which makes a bit more sense #UE4

Change 3188442 on 2016/11/07 by James.Golding

	Check in trace debug draw test map

Change 3188463 on 2016/11/07 by james.cobbett

	Submitting Pose Snapshot test map and asset

Change 3188618 on 2016/11/07 by Thomas.Sarkanen

	Expanded pose snapshot system

	Allows poses to be stored in variables.
	Split FPoseSnapshot from FAnimInstanceProxy and made it a BlueprintType USTRUCT.
	Added modes to FAnimNode_PoseSnapshot so that we can either use the named pose or a FPoseSnapshot variable pin.
	Moved pose snapshot code into USkeletalMeshComponent as it doesnt need to be on the proxy any more.

	#jira UEFW-242 - Caching poses to a Blueprint variable (and an anim node to use it with)

Change 3188619 on 2016/11/07 by Thomas.Sarkanen

	Moved "NoResetToDefaults" to the correct metadata section in ObjectMacros.h

Change 3188642 on 2016/11/07 by Thomas.Sarkanen

	Added new test for pose variables

Change 3188716 on 2016/11/07 by Ben.Zeigler

	#jira UE-38294 Fix bad error message when adding new DefaultGameplayTags.ini file

Change 3189020 on 2016/11/07 by dan.reynolds

	Added a test map for Audio Volume Ambient Zone test for Play Sound at Location

	AVOverviewAZPlaySoundAtLocation

Change 3189188 on 2016/11/07 by Jon.Nabozny

	Fix edge cases / alternate IPv6 formats in IPAddressBSDIPv6::SetIp.

	#jira UE-36607

Change 3189199 on 2016/11/07 by Jon.Nabozny

	Flag UActorComponent, USceneComponent, and UPrimitiveComponent UFUNCTIONS as UnsafeDuringActorConstruction="true" if they
	modify unreplicated properties, require use of the PhysScene, or otherwise indicate poor design.

	#jira UE-33038

Change 3189271 on 2016/11/07 by Aaron.McLeran

	UEFW-224 Refectoring UnrealEd code to move all audio related editing code to a new AudioEditor module

	- Fixups for removals
	- Several bug fixes for sound classes

Change 3189450 on 2016/11/07 by Aaron.McLeran

	Fixes for facial animation playback progress

	- Creating a per-source PlaybackTime which can be used to get a fairly accurate playback percentage function for all platforms.
	- Allowing platforms to override to get a "sample accurate" playback time for platforms that are able.

Change 3189507 on 2016/11/07 by Wes.Hunt

	* Deprecated GetUniqueDeviceId. Use GetDeviceId now instead. #jira AN-820
	  * Added warnings to each implementation of GetDeviceId as to what API it uses, and what cert requirements may be placed on it.
	* Deprecated all platform independent usages of GetMacAddress and related functions.  #jira AN-820  #jira AN-802
	* Deprecated GetMachineId. Use GetLoginId now instead. #jira AN-811
	* Update usages of MachineID throughout CrashReporter code. Left MachineId and LoginId as available attributes.
	* Removed LocalPlayer requirement for setting the Analytics UserId in internal products. Removed fallbacks for seting UserId for internal products. #jira AN-814 #jira AN-808
	* Removed GetUniqueDeviceId code from LauncherInstaller.
	* Removed redundant MachineID and AccountID from Editor.ProgramStarted analytics event.
	* Removed DeviceID from SessionStart analytics event.

	#FYI: justin.sargent, Chris.Wood, Wes.Fudala
	* Justin, reminder that FPortalRpcResponderFactory::Create will need to start using GetLoginID instead of MacAddress for IPC identifiers.
	* Chris, look over CRP code to ensure that I didn't destroy some vital bit of necessary connection with the MachineId->LoginId name change. Both values are used, and for now, they both return the same thing.
	* Wes, we didn't need GetUnqiueDeviceId attribute in BeginSession, as no one ever uses it, so I just removed it.

Change 3190032 on 2016/11/08 by Wes.Hunt

	Fix a few places I forgot to deprecate regarding GetMacAddress.

Change 3190107 on 2016/11/08 by Wes.Hunt

	Another attempt to remove deprecation warning in CIS. Apparently removing the warning for a const string initialized via a consrtuctor with a deprecated function is somewhat tricky. Still not sure why it works on my machine either way.

Change 3190326 on 2016/11/08 by Aaron.McLeran

	Fixing CIS build warning

Change 3190495 on 2016/11/08 by Jon.Nabozny

	Fix OSSNull server / session filtering to better match SessionSettings and online OSS. Make MCP, Steam, and Null LAN queries more consistent.

	#jira UE-37512

Change 3190566 on 2016/11/08 by Martin.Wilson

	Remove warning on Least Destructive (was incorrectly applied to least destructive due to legacy reasons)

	#jira UE-27323

Change 3190631 on 2016/11/08 by Martin.Wilson

	Fix notify validation not triggering when using set time/set frame context menu options

	#jira UE-37857

Change 3190666 on 2016/11/08 by Martin.Wilson

	Add info about anim instance to additive warning

	#jira UE-35930

Change 3191290 on 2016/11/09 by Thomas.Sarkanen

	Fix skeleton tree selection disappearing when filtering changes

	Note: Copying //Tasks/UE4/Dev-UEFW132-PhATUpgrade to Dev-Framework (//UE4/Dev-Framework)

	Split SSkeletonTree into multiple files
	Items now derive from the common base class ISkeletonTreeItem.
	New skeleton tree item RTTI added modlled on the drag/drop RTTI.
	Filtering is now performed independently of tree building. Filtering and building are more extensible (more of this to come).
	Item selection is now preserved on filter change.
	Filtering now (optionally) keeps the hierarchy in place.

	#jira UE-31017 - Skeleton Selection is Lost When Changing Filters

Change 3191325 on 2016/11/09 by Thomas.Sarkanen

	Fix clang CIS

Change 3191344 on 2016/11/09 by Thomas.Sarkanen

	More clang CIS fixes

Change 3191345 on 2016/11/09 by Thomas.Sarkanen

	CIS fix: Missed another enum fwd declaration

Change 3191374 on 2016/11/09 by Thomas.Sarkanen

	Remove 4.11 deprecated functions from animation systems

	Also deprecate NativeUpdateAnimation_WorkerThread as users should no longer be calling this function (it is not run on worker threads anyways).

	#jira UE-35748 - Clean up 4.11 Deprecated functions

Change 3191375 on 2016/11/09 by Thomas.Sarkanen

	Fixup Orion hero instance after deprecation

Change 3191739 on 2016/11/09 by Marc.Audy

	PhysX Vehicle plugin needs to be loaded with -game as well, so it must be Developer, not Editor.

Change 3191827 on 2016/11/09 by Marc.Audy

	Raw Input plugin allowing support of steering wheels and flightsticks
	#jira UEFW-237

Change 3191828 on 2016/11/09 by Ben.Zeigler

	#jira UE-38384 Comment cleanup for gameplay tag library

Change 3191889 on 2016/11/09 by Ben.Zeigler

	#jira UE-38294 Fix issues with trying to set not-yet-written settings files as writable and add them to source control
	If a settings file does not yet exist on disk, also try adding to source control after writing it

Change 3191911 on 2016/11/09 by Marc.Audy

	Enable raw input plugin and configure for use with the Logitech G920 all vehicle templates and vehicle game.
	#jira UEFW-237

Change 3191915 on 2016/11/09 by Marc.Audy

	Provide useful tooltips for raw input setting properties
	#jira UEFW-237

Change 3192039 on 2016/11/09 by dan.reynolds

	AEOverview Update

	- Added a map for checking multi-channel file playback: AEOverviewMultichannel.umap

	- Incorporated AVOverviewAZPlaySoundAtLocation test into the AEOverviewMain submap list temporarily for testing purposes

Change 3192059 on 2016/11/09 by Martin.Wilson

	Fix montage thumbnail rendering with ref pose

	#jira UE-35578

Change 3192065 on 2016/11/09 by Martin.Wilson

	Widen bone reference widget to give a better view of the name and added full name to tooltip

	#jira UE-36264

Change 3192217 on 2016/11/09 by Martin.Wilson

	Auto selected current bone when opening bone reference tree

	#Jira UE-36264

Change 3192332 on 2016/11/09 by Marc.Audy

	Fix RawInput compiling when WITH_EDITOR is false
	#jira UE-38433

Change 3193061 on 2016/11/10 by Thomas.Sarkanen

	Marked facial animation plugin & component as experimental/beta

Change 3193072 on 2016/11/10 by Martin.Wilson

	Correct reference skeleton fix up order

Change 3193112 on 2016/11/10 by Danny.Bouimad

	Pesudo hair asset usintphat for testing

Change 3193243 on 2016/11/10 by Martin.Wilson

	Fix removal of USkeleton bone tree entries

	#Jira UE-37363

Change 3193249 on 2016/11/10 by Marc.Audy

	Raw input compile fixes:
	Fix additional not with_editor compile issues
	Fix static analysis warnings
	#jira UE-38433

Change 3193558 on 2016/11/10 by Martin.Wilson

	Move "Number of Curves" label creation to attribute so that it updates dynamically

	#jira UE-26767

Change 3193664 on 2016/11/10 by Marc.Audy

	PR #2919: Fixed Comment Typo in ActorComponent.cpp (Contributed by KumaKing)
	#jira UE-38436

Change 3193719 on 2016/11/10 by Lukasz.Furman

	fixed vertical jitter in replicated NavWalking movement
	#jira UE-33260

Change 3193802 on 2016/11/10 by Marc.Audy

	Remove some autos, fix NULL to nullptr, call GetWorld just once

Change 3193809 on 2016/11/10 by Marc.Audy

	Fix Mac CIS compile error
	#jira UE-38501

Change 3194053 on 2016/11/10 by Aaron.McLeran

	Fixed crash on shutdown when using audio mixer

	- Switching audio mixer to use a runnable thread rather than async tasks
	- Fixed issue where audio buffers weren't taking ownership of wave data

Change 3194057 on 2016/11/10 by Aaron.McLeran

	Adjusting channel mapping code to better support standard down-mixing for 2D multi-channel files.

	- Added support for 8 channel source files.

Change 3194070 on 2016/11/10 by Aaron.McLeran

	Fixing stupid compile error

Change 3194779 on 2016/11/11 by Jon.Nabozny

	Fixed UnsafeDuringActorConstruction tag on USceneComponent::GetPhysicsVolume.
	Missed the '=true' portion.

Change 3194967 on 2016/11/11 by Mieszko.Zielinski

	PR #2920: Bug Fix: fix pasting Behavior Tree nodes with decorators in wrong position (Contributed by BrettKercher)

	#jira UE-38443
	#jira UE-30906

Change 3195741 on 2016/11/11 by Ben.Zeigler

	#UE-38539 Stop Orion from reinitializing it's native tag dictionary when reloading menu, this was just slow before but now ensures

Change 3196655 on 2016/11/14 by Marc.Audy

	Remove pointless remove/adds from Odin DefaultEngine.ini.
	This also fixes the duplicate redirector of AnimNode_WheelHandler as the version in BaseEngine.ini has been changed where it points to
	#jira UE-38562

Change 3196678 on 2016/11/14 by Lukasz.Furman

	pass on gameplay debugger's EQS category
	copy of CL# 3195071, 3195152, 3196617 with local fixes

Change 3196700 on 2016/11/14 by Ben.Zeigler

	#jira UE-38539 Move where orion tags are initialized to earlier in the startup for all loading flows

Change 3196719 on 2016/11/14 by Thomas.Sarkanen

	Added extra output to anim BP compiler when a blueprint function call is used

	This allows us to give more info to users when unsafe things (like blueprint functions) are used.

Change 3196799 on 2016/11/14 by Jurre.deBaare

	Fix for blendspace tooltip crash
	#fix Check before dereferencing animation ptr on samples :)

Change 3196971 on 2016/11/14 by Lukasz.Furman

	replaced hardcoded value for pathfollowing's focal point distance with a parameter
	#ue4

Change 3196994 on 2016/11/14 by Marc.Audy

	Slightly improve performance of boolean check

Change 3197768 on 2016/11/14 by dan.reynolds

	AEOverview Stage 2 WIP

	- Added Command Line auto sub-level loading (-AELoadMap=MapName01,MapName02,etc.) or sub-level categories auto loading (-AELoadCat=AE,SC,STRM,AV,etc.)

	- Added Categorization menu to Main staging map to help sorting maps by category

	- Changed menu to be dynamically loaded from editable Data Structure Arrays, so all the menu information is loaded dynamically.

Change 3197782 on 2016/11/14 by dan.reynolds

	AEOverview Stage 2 WIP - fixed misnamed sub-level reference, cleaned up some of the BP

Change 3197801 on 2016/11/14 by dan.reynolds

	AEOverviewMain Stage 2 WIP:

	- Added Select All Buttom to select all loaded menu items

Change 3197988 on 2016/11/15 by Thomas.Sarkanen

	Add the ability to use incompatible meshes with snapshots

	We now use a name-based mapping to copy local poses to the correct bones in the hierarchy, similar to CopyPoseFromMesh.
	No access to UObjects (components or meshes) is performed on worker threads. Bone names are all cached on the game thread when needed and used on worker threads.

	#jira UE-38413 - Pose snapshot cannot be used across meshes with different hierarchies

Change 3198062 on 2016/11/15 by Thomas.Sarkanen

	Disabled threaded update on various anim blueprints to remove cook warnings

	#jira UE-38537 - Cooking FortniteGame results in warnings

Change 3198071 on 2016/11/15 by Thomas.Sarkanen

	Fix default values not being available to change post anim BP compilation

	Make sure we re-select with force refresh on so the details panel is rebuilt even if the objects are the same (as the customization relies upon it).

	#jira UE-38518 - Animation Blueprint: Default values cannot be changed after compiling if node is currently selected

Change 3198082 on 2016/11/15 by Jurre.deBaare

	CRASH If the Vertical Axis of a blendspace is set to 0 segments when an animation is on the blendspace the editor crashes
	#fix UI and ClampMin to 1
	#jira UE-38587

Change 3198138 on 2016/11/15 by Thomas.Sarkanen

	Expose montage functions to Blueprint

	Made sure to flag appropriate functions as not thread safe.
	Also const-corrected a few functions that should be.

	Github #2918: Blueprint Callable Montage Set/Get Position
	#jira UE-38391 - GitHub 2918 : Blueprint Callable Montage Set/Get Position

Change 3198141 on 2016/11/15 by Jurre.deBaare

	Crash from generated Merged Actor with no created lightmap UV
	#fix Always flag UV channel 0 to be occupied
	#jira UE-38520

Change 3198420 on 2016/11/15 by Thomas.Sarkanen

	Move thread-safety check flags to the UAnimBlueprint

	Then have the compiler propogate the flags to the CDO. Prevents issues where the old CDO wasnt propgated during compile-on-load.
	Also move blueprint usage warning flag into the UAnimBlueprint too, as these suffer from the same issues.

	#jira UE-38537 - Cooking FortniteGame results in warnings

Change 3198485 on 2016/11/15 by Thomas.Sarkanen

	Properly fix compile-on-load/cook warnings about anim blueprint thread safety

	Content only re-save.

	#jira UE-38537 - Cooking FortniteGame results in warnings

Change 3198622 on 2016/11/15 by Ben.Zeigler

	#jira UE-38632 Fix blueprint warning, was calling SetActive from construction script which is no longer allowed. This was being used for an editor-only debug feature

[CL 3198987 by Marc Audy in Main branch]
2016-11-15 15:29:41 -05:00
Robert Manuszewski
17538be4f8 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3151653)
#lockdown Nick.Penwarden

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

Change 2975891 on 2016/05/12 by Gil.Gribb

	merged in new async stuff from dev-rendering.

Change 2976695 on 2016/05/13 by Gil.Gribb

	updated precache list

Change 2977030 on 2016/05/13 by Gil.Gribb

	Added time slicing to CreateAsyncPackagesFromQueue, radically reduced the frequency of "precache trimming" and changed a few things in the test rig and logging

Change 2977090 on 2016/05/13 by Gil.Gribb

	Fixed module manager threading and added cmd line param to force async loading thread.

Change 2977292 on 2016/05/13 by Gil.Gribb

	check for thread safety in looking at asset registry

Change 2977296 on 2016/05/13 by Gil.Gribb

	removed some super-expensive check()s from precacher

Change 2978368 on 2016/05/16 by Gil.Gribb

	Move several exposive bools inside of the basic tests inside of FLinkerLoad::Preload, saves a fraction of second.

Change 2978414 on 2016/05/16 by Gil.Gribb

	Added support and testing for unmounting pak files to the pak precacher.

Change 2978446 on 2016/05/16 by Gil.Gribb

	Allow linker listing in non-shipping builds

Change 2978550 on 2016/05/16 by Gil.Gribb

	Allowed some linker spew in non-shipping builds (instead of debug builds). Some tweak to help track down the music.uasset leak.

Change 2979952 on 2016/05/17 by Robert.Manuszewski

	Merging //UE4/Dev-Core @ 2979938 to Dev-UE-30519-LoadTimes

Change 2984927 on 2016/05/20 by Gil.Gribb

	fix a few bugs with an mcp repro

Change 2984951 on 2016/05/20 by Gil.Gribb

	fixed issues with USE_NEW_ASYNC_IO = 0

Change 2985296 on 2016/05/20 by Gil.Gribb

	Fixed several bugs with the MCP boot test

Change 2987956 on 2016/05/24 by Robert.Manuszewski

	Fixing leaked linkers created by blocking load requests during async loading.

Change 2987959 on 2016/05/24 by Joe.Conley

	Enable load timings in block loading also (in addition to async loading).

Change 3017713 on 2016/06/17 by Robert.Manuszewski

	Removing GUseSeekFreeLoading.

Change 3017722 on 2016/06/17 by Robert.Manuszewski

	Renaming LOAD_SeekFree flag to LOAD_Async to better reflect its current purpose.

Change 3017833 on 2016/06/17 by Robert.Manuszewski

	Merging //UE4/Dev-Core to Dev-UE-30519-LoadTimes (//Tasks/Dev-Core/Dev-UE-30519-LoadTimes)

Change 3017840 on 2016/06/17 by Robert.Manuszewski

	Re-doing Dev-Core changes to Delegates 2/2

Change 3022872 on 2016/06/22 by Gil.Gribb

	reorder memory trim and deleting loaders

Change 3059218 on 2016/07/21 by Robert.Manuszewski

	Fixing compilation errors - adding missing load time tracker stats.

Change 3064508 on 2016/07/26 by Robert.Manuszewski

	Removing blocking loading path in cooked builds. LoadPackage will now use the async path.

Change 3066312 on 2016/07/27 by Gil.Gribb

	Event driven loader, first pass

Change 3066785 on 2016/07/27 by Gil.Gribb

	Removed check...searching forward for export fusion can release a node

Change 3068118 on 2016/07/28 by Gil.Gribb

	critical bug fixes for the event driven loader

Change 3068333 on 2016/07/28 by Gil.Gribb

	correctly handle the case where a file is rejected after loading the summary

Change 3069618 on 2016/07/28 by Robert.Manuszewski

	Merging //UE4/Dev-Core to Dev-UE-30519-LoadTimes (//Tasks/Dev-Core/Dev-UE-30519-LoadTimes)

Change 3069901 on 2016/07/29 by Robert.Manuszewski

	Fixing an hang when loading QA-Blueprints level

Change 3070171 on 2016/07/29 by Gil.Gribb

	fixed CDO cyclic dependencies

Change 3075288 on 2016/08/03 by Gil.Gribb

	misc fixes to the event driven loader

Change 3077332 on 2016/08/04 by Robert.Manuszewski

	Fixing checkSlow asserts caused by new loading code not being flagged as IsInAsyncLoadThread() and CreateSynchEvent deprecation warning.

Change 3078113 on 2016/08/04 by Gil.Gribb

	implemented "nicks rule" and undid some previous material and world hacks needed without it.

Change 3079480 on 2016/08/05 by Gil.Gribb

	fixes and tweaks on event driven loader

Change 3080135 on 2016/08/07 by Gil.Gribb

	misc fixes for event driven loader, now with reasonable memory

Change 3083722 on 2016/08/10 by Robert.Manuszewski

	Fixing hangs when async loading packages.

Change 3091747 on 2016/08/17 by Gil.Gribb

	Fix all hitches in streaming load that were regressions.

Change 3093258 on 2016/08/18 by Gil.Gribb

	Fix bug that caused an assert when packages fail to load for certain reasons (like loading an uncooked file).

Change 3095719 on 2016/08/20 by Gil.Gribb

	reenable async loading thread and cleanup and bug fixes

Change 3096350 on 2016/08/22 by Gil.Gribb

	tweak task priorities a bit to minimize precaching memory

Change 3096355 on 2016/08/22 by Gil.Gribb

	add support for precaching for "loose files" in the generic async layer.

Change 3098091 on 2016/08/23 by Gil.Gribb

	Split header into a separate file and disabled a bad optimization in the bulk data.

Change 3099783 on 2016/08/24 by Gil.Gribb

	rework dependency graph to be much, much faster. About half done.

Change 3100995 on 2016/08/25 by Gil.Gribb

	fixed bugs with streaming texture from .uexp and cook time check that should have been runtime only

Change 3101369 on 2016/08/25 by Gil.Gribb

	fixed bug with blueprints in the new loader.

Change 3102793 on 2016/08/26 by Gil.Gribb

	PS4 - fixed small block memcpy to actually be inline

Change 3103785 on 2016/08/27 by Gil.Gribb

	fixed case bug with pak order. devirtualized flinkerload::serialize, made sure -fileopenlog is not heavily skewed

Change 3104884 on 2016/08/29 by Gil.Gribb

	fixed a BP bug and tweaked the -fileopenlog behavior to do leaf assets DFS

Change 3105266 on 2016/08/29 by Ben.Zeigler

	Editor build compilation fix

Change 3105774 on 2016/08/30 by Gil.Gribb

	add checks to locate cases where we try to use something that isn't loaded yet

Change 3107794 on 2016/08/31 by Gil.Gribb

	fixed abug with BP's not loading the parent CDO soon enough

Change 3114278 on 2016/09/06 by Gil.Gribb

	looping loads for paragon load test

Change 3114311 on 2016/09/06 by Ben.Zeigler

	Fix linux compile

Change 3114350 on 2016/09/06 by Ben.Zeigler

	Linux supports fast unaligned int reads

Change 3116169 on 2016/09/07 by Ben.Zeigler

	Force enable separate bulk data cooking when using split cooked files, end-of-exp-file doesn't make sense with the new cook scheme and will crash at runtime

Change 3116538 on 2016/09/07 by Gil.Gribb

	add dependencies for CDO subobjects

Change 3116596 on 2016/09/07 by Ben.Zeigler

	Change crash to warning when trying to load an import to a missing native class, can happen with editor only classes.

Change 3116855 on 2016/09/07 by Ben.Zeigler

	Move cook dialog down a bit so I can cook without constant dialogs popping up

Change 3117452 on 2016/09/08 by Robert.Manuszewski

	Fixing hang when suspending async loading with the async loading thread enabled.

Change 3119255 on 2016/09/09 by Robert.Manuszewski

	Removing texture allocations from PackageFileSummary as they were not used by anything.

Change 3119303 on 2016/09/09 by Gil.Gribb

	Fixed font issue by making all all bulk data either inline or in a ubulk. Added support for compressed packages.

Change 3120324 on 2016/09/09 by Ben.Zeigler

	Fix Cook warnings. Skip transient and client/server only objects when adding dependencies, and mark ShapeComponent BodySetups as properly transient.

Change 3121960 on 2016/09/12 by Ben.Zeigler

	Add RandomizeLoadOrder CVar to randomize the package serial number it uses for sorting async loads

Change 3122635 on 2016/09/13 by Gil.Gribb

	reworked searching disk warning and minor change to the background tasks used for decompression

Change 3122743 on 2016/09/13 by Gil.Gribb

	added some checks around memory accounting

Change 3123395 on 2016/09/13 by Ben.Zeigler

	Enable MallocBinned2 by default on cooked windows builds, similar to how PS4 works.
	Disabled thread pool cache clearing on windows, the threading function it was using is very slow on windows specifically

Change 3124748 on 2016/09/14 by Gil.Gribb

	Store template in import/export table and refer to it for each export to avoid calling GetArchetypeFromRequiredInfo. Minor fix for some NeedLoadForCLient etc stuff on landscape and CDOs. Fix texture streamer minmips stuff.

Change 3125153 on 2016/09/14 by Gil.Gribb

	don't put transient objects in the import map

Change 3126668 on 2016/09/15 by Gil.Gribb

	Fix critical bug with imports not waiting for the corresponding export to serialize. Fixed paragon test rig to run longer looping by flushing the renderer. Made random mode more random.

Change 3126755 on 2016/09/15 by Gil.Gribb

	ooops, test rig fix

Change 3127408 on 2016/09/15 by Ben.Zeigler

	Back out changelist 3123395, restoring windows memory to 4.13 setup

Change 3127409 on 2016/09/15 by Ben.Zeigler

	Remove Memory trim from FlushAsyncLoading, because it gets called much more often in new flow and is slow on some platforms

Change 3127948 on 2016/09/16 by Gil.Gribb

	Added a check() on any attempt to serialize a pointer to something that hasn't been created yet. This will help us find missing dependencies. There is an exception to this related to CDOs.

Change 3128094 on 2016/09/16 by Robert.Manuszewski

	Fixing exports referenced by weak object pointers not being added to the preload dependency list of of the exports that depend on them.

	+ Moved weak object pointer serialization to FArchive operator << to be able to override its behavior when cooking.

Change 3128148 on 2016/09/16 by Robert.Manuszewski

	Gil's mod to how we detect exports with missing dependencies

Change 3129052 on 2016/09/16 by Ben.Zeigler

	Add Missing Serialize helpers for WeakObjectPtrs, fixes crash with replicating weak objects

Change 3129053 on 2016/09/16 by Ben.Zeigler

	Fake integrate CL #3123581 from Dev-Framework, to correctly handle detecting components as editor only even when they have collision. Fixes crashes with blueprint editor only components that depend on native templates

Change 3129630 on 2016/09/17 by Gil.Gribb

	better logging for missing dependencies and properly ifdef'd the CDO primitive comp hack

Change 3130178 on 2016/09/19 by Robert.Manuszewski

	Use the correct macro (COOK_FOR_EVENT_DRIVEN_LOAD instead of USE_NEW_ASYNC_IO) for SavePackage changes from CL #3128094

Change 3130224 on 2016/09/19 by Robert.Manuszewski

	Compile error fix

Change 3130391 on 2016/09/19 by Gil.Gribb

	Add cook time fatal errors, and undid a previous change we don't seem to need relating to editor only CDOs

Change 3130484 on 2016/09/19 by Gil.Gribb

	fixed botched GetArchetypeFromRequiredInfo

Change 3131966 on 2016/09/20 by Robert.Manuszewski

	Making the new event driven loader disabled by default. It's now also configurable via project settings (under Streaming Settings -> Event Driven Loader Enabled).

	Enabled the event driven loader for a few internal projects.

Change 3132035 on 2016/09/20 by Gil.Gribb

	fix dynamic switch on new loader

Change 3132041 on 2016/09/20 by Robert.Manuszewski

	Fix for packages not being saved to disk when cooking with event driven loader disabled.

Change 3132195 on 2016/09/20 by Robert.Manuszewski

	Enabling the event driven loader for Zen

Change 3133870 on 2016/09/21 by Graeme.Thornton

	Config files now enable the event driven loader with the correct cvar name

Change 3135812 on 2016/09/22 by Gil.Gribb

	fixed some bugs with GC during streaming

Change 3136102 on 2016/09/22 by Robert.Manuszewski

	Release GC lock when FlushingAsyncLoading when running GC.

Change 3136633 on 2016/09/22 by Gil.Gribb

	fix bug with linkers finsihing before other things linked their imports

Change 3138002 on 2016/09/23 by Robert.Manuszewski

	Added an assert that will prevent content cooked for the event driven loader to be loaded by game builds that have the EDL disabled.

Change 3138012 on 2016/09/23 by Gil.Gribb

	Improved the fix to prevent packages from finishing before external imports have linked. Async load object libraries.

Change 3138031 on 2016/09/23 by Gil.Gribb

	do not preload obj libs in editor

Change 3139176 on 2016/09/24 by Gil.Gribb

	fixed another bug with an attempt to call GetArchetypeFromRequiredInfo

Change 3139459 on 2016/09/26 by Robert.Manuszewski

	Merging //UE4/Release-4.13 to Dev-LoadTimes (//Tasks/UE4/Dev-LoadTimes)

Change 3139668 on 2016/09/26 by Gil.Gribb

	change some checks to errors on bad bulk data loads

Change 3141127 on 2016/09/27 by Robert.Manuszewski

	Preventing linkers from being detached too early when async loading.

Change 3141129 on 2016/09/27 by Robert.Manuszewski

	Releasing GC Lock before calling post GC callbacks to allow StaticFindObject use in these callbacks

Change 3142048 on 2016/09/27 by Robert.Manuszewski

	Changing async loading code to not close DelayedLinkerClosePackages linkers until the async package that triggered their creation has finished loading.

Change 3143132 on 2016/09/28 by Gil.Gribb

	fixed text render comp, which has some editor only issues. Fixes a runtime crash and adds a cooktime warning.

Change 3143198 on 2016/09/28 by Gil.Gribb

	fixed it so that bogus loads of bulk data are warned but do not crash

Change 3143287 on 2016/09/28 by Robert.Manuszewski

	UBT will now invalidate its makefiles if ini files are newer than the makefile (ini files may contains global build settings).

	+ Android toolchain will add hashed command line values to the action reposnse filenames to actually allow it to detect compiler command line changes when detecting actions to execute

Change 3143344 on 2016/09/28 by Robert.Manuszewski

	Make UAT pass the project filename to UBT when build non-code projects so that UBT can parse all ini files.

Change 3143865 on 2016/09/28 by Gil.Gribb

	iffy fix for the net load assert in paragon, plus a few checks and one bit of code removed that should never be hit in the EDL, but makes no sense

Change 3144683 on 2016/09/29 by Graeme.Thornton

	Minor refactor of pak file non-filename stuff
	 - Don't check for file existing before running through the security delegate
	 - Default behaviour when using new IO is to reject uasset/umap/ubulk/uexp files immediately. Can be disabled by setting EXCLUDE_NONPAK_UE_EXTENSIONS to 0 in project .build.cs

Change 3144745 on 2016/09/29 by Graeme.Thornton

	Orion non-pak file whitelisting is enabled for all cooked game only builds now, rather than just clients

Change 3144780 on 2016/09/29 by Gil.Gribb

	use poison proxy on non-test/shipping builds

Change 3144819 on 2016/09/29 by Gil.Gribb

	added a few asserts and added an improved fix for the net crash

Change 3145414 on 2016/09/29 by Gil.Gribb

	fixed android assert....not sure why I need that block of code.

Change 3146502 on 2016/09/30 by Robert.Manuszewski

	Fix for GPU hang from MarcusW

Change 3146774 on 2016/09/30 by Robert.Manuszewski

	Fixing a crash when constantly streaming levels in and out caused by keeping references to objects (levels) that were requested to be streamed out.

	- Removed FAsyncObjectsReferencer. References will now be owned by FAsyncPackage
	- UGCObjectReferencer is now more thread safe

Change 3148008 on 2016/10/01 by Gil.Gribb

	add additional error for attempting to create an object from a class that needs to be loaded

Change 3148009 on 2016/10/01 by Gil.Gribb

	fix very old threading bug whereby the ASL and GT would attempt to use the same static array

Change 3148222 on 2016/10/02 by Robert.Manuszewski

	Fix for an assert when an FGCObject is removed when purging UObjects

Change 3148229 on 2016/10/02 by Gil.Gribb

	disable assert that was crashing paragon ps4

Change 3148409 on 2016/10/03 by Robert.Manuszewski

	Allow another case for removing FGCObjects while in GC.

Change 3148416 on 2016/10/03 by Robert.Manuszewski

	Merging //UE4/Release-4.13 to Dev-LoadTimes (//Tasks/UE4/Dev-LoadTimes)

Change 3149566 on 2016/10/03 by Ben.Zeigler

	#jira UE-36664 Fix issue where objects loaded during async loading could be added to the wrong package's object list, if a time slice ended at the wrong point

Change 3149913 on 2016/10/04 by Gil.Gribb

	better broadcast

Change 2889560 on 2016/03/02 by Steven.Hutton

	Packages for scheduled tasks.

Change 2889566 on 2016/03/02 by Steven.Hutton

	Remaining nuget packages for hangfire, unity and scheduled tasks.

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 3047870 on 2016/07/13 by Steven.Hutton

	Updated CRW to entity framework with repository models. #rb none

Change 3126265 on 2016/09/15 by Steve.Robb

	Fix for TCString::Strspn.

Change 3126266 on 2016/09/15 by Steve.Robb

	Alternative fix for GitHub 2698: Fix one bug : Parsing command "Enable True" is invalid.

	#jira UE-34670

Change 3126268 on 2016/09/15 by Steve.Robb

	UWorld can no longer be extended by users.
	UHT now handles final class declarations.

	#jira UE-35708

Change 3126273 on 2016/09/15 by Steve.Robb

	A further attempt to catch uninitialized pointers supplied to the GC.

	#jira UE-34361

Change 3130042 on 2016/09/19 by Steve.Robb

	Super for USTRUCTs.

	Suggested here: https://udn.unrealengine.com/questions/310461/automatically-typedef-super-for-ustructs.html

Change 3131861 on 2016/09/20 by Steven.Hutton

	Reconciling work for view engine changes #rb none

Change 3131862 on 2016/09/20 by Steve.Robb

	Removal of THasOperatorEquals and THasOperatorNotEquals from Platform.h, which should have happened as part of CL# 3045963.

Change 3131863 on 2016/09/20 by Steven.Hutton

	Adding packages #rb none

Change 3131869 on 2016/09/20 by Steve.Robb

	Improved error message for enum classes with a missing base:

	Error: Missing base specifier for enum class 'EMyEnum' - did you mean ': uint8'?

Change 3132046 on 2016/09/20 by Graeme.Thornton

	Fix for cvar thread access assert in FLandscapeComponentGrassData serialization function
	 - This function can be called from the async thread so access CVarGrassDiscardDataOnLoad with GetValueOnAnyThread() rather than GetValueOnGameThread()

Change 3133201 on 2016/09/20 by Ben.Zeigler

	Reorganize WindowsPlatformMemory and MacPlatformMemory to work like LinuxPlatformMemory where there is an enum to select the allocator, and move some of it up to GenericPlatformMemory
	Add command line options to select malloc at runtime for Windows and Linux, I don't know how Mac options work
	Improve the performance of BroadcastSlow_OnlyUseForSpecialPurposes on windows, but there are cases where it occaisionally stalls for a few seconds waiting for the flush
	Add MallocBinned2 as an option for mac, linux, and windows, but default to off due to some threading issues

Change 3133722 on 2016/09/21 by Graeme.Thornton

	Cooker forces a shader compilation flush when it detects that it has passed the max memory budget

Change 3133756 on 2016/09/21 by Steve.Robb

	Refactor of TrimPrecedingAndTrailing to avoid a call to FString::Mid with a negative count, which is now illegal.

	#jira UE-36163

Change 3134182 on 2016/09/21 by Steve.Robb

	GitHub #1986: Don't show warnings and erros in console twice with UCommandlet::LogToConsole == true

	#jira UE-25915

Change 3134306 on 2016/09/21 by Ben.Zeigler

	Fix it so FMallocBinned2::Trim skips task threads on desktop platforms, they are too slow and don't allocate much memory
	Enable MallocBinned2 as default binned malloc on Windows
	Remove the -Run command line check as it was removed from the old version as well

Change 3135569 on 2016/09/22 by Graeme.Thornton

	Don't create material resources if we are in a build that can never render
	 - Saves a few MB of memory

Change 3135652 on 2016/09/22 by Steve.Robb

	New async-loading-thread-safe IsA implementation.

	#jira UECORE-298

Change 3135692 on 2016/09/22 by Steven.Hutton

	Minor bug fixes to view pages #rb none

Change 3135990 on 2016/09/22 by Robert.Manuszewski

	Adding ENGINE_API to FStripDataFlags sp that it can be used outside of the Engine module.

Change 3136020 on 2016/09/22 by Steve.Robb

	Display a meaningful error and shutdown if Core modules fail to load.

	https://udn.unrealengine.com/questions/312063/mac-unrealheadertool-failing-randomly.html

Change 3136107 on 2016/09/22 by Chris.Wood

	Added S3 file upload to output stage of Crash Report Process (v.1.1.26)
	[UE-35991] - Crash Report Process to write crash files to S3

	Also adds OOM alerts to CRP.
	Also disk space alerts changed to 5% free space and repeat once every 30 minutes instead of 10 minutes.

Change 3137562 on 2016/09/23 by Steve.Robb

	TUniquePtr<T[]> support.

Change 3138030 on 2016/09/23 by Steve.Robb

	Virtual UProperty functions moved out of headers into .cpp files to ease iteration.

Change 3140381 on 2016/09/26 by Chris.Wood

	Disabled uploads via CRRs while leaving services switched on to avoid crashes in some clients.
	[UETOOL-1005] - Turn off CrashReportReceivers

Change 3141150 on 2016/09/27 by Steve.Robb

	Invoke support for TFunction.

Change 3141151 on 2016/09/27 by Steve.Robb

	UBoolProperty now supports hashing and is therefore usable as a TSet element or TMap key.
	FText is now prevented from being a TSet element or TMap key.
	UTextProperty::GetCPPTypeForwardDeclaration implementation moved to the .cpp file.

	#jira UE-36051
	#jira UE-36053

Change 3141440 on 2016/09/27 by Chris.Wood

	Removed legacy queues and unnecessary duplication checks from Crash Report Process (v1.2.0)
	[UE-36246] - CRP scalability: Simplify CRP inputs to DataRouter/S3 only

Change 3142999 on 2016/09/28 by Chris.Wood

	Added dedicated PS4 crash queue to Crash Report Process (v1.2.1)

Change 3144831 on 2016/09/29 by Steve.Robb

	InternalPrecache now flags the archive as in-error so that it can be checked by a caller, rather than popping up a dialog box and asserting.

	#jira https://jira.it.epicgames.net/browse/OPP-6036

Change 3145184 on 2016/09/29 by Robert.Manuszewski

	FScopedCreateImportCounter will now always store the current linker and restore the previous one when it exits.

Change 3148432 on 2016/10/03 by Robert.Manuszewski

	Thread safety fixes for the async log writer + made the async log writer flush its archive more often.

Change 3148661 on 2016/10/03 by Graeme.Thornton

	Fixing merge of IsNonPakFilenameAllowed()
	 - Removed directory search stuff... we pass everything to the delegate now anyway

Change 3149669 on 2016/10/03 by Ben.Zeigler

	Lower verbosity of warnings from deleting native properties. These cases do not cause any problems and are not fixable without resaving the content after it has started warning. I checked Jira history and neither of these warnings has ever found a real bug, but has caused a lot of content to be resaved unnecessarily.

Change 3149670 on 2016/10/03 by Ben.Zeigler

	Merge CL #3149566 from Dev-LoadTimes
	#jira UE-36664 Fix issue where objects loaded during async loading could be added to the wrong package's object list, if a time slice ended at the wrong point

Change 3149835 on 2016/10/04 by Graeme.Thornton

	Thread safety fix for SkyLightComponent
	 - Add to global update list from PostLoad rather than PostInitProperties so that it happens on the game thread, and not the async loading thread (if enabled)

Change 3149836 on 2016/10/04 by Graeme.Thornton

	Thread safety fix for ReflectionCaptureComponent
	 - Add to global update list from PostLoad rather than PostInitProperties so that it happens on the game thread, and not the async loading thread (if enabled)

Change 3149959 on 2016/10/04 by Robert.Manuszewski

	Allow import packages to be missing if they're on the KnownMissingPackages list

Change 3150023 on 2016/10/04 by Steven.Hutton

	Updating jira strings. #rb none

Change 3150050 on 2016/10/04 by Steve.Robb

	MakeShared now returns a TSharedRef (which is implicitly convertible to TSharedPtr) rather than a TSharedPtr (which is not implicitly convertible to TSharedRef), for ease of use and because MakeShared can't return a null pointer anyway.

Change 3150110 on 2016/10/04 by Robert.Manuszewski

	Allow UGCObjectReferencer::AddObjects to happen during BeginDestry and FinishDestroy. It's fine as long as we're not adding new objects during reachability analysis.

Change 3150120 on 2016/10/04 by Gil.Gribb

	fix task graph/binned2 broadcast for PS4

Change 3150195 on 2016/10/04 by Robert.Manuszewski

	Fixing WEX crash
	#jira UE-36801

Change 3150212 on 2016/10/04 by Robert.Manuszewski

	Increasing compiler memory limit to fix CIS errors
	#jira UE-36795

Change 3151583 on 2016/10/05 by Robert.Manuszewski

	Temporarily switching to the old IsA path

	#jria UE-36803

Change 3151642 on 2016/10/05 by Steve.Robb

	Dependency fixes for GameFeedback modules.

Change 3151653 on 2016/10/05 by Robert.Manuszewski

	Maybe fix for crash on the Mac

	#jira UE-36846

[CL 3152539 by Robert Manuszewski in Main branch]
2016-10-05 16:51:01 -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
af30c884a5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2946506 on 2016/04/18 by Steven.Hutton

	Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports.

Change 3017807 on 2016/06/17 by Chris.Wood

	Improved Crash Report Process folder delete code as it could sometimes fail.
	[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue

	Also added logging to Slack when stop request received instead of just when stop is complete.

Change 3019367 on 2016/06/20 by Chris.Wood

	Improve Crash Report Process logging to track bad reads from S3.
	Also, better logging when CleanReport fails to delete folders.

Change 3019376 on 2016/06/20 by Steve.Robb

	Clarification of assert message and comments which talk about 'null' TFunctions.
	Tidy-up of dead code.

Change 3019409 on 2016/06/20 by Steve.Robb

	New Find and FindByPredicate algorithms for finding stuff in arbitrary containers.

Change 3022658 on 2016/06/22 by Chris.Wood

	Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11)
	[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue

	Also improved logging to Slack with better layout, fixed event ordering and counting duplicates.

Change 3022840 on 2016/06/22 by Steve.Robb

	Skipped UHT attributes removed.

Change 3022907 on 2016/06/22 by Robert.Manuszewski

	Fixing crash when adding a new C++ class to project

	#jira UE-32333

Change 3023169 on 2016/06/22 by Steve.Robb

	Checks for UTHINGs in skipped preprocessor blocks.
	Fixes for skipped UTHINGs and some other parsing accidents.

	#jira UE-31627

Change 3023239 on 2016/06/22 by Steve.Robb

	Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html

Change 3026812 on 2016/06/24 by Mieszko.Zielinski

	Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4

Change 3028235 on 2016/06/27 by Robert.Manuszewski

	PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist)

Change 3028282 on 2016/06/27 by Steve.Robb

	Fix for missing UFUNCTION check in skipped preprocessor blocks.

	#jira UE-31627

Change 3028284 on 2016/06/27 by Steve.Robb

	Debuggability improvements and coding standards changes.

Change 3028343 on 2016/06/27 by Steve.Robb

	Fix for UHT error in WEX.

	#jira UE-32464

Change 3028393 on 2016/06/27 by Steve.Robb

	Fix for hot reload of enums finding the old enum.
	Fix to stop SPropertyEditorNumeric caching the enum flags.

	#jira UE-31658

Change 3030362 on 2016/06/28 by Robert.Manuszewski

	Fixing hang when cooking.

Change 3030462 on 2016/06/28 by Steve.Robb

	Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild.

	#jira UE-32001

Change 3034341 on 2016/06/30 by Robert.Manuszewski

	Modified crash handling code (on Windows) to handle two threads crashing at the same time properly.  Previously the second crash would force the process to exit before generating the crash report.

	Added 'debug twothreadsgpf' command to test the functionality.

Change 3034342 on 2016/06/30 by John.Mahoney

	Fix for crash when loading an empty cached asset registry.

	#jira UE-32232

Change 3035599 on 2016/07/01 by Chris.Wood

	Added support for CrashType string to Crash Report Process. CRP v1.1.12
	[UE-30592] - Crash Reporter should determine crash type on client and pass string to server

	Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible.

	Added in missing crash context parameters that have been added to clients but not known by the server.

Change 3035787 on 2016/07/01 by John.Mahoney

	Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h.

	#jira UE-30189

Change 3036933 on 2016/07/04 by Steve.Robb

	Proper forwarding constructor for FAsyncTask.

Change 3036938 on 2016/07/04 by Steve.Robb

	Fix for CDO hot reload corrupting memory when replacing references inside structs.

	#jira UE-29335

Change 3036960 on 2016/07/04 by Steve.Robb

	Fix for FAnsiAllocator::ResizeAllocation when resizing to zero.

Change 3037423 on 2016/07/05 by Steve.Robb

	FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool.

Change 3037464 on 2016/07/05 by Steve.Robb

	HotReload.cpp cleanup:

	Deep nesting flattened.
	Linear array searches replaced with maps.
	FHotReloadModule::GetGameModules made into a non-member function and split into two.
	Comment and coding standard fixes.

Change 3037741 on 2016/07/05 by John.Mahoney

	Fix for COTF not checking the correct timestamps on startup.

	#jira UE-31023

Change 3037846 on 2016/07/05 by Steve.Robb

	Fix for compile button disappearing on a bad compile.

	#jira UE-31575

Change 3037994 on 2016/07/05 by Steve.Robb

	Static analysis fixes:

	warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.

Change 3039186 on 2016/07/06 by Robert.Manuszewski

	Enabling crash callstack logging by default.

Change 3039220 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot
	warning C6001: Using uninitialized memory 'UserNameLength'
	warning C6001: Using uninitialized memory 'DomainNameLength'

Change 3039230 on 2016/07/06 by Steve.Robb

	Fix for VC internal compiler errors.

Change 3039237 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'Path':  the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read.

Change 3039287 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
	warning C6101: Returning uninitialized memory '*lpdwExitCode'.  A successful path through the function does not set the named _Out_ parameter.
	warning C6387: '_Param_(1)' could be '0':  this does not adhere to the specification for the function 'IMoniker::BindToStorage'.
	warning C6387: '_Param_(1)' could be '0':  this does not adhere to the specification for the function 'IMoniker::BindToObject'.
	warning C6031: Return value ignored: 'CoCreateInstance'.

Change 3039359 on 2016/07/06 by Graeme.Thornton

	Compile error fix for FAsyncTask, courtesy of SteveR

Change 3039534 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects.

Change 3039545 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6297: Arithmetic overflow:  32-bit value is shifted, then cast to 64-bit value.  Results might not be an expected value.

Change 3039578 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6263: Using _alloca in a loop:  this can quickly overflow stack.

Change 3039623 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'
	warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
	warning C6385: Reading invalid data from 'X':  the readable size is 'Y' bytes, but 'Z' bytes may be read.
	warning C6386: Buffer overrun while writing to 'X':  the writable size is 'Y' bytes, but 'Z' bytes might be written.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 3039630 on 2016/07/06 by John.Mahoney

	Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here.

	#jira UE-29123

Change 3039664 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'NewKeys':  the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
	warning C6386: Buffer overrun while writing to 'NewHeapIndexes':  the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.

Change 3039673 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'.

Change 3039690 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope.
	warning C6262: Function uses '121180' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.
	warning C6263: Using _alloca in a loop:  this can quickly overflow stack.

Change 3040868 on 2016/07/07 by Graeme.Thornton

	Config based class stripping for server builds

Change 3040872 on 2016/07/07 by Graeme.Thornton

	Remove "return false" NeedsLoadForServer functions from engine code

Change 3040997 on 2016/07/07 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Landscape'.
	warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'.
	warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'.

Change 3041004 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 3041014 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 3041111 on 2016/07/07 by Steve.Robb

	Removal of an obsolete error message about INI file case sensitivity.

Change 3041150 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?

Change 3041274 on 2016/07/07 by Steve.Robb

	Static analysis fixes: warning C6001: Using uninitialized memory 'X'.

Change 3041294 on 2016/07/07 by Chris.Wood

	Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14)
	[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack

	Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length.

	Increased buffer size for decompression as this was sometimes too small.

	Modified S3 reading code to look for multiple records in each downloaded file.

Change 3041472 on 2016/07/07 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.
	warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'.

Change 3043074 on 2016/07/08 by John.Mahoney

	Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name.
	Fix for COTF GetFiles not handling absolute GameDir paths properly.

	#jira UE-31023

Change 3044461 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes':  the writable size is '16384' bytes, but '-8' bytes might be written.

Change 3044470 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'.

Change 3044476 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.

Change 3044551 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did.

Change 3044664 on 2016/07/11 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'.
	warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did.
	warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'.
	warning C6385: Reading invalid data from 'out':  the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read.

Change 3044716 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize':  the readable size is '32' bytes, but '-4' bytes may be read.

Change 3044717 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did.

	This appears to be a false positive.

Change 3044787 on 2016/07/11 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'FbxObject'.
	warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did.
	warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did.

Change 3045933 on 2016/07/12 by Steve.Robb

	Overloading support for TSharedPtr, TSharedRef and TWeakPtr.

Change 3045960 on 2016/07/12 by Robert.Manuszewski

	Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled.

Change 3045963 on 2016/07/12 by Steve.Robb

	PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed.
	THasOperatorEquals and THasOperatorNotEquals traits moved to their own header.

Change 3045967 on 2016/07/12 by Steve.Robb

	Initializer list support for TArray and TSet.

Change 3045968 on 2016/07/12 by Robert.Manuszewski

	Fixing an ensure after typing 'stat dumphitches' in console.

Change 3045992 on 2016/07/12 by Robert.Manuszewski

	Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure)

Change 3047870 on 2016/07/13 by Steven.Hutton

	Updated CRW to entity framework with repository models. #rb none

Change 3047871 on 2016/07/13 by Steven.Hutton

	Add repository models #rb none

Change 3049468 on 2016/07/14 by Steven.Hutton

	Fix broken project files. #rb none

#lockdown Nick.Penwarden

[CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -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
Unrealbot
3f463d80d4 Branch snapshot for CL 2959226
[CL 2959226 in Main branch]
2016-04-28 13:50:05 -04:00
Robert Manuszewski
1ff335d148 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore

	Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output

Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work

Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	PC builds now log engine initialization time with the load time tracker

Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Optimization for FSignedArchiveReader
	 - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread

Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore

	Extra stats for PakFile group
	 - Time reading from pak handles
	 - Number of open pak handles

Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore

	Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster

Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Close disregard for GC pool when disabling it to leave it in a good state.

Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core

	FlushCurrentThreadCache calls forwarded on from FMalloc wrappers.

Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core

	Stats for MallocBinned2.

Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash.

Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors.

Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Send thread heartbeats during potentially slow tasks.

Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added the ability to query the name of a thread given its TLS id.

Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core

	MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2.
	Switch back to MallocBinned by default.

Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core

	Shrunken GMallocBinned2MemSizeToIndex array.
	Improvement of some shared templated alignment-related functions.

Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore

	Refactoring of pak signing to be more compatible with patching
	 - Store signatures in a block at the end of the pak file
	 - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests.

Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Don't compile UnrealPak with ICU

Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core

	GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking

Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core

	Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0.

Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Don't display message boxes in unattended mode when D3D device is removed.

Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore

	Disable reading of anything outside the pak file when in shipping builds

Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	A few improvements to thread heartbeat thread:
	- Don't check for heartbeat in debug builds
	- Don't spawn the thread heartbeat thread for programs
	- Ignore stalls when exiting

Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing race conditions when using malloc verify

Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q.

Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core

	Fix for TQueue::Peek const-correctness.

Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding code to test signature keys.

Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	TBigInt Multiply is now 30x faster

Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core

	New FCString::Strspn and FCString::Strcspn functions.

[CL 2921423 by Robert Manuszewski in Main branch]
2016-03-24 13:53:55 -04:00
Robert Manuszewski
18e2561ceb Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x).

Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory.

Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core

	Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning.

Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core

	Further Realloc savings when realigning within a block.

Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core

	New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up.

Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core

	Sort UHT modules by type to improve iteration times in conjunction with makefiles.

Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core

	UHT error messages about missing GENERATED_BODY() macros updated to represent intended use.

Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core

	Module types split into Game and Engine runtime versions.

Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	StaticLoadObject will now respect LOAD_NoRedirects flag.

Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore

	#UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443

Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core

	Clarification of some bucket hashing terminology.

Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core

	Fix for a missing root build path on game modules.

Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core

	Move FMalloc verification into a proxy object.

Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core

	Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix).

Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core

	Simplification of MemSizeToPoolTable indexing.

Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core

	Assert fixed.
	AllocateBlockFromPool's return value made debuggable.

Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core

	UHT now returns an error code on a warning when -warningsaserrors is specified.

Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core

	WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241.

Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core

	GitHub #1938 - wrong Max value of enum is used during net serialization

Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps.

Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core

	Generalized large pool allocations.
	More redundancy removed.

Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB

	Added UserActivity property to crash description in CRP and CR website.
	[OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter

	DB column added to db-09 by ColinR matching this change.
	Published to server on Jan 18th 2016

Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB

	Added Linux to normal callstack parsing code on CR website
	[UE-25527] - Linux CrashReporter is missing information

	Published to server on Jan 19th 2016

Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal

	Fix issue for cancelling package loads when there are still packages queued.  Call their PackageLoadedDelegate with a "Cancelled" result.

	Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()"
	- (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued)

Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB

	CrashReportWebsite - fix exception thrown when parsing certain callstack formats

Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance.

Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

[CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
dfc39a6ca5 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures).

	- Saves about 25ms in reachability analysis (58ms -> 33ms)
	- UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override.
	- Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them.
	- Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code
	- Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms)

Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core

	Multicast script delegate check for existing bindings replaced with ensure.
	Multicast native delegate no longer checks for existing bindings.
	Removal of old delegate code.
	Some FORCEINLINEing to improve debugging experience of stepping into delegate code.

Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster

	Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds.
	Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code

Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster

	Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist.

Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII

Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core

	FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected.

Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster

Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing potential dead lock when suspending and resuming async loading multiple times

Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef

Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core

	Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path.
	New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs.

Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core

	FMath::IsPowerOfTwo is now templated to take any type.

Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core

	GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself.

Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core

	GitHub #1793 - File write flags argument

Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core

	Fix for FArchiveProxy::operator<< overloads.

Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams)

Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism,  should be around 2x times faster (4x since the optimization pass)

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core

	TCachedOSPageAllocator abstracted from MallocBinned2.
	Misc tidy-ups.

Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Better indication of the loading progress, should no longer freeze without a progress bar

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core

	Warn when calling delegates' Create* functions when they're not assigned to anything.

	#codereview robert.manuszewski

Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	#UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values.

	Asset registry fixes by Bob Tellez. Possible fix for UE-23783.

Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing.

Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core

	UObject serial number array initialized for debug visualization.

Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core

	Critical sections are no longer copyable.

Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00