Commit Graph

50 Commits

Author SHA1 Message Date
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

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

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

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

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

	UBT: Add attribute-driven command line parser.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Replace all uses of TargetRules.TargetType with TargetType.

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

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

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

	UBT: Remove toolchain support for Windows XP.

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

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

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

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

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

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

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

	Build: Fixes for conforming incremental workspaces:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	EC: Add a batch file for testing postp filters.

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

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

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

	UBT: Fix Android support for force included headers.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

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

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

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

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

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

	UBT: Move executor config settings onto the executor instances.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UEB-729

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

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

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

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

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

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

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

	UBT: Include plugin config files in generated projects.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

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

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

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

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

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

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

	#jira UE-36457

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

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

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

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

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

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

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

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

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

	IncludeTool: Merging various fixes.

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

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

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

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
f868d10725 Build fixes
#rb none
#lockdown Nick.Penwarden

[CL 3209554 by Ben Marsh in Main branch]
2016-11-23 19:55:41 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

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

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

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

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

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

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

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Steve Robb
e546d6ab77 Alternate fix for CL# 3139685.
#codereview justin.sargent,nick.darnell
#rb none
#lockdown nick.penwarden

[CL 3139849 by Steve Robb in Main branch]
2016-09-26 11:03:09 -04:00
Steve Robb
8588d1d292 Reapplied CIS fix from CL# 3139679.
#codereview justin.sargent
#rb none
#lockdown nick.penwarden

[CL 3139685 by Steve Robb in Main branch]
2016-09-26 09:04:48 -04:00
Alex Fennell
d10f9953d9 Copying //UE4/Portal-Staging to //UE4/Dev-Main (Source: //UE4/Portal-Staging @ 3138637)
#lockdown Nick.Penwarden, justin.sargent
#rb None

[CL 3138769 by Alex Fennell in Main branch]
2016-09-23 17:31:51 -04:00
Marc Audy
ad1d2f130f Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2994668)
#lockdown Nick.Penwarden

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

Change 2967465 on 2016/05/05 by Marc.Audy

	Fix VS2015 shadow variables fixes

Change 2970637 on 2016/05/09 by Martin.Wilson

	Fix incorrect conflict resolve in merge from main

Change 2976393 on 2016/05/12 by Zak.Middleton

	#ue4 - Set AudioComponent bUseAttachParentBounds=true to reduce cost of transform updates (avoids virtual CalcBounds() when transform changes).

	#tests PIE w/ audio

Change 2976770 on 2016/05/13 by Lina.Halper

	Improvement on mirroring fix branch

	#code review: Zak.Middleton

Change 2976774 on 2016/05/13 by Lukasz.Furman

	fixed missing memory callbacks for instanced behavior tree nodes
	#jira UE-30305

Change 2976775 on 2016/05/13 by Lukasz.Furman

	fixed multiple calls to behavior tree's instance cleanup
	#jira UE-30593

Change 2976801 on 2016/05/13 by Jon.Nabozny

	Add an optional argument FSkeletalMeshMerge. When set to EMeshBufferAccess::ForceCPUAndGPU, keeps a reference to the vertex buffer on CPU (e.g. for spawning particle effects).

	#JIRA UE-30405

Change 2976985 on 2016/05/13 by Jon.Nabozny

	Fix initializer list ordering for FSkeletalMeshMerge.

Change 2977532 on 2016/05/13 by Marc.Audy

	PR #2348: [Local Multiplayer] Gamepad player assignment improvements (Contributed by kukiric)
	#jira UE-30162

Change 2977637 on 2016/05/13 by Marc.Audy

	Add Get/Set controller ID for a player in gameplay statics
	#jira UE-28718

Change 2979387 on 2016/05/16 by Jon.Nabozny

	Initialize FBox used to store results for CalculateQuatACF96Bounds.

	#JIRA UE-30846

Change 2979968 on 2016/05/17 by bruce.nesbit

	Added comment in FCanvasLineItem to warn only SE_BLEND_Opaque will be used when rendering.

Change 2979969 on 2016/05/17 by bruce.nesbit

	Added comment in AddLine/AddPoint to warn only SE_BLEND_Opaque will be used when rendering.

Change 2980271 on 2016/05/17 by Lina.Halper

	Improved comment

	#code review: Benn.Gallagher

Change 2980317 on 2016/05/17 by Lukasz.Furman

	removing NavCollision from static mesh on property change and PostLoad if static mesh is not supposed to have one
	#ue4

Change 2980717 on 2016/05/17 by Zak.Middleton

	#ue4 - Optimize UCapsuleComponent::CalcBounds() to remove sqrt and use tighter bounding sphere radius.

Change 2981193 on 2016/05/17 by Lukasz.Furman

	fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)
	#ue4

Change 2981927 on 2016/05/18 by Lina.Halper

	- Remove vertex animation code
	  - Removing UVertexAnimation
	  - Fixed reinitialization issue that was triggered by SetVertexAnimation

	- todo: consolidate UMorphtarget and UVertexAnimBase

	#code review: James.Golding, Martin.Wilson

Change 2981957 on 2016/05/18 by Lina.Halper

	Add recursive stack check on update animation

	#code review: Martin.Wilson

