Commit Graph

46 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
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
Max Chen
888c42933d Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529)
#lockdown Nick.Penwarden
#rb none

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

Change 3149443 on 2016/10/03 by Max.Preussner

	MediaAssets: Better parameter names for MediaPlayer BP functions

Change 3149756 on 2016/10/03 by Max.Chen

	Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity)

	#jira UE-35233

Change 3149795 on 2016/10/03 by Max.Chen

	Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic.

	#jira UE-36734

Change 3150378 on 2016/10/04 by Max.Preussner

	PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807)

	#jira UE-36807

Change 3151414 on 2016/10/05 by Max.Chen

	Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null.

	#jira UE-35285

Change 3152038 on 2016/10/05 by Max.Preussner

	UdpMessaging: Code & documentation modernization pass

Change 3152471 on 2016/10/05 by Max.Chen

	Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a
bug where the cine camera actor won't tick if you hook in event tick.

	#jira UE-36625

Change 3152692 on 2016/10/05 by Max.Preussner

	Messaging: API code & documentation modernization pass

	Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity.

Change 3153824 on 2016/10/06 by Max.Preussner

	Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging

	I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery
modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This
functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more.

Change 3153826 on 2016/10/06 by Max.Preussner

	Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies

Change 3153857 on 2016/10/06 by Max.Chen

	Sequencer: Set snap time to dragged key on by default.

Change 3153980 on 2016/10/06 by Max.Preussner

	SessionServices: Removed typedefs; code and documentation modernization pass

Change 3154313 on 2016/10/06 by Max.Chen

	Sequencer: Set the paste keys time to the current time, rather than the mouse time.

Change 3154332 on 2016/10/06 by Max.Chen

	Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu.

Change 3154377 on 2016/10/07 by Max.Chen

	Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and .

Change 3154788 on 2016/10/07 by Max.Chen

	Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all
sections except for any that aren't being moved.

	#jira UE-29152

Change 3159274 on 2016/10/11 by Max.Preussner

	Core: Documentation fixes

Change 3159275 on 2016/10/11 by Max.Preussner

	UdpMessaging: Added missing header

Change 3160746 on 2016/10/12 by Max.Preussner

	MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances

	#jira UE-37241

Change 3160975 on 2016/10/12 by Max.Preussner

	PS4Media: Better logging for SetRate failures

Change 3160995 on 2016/10/12 by Max.Preussner

	MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248)

	#jira UE-37248

Change 3161066 on 2016/10/12 by Max.Preussner

	PS4Media: Enforcing minimum 8 byte alignment for media allocations

Change 3161069 on 2016/10/12 by Max.Preussner

	PS4Media: Fixed log spam when setting play rate to current rate

Change 3162567 on 2016/10/13 by Max.Preussner

	PS4Media: Made track switching code more readable

Change 3163447 on 2016/10/14 by Max.Preussner

	PS4Media: Fixed array out of bounds assertions

Change 3163772 on 2016/10/14 by Max.Preussner

	MfMedia: Fixed a number of timing related issues

Change 3163980 on 2016/10/15 by Max.Chen

	Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level.

Change 3164581 on 2016/10/17 by Andrew.Rodham

	Sequencer: Ensure global pre-animated state is restored in reverse order

Change 3164582 on 2016/10/17 by Andrew.Rodham

	Sequencer: Ensure pre animated state is restored for all actor components before saving default state

Change 3164583 on 2016/10/17 by Andrew.Rodham

	Sequencer: Re-enabled support for pre and post roll

Change 3165464 on 2016/10/17 by Max.Chen

	Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user.

	Copy from Release-4.14

	#jira UE-37416

Change 3165483 on 2016/10/17 by Max.Chen

	Sequencer: Enable restore state for attach section completion

Change 3165771 on 2016/10/18 by Andrew.Rodham

	Sequencer: Force evaluate when rendering thumbnails

	#jira UE-37321

Change 3166057 on 2016/10/18 by Andrew.Rodham

	Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed

	#jira UE-37285

Change 3166218 on 2016/10/18 by Max.Preussner

	MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470)

	#jira UE-37470