Change 2982116 on 2016/05/18 by Benn.Gallagher

	Removed optimize macros accidentally left after bounds extension feature for skel meshes

Change 2982255 on 2016/05/18 by Jon.Nabozny

	FSkeletalMeshMerge constructor "MeshBufferAccess" default should be EMeshBufferAccess:Default instead of EMeshBufferAccess::ForceCPUAndGPU.

Change 2982607 on 2016/05/18 by Marc.Audy

	Cleanup places calling GetWorld() multiple times

Change 2982621 on 2016/05/18 by Marc.Audy

	Make UActorComponent::GetWorld final and inlined to avoid unnecessary function calls
	Put uncached logic in to a separate function

Change 2983424 on 2016/05/19 by Marc.Audy

	Minor tweaks to reduce GetWorld calls

Change 2983465 on 2016/05/19 by Lina.Halper

	Combine VertexAnimBase and MorphTarget to just MorphTarget

	 - VertexAnimBase is gone
	 - Modified most of VertexAnim to MorphTarget
	 - Removed state, time related data

	#code review: James.Golding, Rolando.Caloca

Change 2983609 on 2016/05/19 by Marc.Audy

	Inline AActor::GetLevel
	Half GetWorld() calls from AActor::GetNetMode()

Change 2983772 on 2016/05/19 by Marc.Audy

	Fix Mac compile

Change 2983931 on 2016/05/19 by Marc.Audy

	Remove pointless AccelMouse function

Change 2984061 on 2016/05/19 by Marc.Audy

	Reorg some headers to fix compilation issues

Change 2984409 on 2016/05/19 by Aaron.McLeran

	#jira UE-31049 Updating the Oculus Audio SDK to vs 1.02

	Implementing 2984316 from Releases/4.12 to Dev-Framework

Change 2984574 on 2016/05/19 by Aaron.McLeran

	Fix for platform headroom scalar. Using correct dB to linear formula (not one for power)

	dB = 20 * log(Linear), not dB = 10 * log(Linear)

Change 2985041 on 2016/05/20 by Jon.Nabozny

	ConvertQueryOverlap only returns the base actor if multiple actors have bSimulatePhysics enabled and are welded together.

	#JIRA UE-30484

Change 2985118 on 2016/05/20 by Marc.Audy

	Another attempt to convince Mac to build

Change 2985192 on 2016/05/20 by Marc.Audy

	Properly forward declare ABrush

Change 2985724 on 2016/05/20 by Zak.Middleton

	#ue4 - Optimize NaN and Infinite checks for FVector, FQuat, FRotator, FMatrix, FTransform. SIMD version VectorContainsNaNOrInfinite() also optimized on relevant platforms. Added startup tests for VectorContainsNaNOrInfinite().

	- All our "ContainsNaN()" tests are in fact "IsNaN() || IsInfinite()", which is the same as "!IsFinite()", so exploited this to simplify the tests. Both NaN and +/-Inf are not finite (http://en.cppreference.com/w/cpp/numeric/math/isfinite). In the future we should rename ContainsNaN().
	- Still need to audit some uses in shipping configs.

	#jira UE-30999

Change 2986016 on 2016/05/20 by Zak.Middleton

	#ue4 - Fix uint32 used for int32 values. Behavior was unaffected.

Change 2986017 on 2016/05/20 by Zak.Middleton

	#ue4 - Fix overlaps being dropped from within a FScopedMoveUpdate when rotation occurs. Remove invalid assert.

Change 2986833 on 2016/05/23 by Zak.Middleton

	#ue4 - Move ETeleportType from ActorComponent.h to EngineTypes.h. Add comment to FHitResult for ImpactPoint when it's penetrating.

Change 2986916 on 2016/05/23 by Rolando.Caloca

	DF - GPU morph targets proof of concept
	- Disabled by default
	- Not compatible with gpu skin cache
	- No extra memory required yet until it's used; creates buffers per frame (very slow!)

Change 2987539 on 2016/05/23 by Rolando.Caloca

	DF - Remove unused member and downgrade FActiveMorphTarget to not be a USTRUCT

Change 2987981 on 2016/05/24 by James.Golding

	PR #2162 : Exported AAudioVolume so that projects can derive custom classes.
	https://github.com/EpicGames/UnrealEngine/pull/2162
	#github 2162
	#jira UE-28533

Change 2987982 on 2016/05/24 by James.Golding

	PR #2318 : Fix memory allocation in CustomMeshComponent.cpp
	https://github.com/EpicGames/UnrealEngine/pull/2318
	#github 2318
	#jira UE-29864

Change 2987983 on 2016/05/24 by James.Golding

	Merging engine changes back from GDC demo:
	- Export FFIRFilterTimeBased from Engine module
	- Add FFIRFilterTimeBased::SetWindowDuration
	- Add FBaseCompactPose::CopyBonesTo

Change 2987984 on 2016/05/24 by James.Golding

	UE-30137 No longer include collision in StatiMeshComponent bounds (bounds no longer user for any collision calculation)

Change 2987985 on 2016/05/24 by James.Golding

	UE-27801 Export ConvertToCollisionChannel, ConvertToObjectType, and ConvertToTraceType members of UCollisionProfile

Change 2987987 on 2016/05/24 by James.Golding

	OR-17910 : Support 'show collision' in Test configuration

Change 2988123 on 2016/05/24 by Jon.Nabozny

	Prevent FBodyInstance::Weld causing duplicate PhsyXShapes to be created / added to ShapeToBodiesMap when toggling SimulatePhysics on PrimitiveComponent.

	#JIRA UE-31189

Change 2988449 on 2016/05/24 by Rolando.Caloca

	DF - Split FActiveMorphTarget's weight into its own array in prep for GPU friendly data

Change 2988485 on 2016/05/24 by Jon.Nabozny

	Swap order of setRigidBodyFlag and setRigidDynamicFlag inside UpdateInstanceSimulatePhysics to prevent PhysX error about Kinematic bodies not using CCD.

	#JIRA UE-30993

Change 2988969 on 2016/05/24 by Rolando.Caloca

	DF - GPU morph targets
	- Enable using r.MorphTarget.Mode 1

Change 2989645 on 2016/05/25 by Marc.Audy

	Apply CL# 2989481 to Dev-Framework
	#jira UE-31055

Change 2989987 on 2016/05/25 by Wes.Hunt

	Redo of CL#2982707 2982716 2982723 2983780 2983864 from //Orion/Dev-General in preparation for continuing Analytics refactor in a Dev branch.

	AnalyticsET support for arbitrary Json events.
	* AnalyticsET supports a new API, RecordEventJson.
	* API supports rvalue refs to avoid unnecessary copies of the attribute array.
	#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982707 by Wes.Hunt on 2016/05/18 17:22:20.

	Remove Analytics code to divert legacy code to source data collector.
	#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982716 by Wes.Hunt on 2016/05/18 17:27:25.

	Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore.
	#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982723 by Wes.Hunt on 2016/05/18 17:29:40.

	Modernize FAnalyticsEventAttribute usage.

	Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
	* The Name must be convertible to a string
	* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
	* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.

	Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
	    RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
	        "Attr1", false,
	        "Attr2", 42.0,
	        "Attr3",  SomeMap,
	        "Attr4", SomeArray);

	#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2983780 by Wes.Hunt on 2016/05/19 13:51:48.

	Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
	#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2983864 by Wes.Hunt on 2016/05/19 14:17:05.

Change 2989988 on 2016/05/25 by Wes.Hunt

	Fix usage of FAnalyticsEventAttribute constructor using a bitfield that was invalidated by the change to make FAnalyticsEventAttribute use a perfect forwarding constructor. bitfields cannot be perfect-forwarded... :(

Change 2990493 on 2016/05/25 by Joe.Graf

	Added tooltips to the collision analyzer's buttons

	#CodeReview: james.golding

Change 2991064 on 2016/05/26 by James.Golding

	- Remove many Animation headers from Engine.h
	- Remove AnimationAsset.h from SkeletalMeshComponent.h, Character.h, CharacterMovementComponent.h

Change 2991113 on 2016/05/26 by Benn.Gallagher

	Fixed edge case in random sequence player where we might trigger an extra loop when waiting on a blend to finish. And made it impossible for a shuffle list to start with the animation that is currently playing (seemingly duplicating the anim).

Change 2991163 on 2016/05/26 by Rolando.Caloca

	DF - Rename and refactor some morph target compute shader in prep for interop with skin cache

Change 2991167 on 2016/05/26 by Jon.Nabozny

	Add `#include "DataTable.h"` to GameplayTagsManager.h. FGameplayTagTableRow is derived from FTableRowBase which isn't necessarily included. This issue is hidden in most cases as "Engine.h" includes "DataTable.h".

Change 2991183 on 2016/05/26 by Wes.Hunt

	Disable general forwarding constructor for AnalyticsEventAttribute for non arithmetic types, so they are free to choose other overloads more appropriately.

Change 2991199 on 2016/05/26 by Wes.Hunt

	Drastically reducing the headers dependencies on analytics headers. Analytics headers no longer appear in PCH files, and rarely if ever appear in a header file.

	IAnalyticsProviderModule.h only touches 8 source files.
	Analytics.h only touches 8 source files.
	IAnalyticsProvider.h only touches 5 headers and 97 source files.
	AnalyticsET.h only touches 12 source files.

Change 2991301 on 2016/05/26 by James.Golding

	Fix CIS for Fortnite

Change 2991319 on 2016/05/26 by James.Golding

	Fix CIS for Orion

Change 2991373 on 2016/05/26 by Joe.Graf

	Tweaked the tooltip text for the collision analyzer record button to be correct for both states
	Added a common button style so that the buttons have a consistent look

	#CodeReview: james.golding

Change 2991401 on 2016/05/26 by James.Golding

	Fix UT CIS

Change 2991406 on 2016/05/26 by James.Golding

	Fix Ocean CIS

Change 2991491 on 2016/05/26 by Lina.Halper

	Moved MorphTarget.h

	- Checked in modified functions fo AnimationRuntime for other features coming up
	 - Should not change any behavior of existing content

	#code review: James.Golding, Rolando.Caloca

Change 2991494 on 2016/05/26 by Wes.Hunt

	Fix for Unity error in AnalyticsET module after hedaer dependency reduction

Change 2991503 on 2016/05/26 by Jon.Nabozny

	Fix issue where FConstraintInstance (inside UPhysicsConstraintComponent) is not editable in InstanceEditor but is editable in BlueprintEditor.

	#JIRA UE-31267

Change 2991562 on 2016/05/26 by Zak.Middleton

	#ue4 - Reduce allocations during movement and overlap queries and when grabbing shapes from physx actors.

Change 2991586 on 2016/05/26 by James.Golding

	More CIS fixes for Orion and Fortnite

Change 2991673 on 2016/05/26 by Wes.Hunt

	Another non-unity fix for Analytics include dependency reduction.

Change 2991733 on 2016/05/26 by Zak.Middleton

	#dev - Test map, 50 walking dudes.

Change 2991781 on 2016/05/26 by Lina.Halper

	Back out revision 15 from //UE4/Dev-Framework/Engine/Source/Runtime/Engine/Private/Animation/AnimationRuntime.cpp

	- Back out a part of changes that I didn't mean to check in.

Change 2991922 on 2016/05/26 by Zak.Middleton

	#ue4 - Maybe fix Mac build.

Change 2991957 on 2016/05/26 by Joe.Graf

	Fixed the collision analyzer file open text (said project instead of collision)

Change 2991991 on 2016/05/26 by Lina.Halper

	Fix compile error

Change 2992089 on 2016/05/26 by Zak.Middleton

	#ue4 - Fix Mac/PS4 build.

Change 2992108 on 2016/05/26 by Wes.Hunt

	Yet another non-unity fix for Analytics header inclusion reduction.

Change 2992190 on 2016/05/26 by Zak.Middleton

	#ue4 - Mark FHitResult, FOverlapResult, FOverlapInfo as POD types. Avoids destructors etc when in TArrays.

Change 2992593 on 2016/05/27 by Martin.Wilson

	Build fixes for non editor platforms

Change 2992885 on 2016/05/27 by Rolando.Caloca

	DF - Fix crash on thumbnails
	#jira UE-31398

Change 2993058 on 2016/05/27 by Lukasz.Furman

	fixed behavior tree getting stuck on ResumeLogic call
	#jira OR-22498

Change 2993064 on 2016/05/27 by Zak.Middleton

	#ue4 - Fix root motion network corrections not clearing root motion data.

	udn: https://udn.unrealengine.com/questions/294985/jittering-in-character-movement-during-networked-m.html
	#jira UE-31316

Change 2993215 on 2016/05/27 by Lukasz.Furman

	gameplay debugger fixes: navmesh rendering is not hidden after disabling tool, player stuck in spectator mode after disabling tool, confusing version description for categories without data packs
	added replicated input bindings for debugger's categories
	#ue4

Change 2993521 on 2016/05/27 by Zak.Middleton

	#ue4 - Reduce allocations in UI Canvas items.

Change 2993995 on 2016/05/30 by Mieszko.Zielinski

	Temporary fix for BBKeySelector not handling properly multiple UObject subtypes #UE4

	#jira UE-31435

Change 2993998 on 2016/05/30 by Mieszko.Zielinski

	Improves handling of a special case in EQS score normalization, where all items have the same score #UE4

	We used to set the normalized score of 1 for all items, which was counter intuitive if all items have scored 0 in an unnormalized test. The improve handling detects that and assigns score of 0 in that case.

Change 2993999 on 2016/05/30 by Mieszko.Zielinski

	Fixed FEQSParametrizedQueryExecutionRequest converting non-BB values into EQS params wrong #UE4

Change 2994000 on 2016/05/30 by Mieszko.Zielinski

	Exposed UNavigationInvokerComponent as part of ENGINE_API so that it can be spawned procedurally in C++ in game specific code #UE4

Change 2994003 on 2016/05/30 by Mieszko.Zielinski

	Fixed naming of console variable controllin v-logging of FGameplayAttribute #UE4

	The old name was copy-pasted from somewhere.

Change 2994007 on 2016/05/30 by Mieszko.Zielinski

	Fixed unregistering listeners from perception system not clearing up all data #UE4

	Also, introduced two precisely named functions, GetCurrentlyPerceivedActors and GetKnownPerceivedActors to replace ambiguous GetPerceivedActors
	Also, renamed UAIPerceptionComponent::TActorPerceptionContainer to UAIPerceptionComponent::FActorPerceptionContainer

Change 2994475 on 2016/05/31 by Wes.Hunt

	Fix Unity build failure for analytics inclusion reduction for IOSFlurry.

[CL 2994701 by Marc Audy in Main branch]
2016-05-31 13:51:34 -04:00
Nick Darnell
1258799218 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866)
#lockdown Nick.Penwarden

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