Change 3166247 on 2016/10/18 by Max.Preussner

	WmfMedia: Showing progress bar while media is being resolved

Change 3166289 on 2016/10/18 by Max.Preussner

	MfMedia: Showing progress bar while media is being resolved

Change 3166993 on 2016/10/18 by Max.Preussner

	MfMedia: Fixed info string not reset on media close.

Change 3166999 on 2016/10/19 by Max.Preussner

	Media: Fixed NV12 and NV21 support

Change 3167008 on 2016/10/19 by Max.Preussner

	Media: Removed vertical NV12 alignment

Change 3167029 on 2016/10/19 by Max.Preussner

	WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505)

	#jira UE-37505

Change 3168593 on 2016/10/19 by Max.Chen

	Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence.

Change 3168626 on 2016/10/19 by Max.Chen

	Sequencer: Clamp to view bounds should snap to frame if frame snapping is on.

Change 3168627 on 2016/10/19 by Max.Chen

	Sequencer: Initialize working and view range to be 10% larger than playback range.

Change 3168760 on 2016/10/20 by Max.Preussner

	Media: Revamped media texture buffer management to support padded frames

	Added support for Windows bitmap buffers.
	Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia.
	Not all shaders have been updated yet.

Change 3169640 on 2016/10/20 by Max.Chen

	Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance.

	#jira UE-37407

Change 3170677 on 2016/10/21 by Max.Chen

	Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability.

	#jira UE-36560

Change 3170710 on 2016/10/21 by Max.Preussner

	Media: Optimized handling of RGB input

Change 3170712 on 2016/10/21 by Max.Preussner

	Media: Fixed NV21 conversion shader scaling

Change 3170923 on 2016/10/21 by Max.Preussner

	UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868

Change 3171494 on 2016/10/23 by Max.Chen

	Sequencer: Fix fbx export from master sequence not finding bound objects.

	#jira UE-35752

Change 3171506 on 2016/10/23 by Max.Chen

	Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative.

	#jira UE-35473

Change 3171743 on 2016/10/24 by Andrew.Rodham

	Editor: Added support for detail customizations on root structs
	  - Also added the ability to add external struct data onto a detail category builder, and property type customization.

Change 3171752 on 2016/10/24 by Andrew.Rodham

	Sequencer: Fixed spawnable ownership
	  - Spawnables are no longer destroyed when the cursor leaves the master playback range.
	  - Spawnable ownership now operates as it previously did before the evaluation rework.
	  - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence.
	  - FMovieSceneSequenceID is now a struct so that it can be used in array properties
	  - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so
we don't have to calculate that at runtime.

Change 3171756 on 2016/10/24 by Andrew.Rodham

	Sequencer: Added ability to trigger events with parameters
	  - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted.
	  - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation.
	    - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner.

Change 3172935 on 2016/10/24 by Max.Preussner

	MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it

Change 3173947 on 2016/10/25 by Max.Preussner

	SlateRemote: Disabled plug-in, but enabled server by default

Change 3174510 on 2016/10/26 by Max.Chen

	Sequencer: Fix slomo track crash

	#jira UE-37802

Change 3174698 on 2016/10/26 by Andrew.Rodham

	UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself

	#jira UE-37775

Change 3174780 on 2016/10/26 by Max.Preussner

	MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers

Change 3174789 on 2016/10/26 by Max.Preussner

	MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded

Change 3174817 on 2016/10/26 by Max.Preussner

	WmfMedia: Added support for Motion JPEG (MJPG)

Change 3174825 on 2016/10/26 by Max.Preussner

	WmfMedia: Added support for non-RGB32 uncompressed formats

Change 3174834 on 2016/10/26 by Max.Preussner

	MediaPlayerAssets: Allow pausing while buffering media

Change 3174886 on 2016/10/26 by Andrew.Rodham

	Core: Fixed range test that was testing incorrect behavior

Change 3174889 on 2016/10/26 by Andrew.Rodham

	Sequencer: Fixed AssignActor behavior
	  - Also ensure that cached object state is invalidated when playback context changes

	#jira UE-37798