Change 2937390 on 2016/04/07 by Cody.Albert

	#jira UE-29211
	Fixed slider to properly bubble unhandled OnKeyDown events

Change 2939672 on 2016/04/11 by Richard.TalbotWatkin

	Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled.  This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
	#jira UE-29193 - "Files need check-out" prompt spams Blueprint users

Change 2939686 on 2016/04/11 by Richard.TalbotWatkin

	A number of further improvements to mesh vertex color painting:
	* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
	* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
	* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
	* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
	#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected

Change 2939906 on 2016/04/11 by Nick.Darnell

	Automation - Adding several enhancements to the automation framework and improving the UI.
	* Tests in the UI now have a link to the source and line where they orginate.
	* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
	* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
	* Front end now has better column displays offering more room to the test name
	* Changed several events to the automation controller to multicast delegates so that many could hook them.
	* The UI now refreshes the selection after tests finish so that the output log updates.

Change 2939908 on 2016/04/11 by Nick.Darnell

	Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)

Change 2940028 on 2016/04/11 by Nick.Darnell

	Automation - Removing the search box from the toolbar.  It's now inlined above the test tree.  Tweaking the padding to make it look more other windows and make everything not look so squished.  Recursive expansion now works on tests.

Change 2940066 on 2016/04/11 by Nick.Darnell

	Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.

Change 2940092 on 2016/04/11 by Jamie.Dale

	PR #2248: Datatable select next row (Contributed by FineRedMist)

Change 2940093 on 2016/04/11 by Jamie.Dale

	PR #2248: Datatable select next row (Contributed by FineRedMist)

Change 2940157 on 2016/04/11 by Jamie.Dale

	Fixing FTextTest due to some changes made to how currency is formatted

Change 2940694 on 2016/04/12 by Richard.TalbotWatkin

	Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
	#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs

Change 2942379 on 2016/04/13 by Richard.TalbotWatkin

	Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode.  This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists.  This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
	#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing

Change 2942947 on 2016/04/13 by Richard.TalbotWatkin

	Fixed crash when pasting a material function call node from one project to another in which it is not defined.
	#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects

Change 2943452 on 2016/04/14 by Richard.TalbotWatkin

	Updated F4 debug key binding to match what's in ShowFlags.cpp
	PR #2197 (contributed by mfortin-bhvr)

Change 2943824 on 2016/04/14 by Alexis.Matte

	#jira UE-29090
	Make sure we cannot open the color picker when a property is edit const

Change 2943841 on 2016/04/14 by Alexis.Matte

	#jira UE-28924
	tooltip was add for every hierarchy import option

Change 2943927 on 2016/04/14 by Alexis.Matte

	#jira UE-29423
	Add Obj support for scene importer

	Github PR #2272

Change 2943967 on 2016/04/14 by Richard.TalbotWatkin

	Added relevant fields from FBodyInstance to the FoliageType customizations.
	#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties

Change 2948397 on 2016/04/19 by Andrew.Rodham

	Moved FSlateIcon definition to SlateCore

	It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.

Change 2948805 on 2016/04/19 by Andrew.Rodham

	Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.

	  - Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
	  - This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.

	#jira UE-26502

Change 2950658 on 2016/04/20 by Alexis.Matte

	#jira UE-24333
	Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix

Change 2950663 on 2016/04/20 by Alexis.Matte

	#jira UE-29582
	When exporting to fbx we have to export each material instance as one fbx material

Change 2951240 on 2016/04/21 by Alexis.Matte

	#jira UE-28473
	Make sure light are render properly after importing a fbx scene

Change 2951421 on 2016/04/21 by Alexis.Matte

	#jira UE-29773
	fbx skeletalmesh import now support mesh hierarchy

Change 2955873 on 2016/04/26 by Richard.TalbotWatkin

	PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)

Change 2955965 on 2016/04/26 by Nick.Darnell

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

Change 2956717 on 2016/04/26 by Andrew.Rodham

	Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations

	#jira UE-26968

Change 2956822 on 2016/04/26 by Andrew.Rodham

	Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame

	#jira UE-7777

Change 2956931 on 2016/04/26 by Nick.Darnell

	New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.

Change 2956932 on 2016/04/26 by Nick.Darnell

	Plugins - Now allowing you to package a plugin from the plugin browsing view.  Still work in progress.

Change 2957164 on 2016/04/26 by Nick.Darnell

	Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager.  Making the copy constructor private on the module manager to prevent this in the future.

Change 2957165 on 2016/04/26 by Nick.Darnell

	Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.

	#jira UE-28456

Change 2957510 on 2016/04/27 by Nick.Darnell

	PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)

	#jira UE-28763

Change 2957511 on 2016/04/27 by Andrew.Rodham

	Editor: Make favorites button on details panel non-focusable
	  - This was preventing users being able to tab between value fields on the details panel

Change 2957610 on 2016/04/27 by Nick.Darnell

	PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)

	#jira UE-24190

Change 2957667 on 2016/04/27 by Jamie.Dale

	Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location

	#jira OR-18634

Change 2958035 on 2016/04/27 by Nick.Darnell

	Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.

Change 2958272 on 2016/04/27 by Jamie.Dale

	Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way

	This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.

	#jira UE-12096

Change 2958348 on 2016/04/27 by Jamie.Dale

	PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)

Change 2958352 on 2016/04/27 by Jamie.Dale

	Fixed the subtitle manager updating the wrong list of subtitles

	#jira UE-29511