Change 3174905 on 2016/10/26 by Andrew.Rodham

	Sequencer: Changed assert when failing to create an audio component to a log message
	  - Audio no longer plays when GEngine->UseSound() is false

	#jira UE-37772

Change 3174980 on 2016/10/26 by Andrew.Rodham

	Sequencer: Remove warning when event endpoint could not be found for a given context

	#jira UE-37824

Change 3175001 on 2016/10/26 by Andrew.Rodham

	Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause.
	  - Also protect Pause() against reentrancy when being called from an event

Change 3175012 on 2016/10/26 by Max.Chen

	Sequence Recorder: Fixes an empty working and view range after recording.

	On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty.
	Added SetViewRange and SetWorkingRange.

	#jira UE-34191

Change 3177760 on 2016/10/28 by Max.Chen

	Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings.

	#jira UE-37808

Change 3178529 on 2016/10/28 by Max.Chen

	Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter

	#jira UE-37328
	#2864

[CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
Marc Audy
d3e1006533 Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2926658
#lockdown Nick.Penwarden

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

Change 2821607 on 2016/01/08 by Mieszko.Zielinski

	Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4

	This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead.

	#rb Lukasz.Furman
	#codereview John.Abercrombie

Change 2828384 on 2016/01/14 by Mieszko.Zielinski

	Back out of visual log refactor done as part of CL#2821607 #UE4

Change 2910454 on 2016/03/15 by Zak.Middleton

	#ue4 - Properly exclude zero-distance MTD results in ComponentEncroachesBlockingGeometry_WithAdjustment() in the presense of multiple overlaps.

	#rb Jeff.Farris
	#jira UE-24327
	UDN: https://udn.unrealengine.com/questions/270574/jeff-farris-hack-for-physx-mtd.html

Change 2910548 on 2016/03/15 by Zak.Middleton

	#ue4 - Handle MTD computation returning NaN direction when there is a "contact" with zero distance.

Change 2912311 on 2016/03/16 by Marc.Audy

	Properly handle overlaps in C++ in documentation code and UE4 to Unity doc
	#rb Martin.Wilson

Change 2913086 on 2016/03/17 by Marc.Audy

	Adding ability to have 9 parameters to a dynamic delegate

Change 2913101 on 2016/03/17 by Marc.Audy

	Fix some of the loctext error messages

Change 2913102 on 2016/03/17 by Thomas.Sarkanen

	Console usability improvements

	Display console autocompletion commands from the lexicographically first element up to either the total number of commands or MAX_AUTOCOMPLETION_LINES, whichever is least. The previous behaviour started the list "in the middle" and hid the first elements if there were too many matches. Thus "[ab ac ad]" with "aa" hidden now becomes "[aa ab ac]" with "ad" hidden.
	To make scrolling work as expected, the input handling of the up and down arrow keys has been reversed so that the cursor iterates forward starting from the top with the down arrow key, and goes back up with the up arrow key. Command history is still accessed with the up arrow key.
	This commit also undoes one of the most evil uses of operator overloading I've ever seen, on par with "#define true false" but more subtle

	Color console autocomplete entries to denote their type: command, CVar or other (manual autocompletion entries). CVars are further divided into writeable and read-only variables.
	Assume that manual console autocompletion entries are commands. This makes the autocompletion list colors more consistent and less noisy

	Automatically select (but don't complete) a command on console character input. To prevent the autocomplete from becoming too trigger happy, no longer automatically complete commands for arbitrary key inputs that we happen to have a match for

	Allow cycling through console commands with the tab key
	Discriminate between first time and repeated tab presses and only scroll through autocomplete entries on the latter

	Fix off-by-one error in console: "x more matches" line was being shown when the number of autocomplete elements was equal to MAX_AUTOCOMPLETION_LINES
	Fix an off-by-one error that was causing the topmost console command to not be shown if there was an autocomplete scroll region

	Show the currently selected autocomplete entry faded out behind the user's typed input
	Slightly increase brightness of the normal input text colour to better distinguish between the typed and autocompleted parts of the input line

	Left-justify command descriptions in the console autocompletion box
	Detect overflow of console autocomplete lines on low resolutions and decrease the space used for description justification to compensate

	Make the console input, history and autocomplete colours user configurable

	Add console background transparency. Configurable, set to 15% by default

	Add missing closing quote to the console dump HTML template

	#github #2061: Console usability improvements from Mattiwatti

Change 2913104 on 2016/03/17 by Thomas.Sarkanen

	Added indicator displayed on animation nodes when they use the 'fast path'

	Added checkbox that can be used to audit Blueprint fast-path usage.
	Switched almost all animation node widgets to derive from new SAnimationGraphNode. This creates the overlay widget that indicates whether this node is using a more optimal path.

	#doc Also added documentation tooltips and UDN doc files/images for the fast path systems.
	#jira UE-24698 - Add icon to pins in anim graph to indicate 'fast mode' access
	#rb Martin.Wilson

Change 2913306 on 2016/03/17 by Marc.Audy

	Cleaning up GetResourceSize
	- Made many call Super::GetResourceSize
	- Removed trivial implementations
	- Fixed HierarchicalInstanceStaticMeshComponent double counting an array

Change 2913535 on 2016/03/17 by Lukasz.Furman

	fixed broken behavior tree graph data after subnode undo
	#ue4 UE-28198

Change 2913608 on 2016/03/17 by Lukasz.Furman

	fixed behavior tree execution indices after undoing move in editor
	#ue4 UE-26705

Change 2913847 on 2016/03/17 by Lukasz.Furman

	added new automation test for UE-28309
	#ue4

Change 2913849 on 2016/03/17 by Lukasz.Furman

	fixed behavior tree skipping over branch when restart request comes during AbortCurrentTask call
	#ue4 UE-28309

Change 2913895 on 2016/03/17 by Marc.Audy

	Added 'self' argument to Actor and PrimitiveComponent delegates that didn't already supply one
	Fixed up all C++ uses of these delegates
	#jira UE-23122
	#rb Zak.Middleton

Change 2914743 on 2016/03/18 by Thomas.Sarkanen

	Editing of primitive data in PhAT

[CL 2926677 by Marc Audy in Main branch]
2016-03-29 16:33:59 -04:00
Matthew Griffin
755f725131 Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2835191 on 2016/01/19 by Nick.Whiting

	Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads

	#jira UE-22705

Change 2835686 on 2016/01/20 by Gareth.Martin

	Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
	#jira UE-18187

Change 2835767 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.

Change 2835772 on 2016/01/20 by Richard.Hinckley

	#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.

Change 2835811 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
	#jira UE-25704 Adjusted Matinee to happen at Box Location
	#jira UE-25688 Adjusted Player Starts
	#jira UE-25693 Adjusted Player Starts

Change 2835863 on 2016/01/20 by Gareth.Martin

	Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
	#jira UE-24883

Change 2835889 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue

Change 2835995 on 2016/01/20 by Jamie.Dale

	The output log now hard-wraps lines to prevent long lines causing performance issues

	#jira UE-24187

Change 2836052 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
	#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge

Change 2836137 on 2016/01/20 by Chad.Taylor

	Vehicle and VehicleAdv template content fixes for new VR camera

	#jira UE-25507

Change 2836166 on 2016/01/20 by Gareth.Martin

	Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
	#jira UE-25093

Change 2836174 on 2016/01/20 by Chad.Taylor

	IHeadMountedDisplay crash fix associated with accessing a dangling pointer.

	#jira UE-25272

Change 2836179 on 2016/01/20 by Jamie.Dale

	Optimized FShapedGlyphSequence reverse look-up

	There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping

	#jira UE-24187

Change 2836286 on 2016/01/20 by Chris.Babcock

	Update Qualcomm TextureConverter for OSX
	#jira UE-22092
	#ue4
	#android

Change 2836328 on 2016/01/20 by Nick.Darnell

	Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted.  Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.

	#jira UE-25752

Change 2836342 on 2016/01/20 by Nick.Darnell

	Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline.  Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.

	#jira UE-25753

Change 2836358 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25710 Replaced Deprecated Nodes

Change 2836510 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface

Change 2836564 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25716 Added bool to store last Moved Direction

Change 2836697 on 2016/01/20 by Taizyd.Korambayil

	#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac

Change 2836725 on 2016/01/20 by Peter.Sauerbrei

	workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
	#jira UE-25123

Change 2836782 on 2016/01/20 by Jamie.Dale

	Added FTextLayout::AddLines

	This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.

	AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.

	#jira UE-24187

Change 2836801 on 2016/01/20 by Jeff.Campeau

[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
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
Andrew Grant
c0452957a1 Merging latest engine code from Orion via //depot/UE4-To-//UE4/Main
[CL 2744667 by Andrew Grant in Main branch]
2015-10-28 08:58:16 -04:00
Max Preussner
8220ceecaf SessionFrontend: Using full username to identify session owners
#CodeReview: peter.sauerbrei

[CL 2696478 by Max Preussner in Main branch]
2015-09-17 21:14:52 -04:00
Max Preussner
b5c451f170 MessagingDebugger: Exposed message fields to details panel
[CL 2689635 by Max Preussner in Main branch]
2015-09-13 07:28:08 -04:00
James Moran
f5cc7b5b81 Additional temporary hack to hide remote devices.
Fix UE-18830. Comment typo fix.

#codereview max.preussner

[CL 2628664 by James Moran in Main branch]
2015-07-22 05:11:19 -04:00
James Moran
b05eac8417 Disable HandleClaimDeniedMessage().
Allows the editor to always claim a device which is desirable on as number of platforms.

#codereview max.preussner, lee.clark

[CL 2625641 by James Moran in Main branch]
2015-07-20 05:30:33 -04:00
Max Preussner
ed7b70caed Messaging: Removed the WithMessaging type trait and message type pre-cache
#UpgradeNotes:
The TStructOpsTypeTraits<>::WithMessaging type trait is no longer necessary for UStructs intended to be used as messages, because UObject creation and destruction is now thread-safe, and message types no longer need to be pre-cached. You can now use any existing and custom UStruct class in the Engine as messages. I ran the Editor for a couple hours with the profiler enabled and did not have any stability issues. If you experience any Messaging related crashes, please let me know asap, thanks!

#CodeReview: robert.manuszewski, peter.sauerbrei, chris.gagnon, jason.bestimt, michael.trepka, nicholas.davies

[CL 2499164 by Max Preussner in Main branch]
2015-04-01 17:35:20 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Marcus Wassmer
230a4e61d0 Double target adds are safe, but we must protect against two adds at the same time in every circumstance.
#codereview chris.gagnon, lee.clark

[CL 2411503 by Marcus Wassmer in Main branch]
2015-01-19 17:54:43 -05:00
Marcus Wassmer
d2617368ce Lock isn't necessary here since double-add is safe now. Fixes a potential deadlock for platforms that have an internal critical section on device discovery.
[CL 2411453 by Marcus Wassmer in Main branch]
2015-01-19 17:18:54 -05:00
Marcus Wassmer
db2345528c Protect against race condition when adding targets
#codereview chris.gagnon

[CL 2405142 by Marcus Wassmer in Main branch]
2015-01-13 15:53:08 -05:00
Chris Gagnon
94d063fa1c Fix for intermitent add issue with async discovered devices.
#codereview marcus.wassmer

[CL 2405085 by Chris Gagnon in Main branch]
2015-01-13 15:11:55 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Max Preussner
fdfdf274ee Messaging: First pass on making headers compilable individually
[CL 2333827 by Max Preussner in Main branch]
2014-10-17 19:15:09 -04:00
Max Preussner
d206670ffe TargetPlatform: Replaced namespaced enums with enum classes
[CL 2326174 by Max Preussner in Main branch]
2014-10-10 20:14:21 -04:00
Max Preussner
762f10fc6b TargetDeviceServices: Code and documentation cleanup pass
[CL 2323221 by Max Preussner in Main branch]
2014-10-08 16:57:50 -04:00
Max Preussner
04874fa782 DeviceManager: Fixed regression: Target devices cannot be released
#CodeReview: chris.gagnon, marcus.wassmer

[CL 2322991 by Max Preussner in Main branch]
2014-10-08 13:54:50 -04:00