Change 2958390 on 2016/04/27 by Jamie.Dale

	Removed some old placement-new style array insertions

Change 2959360 on 2016/04/28 by Richard.TalbotWatkin

	Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
	#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]

Change 2959724 on 2016/04/28 by Cody.Albert

	Merging hardware survey gating logic from 4.10

	#jira UE-28666

Change 2959807 on 2016/04/28 by Cody.Albert

	Removed deprecated function call

	#jira UE-28666

Change 2959894 on 2016/04/28 by Cody.Albert

	Fix for scroll offset being clamped by content size, not scroll max

	#jira UE-20676

Change 2960048 on 2016/04/28 by Jamie.Dale

	Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue

	#jira UE-12096

Change 2960782 on 2016/04/29 by Jamie.Dale

	Updating code to use the new FText aware asset registry tag functions

	#jira UE-12096

Change 2960885 on 2016/04/29 by Jamie.Dale

	Updating code to use the new FText aware asset registry tag functions

	#jira UE-12096

Change 2961170 on 2016/04/29 by Jamie.Dale

	Updating code to use the new FText aware asset registry tag functions

	#jira UE-12096

Change 2961171 on 2016/04/29 by Jamie.Dale

	Updating code to use the new FText aware asset registry tag functions

	#jira UE-12096

Change 2961173 on 2016/04/29 by Jamie.Dale

	Removed some inline duplication on the specialized template functions

	#jira UE-12096

Change 2963124 on 2016/05/02 by Jamie.Dale

	FExternalDragOperation can now contain both text and file data at the same time

	This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.

	#jira UE-26585

Change 2963175 on 2016/05/02 by Jamie.Dale

	Updated some font editor tooltips to be more descriptive

	#jira UE-17429

Change 2963290 on 2016/05/02 by Jamie.Dale

	The Localise UAT command can now be run with a null localisation provider

Change 2963305 on 2016/05/02 by Jamie.Dale

	Fixed minor typo

Change 2963402 on 2016/05/02 by Jamie.Dale

	Cleaned up all the current localization key conflicts and warnings from gathering Engine code

	#jira UE-25833

Change 2963415 on 2016/05/02 by Jamie.Dale

	Rephrased a message that could generate a CIS warning

	#jira UE-25833

Change 2964184 on 2016/05/03 by Jamie.Dale

	Fixed duplicate "Font" entry in asset picker menu

	This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.

	We also now make sure the factories are sorted by display name before being shown in the UI.

	#jira UE-24903

Change 2966108 on 2016/05/04 by Nick.Darnell

	Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.

Change 2966113 on 2016/05/04 by Nick.Darnell

	[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine.  This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game.  Therefore, UGameEngine now tells the GameInstance to Start during this phase now.

Change 2966121 on 2016/05/04 by Jamie.Dale

	Config writing improvements when dealing with property values

	This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.

	This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.

	FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.

	UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).

Change 2966122 on 2016/05/04 by Jamie.Dale

	Added a setting to control dialogue wave audio filenames

Change 2966481 on 2016/05/04 by Jamie.Dale

	PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)

Change 2966887 on 2016/05/04 by Jamie.Dale

	PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)

Change 2967488 on 2016/05/05 by Ben.Marsh

	Changes to support packaging plugins from the editor.

	* UBT now has an option to explicitly disable hot-reloading in any circumstances.
	* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
	* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
	* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.

Change 2967947 on 2016/05/05 by Nick.Darnell

	PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)

	#jira UE-30371

Change 2968333 on 2016/05/05 by Jamie.Dale

	Fixed MultiLine not working with arrays of string or text properties

	- The detail customizations for FString and FText properties now read the meta-data off the correct property.
	- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
	- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
	- Fixed the default values panel in the UDS editor having a title area.

	#jira UE-30392

Change 2968999 on 2016/05/06 by Jamie.Dale

	Fixed infinite loop in the editor if a directory that is being watched is deleted

	#jira UE-30172

Change 2969105 on 2016/05/06 by Richard.TalbotWatkin

	Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
	#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option

Change 2969440 on 2016/05/06 by Jamie.Dale

	Significant performance improvements when pasting a large amount of text

	#jira UE-19712

Change 2969619 on 2016/05/06 by Andrew.Rodham

	Auto-reimport is now disabled inside an editor running in unattended mode

Change 2969621 on 2016/05/06 by Jamie.Dale

	Added the ability to override the subtitle used on a dialogue wave

	This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.

	#jira UETOOL-795

Change 2970588 on 2016/05/09 by Chris.Wood

	Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
	[UE-26958] - GitHub 2056 : Fixing typo in the operator
	#2056

Change 2971151 on 2016/05/09 by Chris.Wood

	Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
	[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
	[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.

	PR #2030

Change 2971267 on 2016/05/09 by Alexis.Matte

	Wrong parameter when calling GetImportOptions

	#jira UE-30299

Change 2972073 on 2016/05/10 by Richard.TalbotWatkin

	Fixed UModel methods which make surfaces as modified.
	#jira UE-28831 - Unable to undo material placement on BSP

Change 2972329 on 2016/05/10 by Nick.Darnell

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

Change 2972887 on 2016/05/10 by Alexis.Matte

	#jira UE-30167
	We now import the geometric transform also when we uncheck the absolute transform in the vertex.

Change 2973664 on 2016/05/11 by Nick.Darnell

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

Change 2973717 on 2016/05/11 by Nick.Darnell

	Fixing compiler issues from main merge.

	#jira UE-30590

Change 2973846 on 2016/05/11 by Jamie.Dale

	Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue

	These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).

	The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.

	This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).

Change 2973847 on 2016/05/11 by Jamie.Dale

	Changing the loading phase in the localization dashboard now writes to the default config

	#jira UE-30482

Change 2973866 on 2016/05/11 by Jamie.Dale

	Deprecated some functions that were taking an unused position.

	These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.

	- FViewportFrame::ResizeFrame
	- FSceneViewport::ResizeFrame
	- FSceneViewport::ResizeViewport

[CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
Nick Darnell
1d03174abf SuperSearch - Moving the SuperSearchSettings into UnrealEd, so that non-edior modules can use the SuperSearch module. Fixes build errors.
#jira UE-29411
#lockdown Nick.Penwarden

[CL 2941720 by Nick Darnell in Main branch]
2016-04-12 20:49:45 -04:00
Ben Marsh
6c32244d56 Copying //UE4/Release-Staging-4.11 to //UE4/Main (Source: //UE4/Release-Staging-4.11 @ 2941426, //UE4/Release-4.11 @ 2927265)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2910079 on 2016/03/15 by Taizyd.Korambayil

	#jira UE-28293 Reworded some Sentences

Change 2910157 on 2016/03/15 by Taizyd.Korambayil

	#jira UE-28240 Rebuilt Lighting for Sanctuary

Change 2910317 on 2016/03/15 by Ben.Marsh

	Fix crash trying to print out a message explaining that you need to install the Visual Studio 2015 toolchain, if the Visual Studio 2015 toolchain is not installed!

Change 2910425 on 2016/03/15 by Ori.Cohen

	Fix crash and incorrect behavior when setting physical material on a welded body.

	#JIRA UE-28399
	#rb Marc.Audy

Change 2910525 on 2016/03/15 by Ori.Cohen

	Fix player capsule not spawning at the right place due to float precision issues.

	#JIRA UE-28438
	#rb Zak.Middleton

Change 2910595 on 2016/03/15 by Chris.Babcock

	Fixed issue with missing event location paired with IE_Pressed if IE_DoubleClick generated
	#jira UE-28051
	#ue4
	#codereview Marc.Audy

Change 2911442 on 2016/03/16 by Andrew.Rodham

	Sequencer: Fixed frame grabbers where hardware mapped surfaces to memory of a different stride

	#jira UE-28434

Change 2911596 on 2016/03/16 by andrew.porter

	Test content for blueprint vertex painting
	#jira UE-24473

Change 2911860 on 2016/03/16 by Jamie.Dale

	Allowed SViewport to (once again) be able to use non-pre-multiplied alpha blending

	SViewport now has an PreMultipliedAlpha argument (default true), which can control whether to use pre-multiplied alpha when blending is enabled (blending is disabled by default). Note: This is a change in behavior from 4.10, as non-pre-multiplied alpha blending used to be the default, but pre-multiplied alpha blending better supports the pipeline used through Slate.

	This change also cleans up the use of bool parameters in the FSlateDrawElement::MakeX functions to control the render behavior, instead favoring use of advanced ESlateDrawEffect flags.

	API Breaking Changes
	  - FSlateDrawElement::MakeGradient no longer takes a bInGammaCorrect bool, instead pass ESlateDrawEffect::NoGamma as part of InDrawEffects to disable gamma correction.
	  - FSlateDrawElement::MakeViewport no longer takes a bInGammaCorrect bool, instead pass ESlateDrawEffect::NoGamma as part of InDrawEffects to disable gamma correction.
	  - FSlateDrawElement::MakeViewport no longer takes a bInAllowBlending bool, instead pass ESlateDrawEffect::NoBlending as part of InDrawEffects to disable blending.

	#jira UE-26797

Change 2912345 on 2016/03/16 by Olaf.Piesche

	Removing the check that causes UE-28441, duplicating beam type data module from highest LOD in Cascade causes crash. The beam data module is the only one that explicitly checks to make sure it's always shared across LOD levels; there's no obvious reasons why duplicating beam data modules shouldn't be possible.

	#codereview simon.tovey
	#jira UE-28441

Change 2912526 on 2016/03/16 by Steve.Robb

	Fix uninitialized variables.

	#codereview robert.manuszewski
	#jira UE-28391

Change 2913114 on 2016/03/17 by Steve.Robb

	Fixed some private properties which caused UHT errors.

	#codereview robert.manuszewski
	#jira UE-28059

Change 2913295 on 2016/03/17 by Richard.TalbotWatkin

	Replicated from Dev-Editor CL 2913224

	Disallow assets from being deleted if PIE is active. This prevents various troubles which can occur when PIE is referencing asset objects.
	#jira UE-12387 - [CrashReport] Crash when deleting assets needed for template
	#RB Nick.Darnell, Frank.Fella

Change 2913310 on 2016/03/17 by Nick.Shin

	merging from //UE4/Dev-Platform to //UE4/Release-4.11

	--- original commit CL: #2913300 message ---
	corrected VS 2015 websocket lib to look at the right offset

	it is currently a high risk change to just update the libwebsocket wholesale for  release-4.11.

	this change is the most minimum invasive change with a lot of deep analysis (details will be put in jira: # UEPLAT-1221).

	this fix will also be pushed up to release-4.11

	#jira UE-22166 - HTML5 Cook on the fly will launch and then close browser
	#jira UE-22513 - HTTP Network File System crashes randomly.
	#jira UE-28003 - Fail to QuickLaunch HTML5 through UnrealFrontEnd

Change 2913593 on 2016/03/17 by Mark.Satterthwaite

	For non-debug builds silence the warning about no deth/stencil when shader writes to depth in MetalRHI - the RHI implementation will create a temporary D/S buffer to cope but really this needs to be properly addressed elsewhere.
	#jira UE-28491

Change 2913655 on 2016/03/17 by Taizyd.Korambayil

	#jira UE-28492 Rebuilt Lighting For the Samples Listed

Change 2914025 on 2016/03/17 by Olaf.Piesche

	Make sure ST primitives are added to NST draw list if in shader complexity mode

	#codereview simon.tovey
	#jira UE-28471

Change 2914027 on 2016/03/17 by Nick.Shin

[CL 2941462 by Ben Marsh in Main branch]
2016-04-12 17:04:39 -04:00
Justin Sargent
1ea3ed4697 Copying //UE4/Portal-Staging to //UE4/Main
#lockdown nick.penwarden

[CL 2920312 by Justin Sargent in Main branch]
2016-03-23 17:21:56 -04: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
Nick Darnell
ac05f885af Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden

[CL 2754371 by Nick Darnell in Main branch]
2015-11-04 16:14:13 -05:00
Josh Markiewicz
779cb6e04b #UE4 - moved all http header files into header module
- headers in core and implementations in http were working but only coincidentally
- no way to export any of the platforms if needed because CORE_API was correct for generic platform but would have link errors because all platforms were in HTTP_API
- fixed up platform http calls to reference http module
#platformnotify josh.adams
#codereview sam.zamani, david.nikdel, dmitry.rekman

[CL 2646887 by Josh Markiewicz in Main branch]
2015-08-06 15:52:48 -04:00
Andrew Brown
b2142b551e [INTEGRATE] merge ue4 <-ue4-launcheDev cl 2633697
[CL 2633753 by Andrew Brown in Main branch]
2015-07-27 08:37:17 -04:00
Justin Sargent
f9b5c43d16 Merging using UE4-To-UE4-LauncherDev
[CL 2532809 by Justin Sargent in Main branch]
2015-04-30 18:49:44 -04:00
bruce nesbit
81d8ed477a Fixed mac compile error
(hopefully)

[CL 2526774 by bruce nesbit in Main branch]
2015-04-27 07:09:34 -04:00
bruce nesbit
15873e22b5 Added suport for classes to register with super search for handling/acting on searches
Hooked in feature packs to show in super search using tags in the FP manifests
Added some keywords to manifests for super search

[CL 2526727 by bruce nesbit in Main branch]
2015-04-27 05:56:20 -04:00
Richard Hinckley
4ba3b8b2f1 [UE-9586] The "Back" button in tutorials can be linked to a different tutorial, like the "Next" button. Tutorials assigned to the "Previous Tutorial" field (new) will be used for this, and will activate the button for this purpose on stage 0. Tutorials started in this way will begin on their final stage. The Launch Tutorial functionality (in code) now uses an enum for startup instead of a bool, so we can force a restart, continue from where we left off (default), or start at the final stage.
[CL 2500370 by Richard Hinckley in Main branch]
2015-04-02 16:56:18 -04:00
Carlos Cuello
6f1ac76399 [INTEGRATE] UE4-LauncherDev->UE4 integrate all up to cl 2475889
[CL 2478426 by Carlos Cuello in Main branch]
2015-03-13 08:26:18 -04:00
bruce nesbit
78a4b4dd88 Added tags to tutorials
Made super search search tutorial tags

[CL 2475042 by bruce nesbit in Main branch]
2015-03-11 09:25:44 -04:00
Max Preussner
3a68f9dd07 Merging UE4-LauncherDev UE4 up until 2421209
This merges all changes from the LauncherDev branch up until before the failed Release4.7 into LauncherDev, which broke parts of branch history. All other changes since then will be spot merged after this check-in.

#CodeReview: carlos.cuello, sam.zamani

[CL 2424199 by Max Preussner in Main branch]
2015-01-29 14:42:28 -05:00
Ori Cohen
22ad939522 Fix search results not showing up if user types quickly and hits Enter
[CL 2411242 by Ori Cohen in Main branch]
2015-01-19 15:00:37 -05:00
Jeff Farris
2b64fe1692 Search For Help box in the editor now also appends source data to documentation URLs.
[CL 2406285 by Jeff Farris in Main branch]
2015-01-14 15:00:48 -05:00