Commit Graph

18 Commits

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

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

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

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

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

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

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

	Validate JSON files as we're pushing to EMS

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

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

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

	#epicfriday

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

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

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

	Fix reference to Newtonsoft in Publishing.Automation.

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

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

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

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

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

	#jira OPP-6607

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

	Incrementing Portal version number

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

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

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

	#jira OPP-6121,  OPP-5809

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

	Added GetTypeHash support for FDelegateHandle

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

	Rename/move file(s)

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

	adding in additional platforms for the BuildPlugin commandline

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

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

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

	Adding ValidPrereqIds.json

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

	#jira OPP-6583

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

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

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

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

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

	Simplify params to BuildGraph's ChunkTask / PostBuildTask

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

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

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

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

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

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

	Fixing whitespace damage incoming from Dev-Staging

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

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

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

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

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

	Downgrade cleanup warnings to normal log output.

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

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

	#nojira

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

	Tweak Conan launch parameters

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

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

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

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

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

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

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

	Re-adding Funcom folk to Conan chunk notification emails

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

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

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

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

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

	On demand catalog requests

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

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

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

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

	#jira OPP-6606

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira OPP-6432

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

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

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

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

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

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

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

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

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

	App version is now also appended to user agent string.

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

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

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

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

	#epicfriday

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

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

	#jira OPP-6392

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

	Add support for third-party Conan editor.

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

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

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

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

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

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

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

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

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

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

	Updating compliation changes for AutomationDriver

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

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

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

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

	#jira OPP-6257

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

	Improving fail case handling for the waiting room service

	#jira OPP-5648

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

	Change filetype

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

	Merging CL 3226840 from Dev Editor

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

	#jira OPP-6485

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

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

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

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

[CL 3355309 by Justin Sargent in Main branch]
2017-03-20 18:49:23 -04:00
Ben Marsh
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
Marc Audy
ef9dbd59d7 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3198622)
#rb None
#lockdown Nick.Penwarden

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

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

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

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

	#jira: UE-29999

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

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

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

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

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

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

	#jira: UE-30900

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

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

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

	Moving files

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

	Added access to the viewport client from IPersonaViewport

	Allows systems to hook into the state of the client.

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

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

	Initially select current asset in the asset family shortcut bar dropdown

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

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

	CIS fix for gameplay debugger
	copy of CL# 3165005

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

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

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

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

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

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

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

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

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

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

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

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

	Persona camera fixes

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

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

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

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

	#jira UE-35660

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

	Hopeful fix for Mac CIS issue in PhysXVehiclesEditor

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

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

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

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

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

	Fixed EQS debug drawing not showing item labels #UE4

	Proper implementation of CL#3183899

	#jira UE-38122

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

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

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

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

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

	Internal game fixups for moving gameplayabilities to a plugin

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

	Change abilities plugin to be more obviously unsupported

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

	AEOverview update with HRTF test map

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

	Added "Show Selected and Parents" to bone display options

	Also fixed mis-named menu section.

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

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

	Remove WoflPlat PhysX 3.3 and Apex 1.3 files

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

	Added facial animation support

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

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

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

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

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

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

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

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

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

	Fixed editor shutdown crash

	Dont try to save config when UObjects are all gone.

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

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

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

	Anim Blueprint thread safety is now checked in the compiler

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

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

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

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

	Content fixes for anim BP thread safety warnings

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

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

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

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

	Fix Mac CIS

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

	Fix CIS warning on clang platforms

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

	Hopeful fix for building PhysXVehicles plugin for mac

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

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

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

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

	Remove duplicated condition from if

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

	Another attempt at fixing mac builds of PhysXVehicles plugin

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

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

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

	Trying yet again to fix Mac CIS!

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

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

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

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

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

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

	AEOverview test map addition: testing Virtual Voice

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

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

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

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

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

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

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

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

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

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

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

	Removed deprecated test asset (BP_ProceduralSoundWaveTest)

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

	Removed FPersona and supporting classes

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

	#jira UEFW-222 - Remove FPersona

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

	Fix non-unity builds

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

	Prevent adding keys to read-only curves in curve tables

	Lock off the shift-LMB shortcut to add keys

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

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

	UE-37503 - Add FHitResult output to K2_LineTraceComponent

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

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

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

	Fix CIS fail in Fortnte

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

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

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

	Fix for incorrect framework version in blendspace serialization code.

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

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

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

	Removed a bunch of deprecated AI module functions #UE4

	Cut-off point at v4.10

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

	Deprecated AI functionality removal fallout fixes #UE4

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

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

	Did some massaging on change.

	#jira UE-37685

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

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

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

	Check in trace debug draw test map

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

	Submitting Pose Snapshot test map and asset

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

	Expanded pose snapshot system

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

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

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

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

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

	Added new test for pose variables

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

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

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

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

	AVOverviewAZPlaySoundAtLocation

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

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

	#jira UE-36607

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

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

	#jira UE-33038

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

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

	- Fixups for removals
	- Several bug fixes for sound classes

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

	Fixes for facial animation playback progress

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

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

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

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

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

	Fix a few places I forgot to deprecate regarding GetMacAddress.

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

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

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

	Fixing CIS build warning

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

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

	#jira UE-37512

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

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

	#jira UE-27323

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

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

	#jira UE-37857

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

	Add info about anim instance to additive warning

	#jira UE-35930

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

	Fix skeleton tree selection disappearing when filtering changes

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

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

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

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

	Fix clang CIS

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

	More clang CIS fixes

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

	CIS fix: Missed another enum fwd declaration

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

	Remove 4.11 deprecated functions from animation systems

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

	#jira UE-35748 - Clean up 4.11 Deprecated functions

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

	Fixup Orion hero instance after deprecation

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

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

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

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

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

	#jira UE-38384 Comment cleanup for gameplay tag library

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

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

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

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

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

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

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

	AEOverview Update

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

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

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

	Fix montage thumbnail rendering with ref pose

	#jira UE-35578

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

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

	#jira UE-36264

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

	Auto selected current bone when opening bone reference tree

	#Jira UE-36264

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

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

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

	Marked facial animation plugin & component as experimental/beta

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

	Correct reference skeleton fix up order

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

	Pesudo hair asset usintphat for testing

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

	Fix removal of USkeleton bone tree entries

	#Jira UE-37363

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

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

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

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

	#jira UE-26767

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

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

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

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

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

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

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

	Fix Mac CIS compile error
	#jira UE-38501

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

	Fixed crash on shutdown when using audio mixer

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

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

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

	- Added support for 8 channel source files.

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

	Fixing stupid compile error

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

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

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

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

	#jira UE-38443
	#jira UE-30906

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Slightly improve performance of boolean check

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

	AEOverview Stage 2 WIP

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

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

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

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

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

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

	AEOverviewMain Stage 2 WIP:

	- Added Select All Buttom to select all loaded menu items

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

	Add the ability to use incompatible meshes with snapshots

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

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

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

	Disabled threaded update on various anim blueprints to remove cook warnings

	#jira UE-38537 - Cooking FortniteGame results in warnings

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

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

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

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

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

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

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

	Expose montage functions to Blueprint

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

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

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

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

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

	Move thread-safety check flags to the UAnimBlueprint

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

	#jira UE-38537 - Cooking FortniteGame results in warnings

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

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

	Content only re-save.

	#jira UE-38537 - Cooking FortniteGame results in warnings

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

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

[CL 3198987 by Marc Audy in Main branch]
2016-11-15 15:29:41 -05:00
Robert Manuszewski
af30c884a5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2946506 on 2016/04/18 by Steven.Hutton

	Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports.

Change 3017807 on 2016/06/17 by Chris.Wood

	Improved Crash Report Process folder delete code as it could sometimes fail.
	[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue

	Also added logging to Slack when stop request received instead of just when stop is complete.

Change 3019367 on 2016/06/20 by Chris.Wood

	Improve Crash Report Process logging to track bad reads from S3.
	Also, better logging when CleanReport fails to delete folders.

Change 3019376 on 2016/06/20 by Steve.Robb

	Clarification of assert message and comments which talk about 'null' TFunctions.
	Tidy-up of dead code.

Change 3019409 on 2016/06/20 by Steve.Robb

	New Find and FindByPredicate algorithms for finding stuff in arbitrary containers.

Change 3022658 on 2016/06/22 by Chris.Wood

	Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11)
	[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue

	Also improved logging to Slack with better layout, fixed event ordering and counting duplicates.

Change 3022840 on 2016/06/22 by Steve.Robb

	Skipped UHT attributes removed.

Change 3022907 on 2016/06/22 by Robert.Manuszewski

	Fixing crash when adding a new C++ class to project

	#jira UE-32333

Change 3023169 on 2016/06/22 by Steve.Robb

	Checks for UTHINGs in skipped preprocessor blocks.
	Fixes for skipped UTHINGs and some other parsing accidents.

	#jira UE-31627

Change 3023239 on 2016/06/22 by Steve.Robb

	Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html

Change 3026812 on 2016/06/24 by Mieszko.Zielinski

	Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4

Change 3028235 on 2016/06/27 by Robert.Manuszewski

	PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist)

Change 3028282 on 2016/06/27 by Steve.Robb

	Fix for missing UFUNCTION check in skipped preprocessor blocks.

	#jira UE-31627

Change 3028284 on 2016/06/27 by Steve.Robb

	Debuggability improvements and coding standards changes.

Change 3028343 on 2016/06/27 by Steve.Robb

	Fix for UHT error in WEX.

	#jira UE-32464

Change 3028393 on 2016/06/27 by Steve.Robb

	Fix for hot reload of enums finding the old enum.
	Fix to stop SPropertyEditorNumeric caching the enum flags.

	#jira UE-31658

Change 3030362 on 2016/06/28 by Robert.Manuszewski

	Fixing hang when cooking.

Change 3030462 on 2016/06/28 by Steve.Robb

	Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild.

	#jira UE-32001

Change 3034341 on 2016/06/30 by Robert.Manuszewski

	Modified crash handling code (on Windows) to handle two threads crashing at the same time properly.  Previously the second crash would force the process to exit before generating the crash report.

	Added 'debug twothreadsgpf' command to test the functionality.

Change 3034342 on 2016/06/30 by John.Mahoney

	Fix for crash when loading an empty cached asset registry.

	#jira UE-32232

Change 3035599 on 2016/07/01 by Chris.Wood

	Added support for CrashType string to Crash Report Process. CRP v1.1.12
	[UE-30592] - Crash Reporter should determine crash type on client and pass string to server

	Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible.

	Added in missing crash context parameters that have been added to clients but not known by the server.

Change 3035787 on 2016/07/01 by John.Mahoney

	Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h.

	#jira UE-30189

Change 3036933 on 2016/07/04 by Steve.Robb

	Proper forwarding constructor for FAsyncTask.

Change 3036938 on 2016/07/04 by Steve.Robb

	Fix for CDO hot reload corrupting memory when replacing references inside structs.

	#jira UE-29335

Change 3036960 on 2016/07/04 by Steve.Robb

	Fix for FAnsiAllocator::ResizeAllocation when resizing to zero.

Change 3037423 on 2016/07/05 by Steve.Robb

	FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool.

Change 3037464 on 2016/07/05 by Steve.Robb

	HotReload.cpp cleanup:

	Deep nesting flattened.
	Linear array searches replaced with maps.
	FHotReloadModule::GetGameModules made into a non-member function and split into two.
	Comment and coding standard fixes.

Change 3037741 on 2016/07/05 by John.Mahoney

	Fix for COTF not checking the correct timestamps on startup.

	#jira UE-31023

Change 3037846 on 2016/07/05 by Steve.Robb

	Fix for compile button disappearing on a bad compile.

	#jira UE-31575

Change 3037994 on 2016/07/05 by Steve.Robb

	Static analysis fixes:

	warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.

Change 3039186 on 2016/07/06 by Robert.Manuszewski

	Enabling crash callstack logging by default.

Change 3039220 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot
	warning C6001: Using uninitialized memory 'UserNameLength'
	warning C6001: Using uninitialized memory 'DomainNameLength'

Change 3039230 on 2016/07/06 by Steve.Robb

	Fix for VC internal compiler errors.

Change 3039237 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'Path':  the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read.

Change 3039287 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
	warning C6101: Returning uninitialized memory '*lpdwExitCode'.  A successful path through the function does not set the named _Out_ parameter.
	warning C6387: '_Param_(1)' could be '0':  this does not adhere to the specification for the function 'IMoniker::BindToStorage'.
	warning C6387: '_Param_(1)' could be '0':  this does not adhere to the specification for the function 'IMoniker::BindToObject'.
	warning C6031: Return value ignored: 'CoCreateInstance'.

Change 3039359 on 2016/07/06 by Graeme.Thornton

	Compile error fix for FAsyncTask, courtesy of SteveR

Change 3039534 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects.

Change 3039545 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6297: Arithmetic overflow:  32-bit value is shifted, then cast to 64-bit value.  Results might not be an expected value.

Change 3039578 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6263: Using _alloca in a loop:  this can quickly overflow stack.

Change 3039623 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'
	warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
	warning C6385: Reading invalid data from 'X':  the readable size is 'Y' bytes, but 'Z' bytes may be read.
	warning C6386: Buffer overrun while writing to 'X':  the writable size is 'Y' bytes, but 'Z' bytes might be written.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 3039630 on 2016/07/06 by John.Mahoney

	Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here.

	#jira UE-29123

Change 3039664 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'NewKeys':  the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
	warning C6386: Buffer overrun while writing to 'NewHeapIndexes':  the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.

Change 3039673 on 2016/07/06 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'.

Change 3039690 on 2016/07/06 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope.
	warning C6262: Function uses '121180' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.
	warning C6263: Using _alloca in a loop:  this can quickly overflow stack.

Change 3040868 on 2016/07/07 by Graeme.Thornton

	Config based class stripping for server builds

Change 3040872 on 2016/07/07 by Graeme.Thornton

	Remove "return false" NeedsLoadForServer functions from engine code

Change 3040997 on 2016/07/07 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Landscape'.
	warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'.
	warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'.

Change 3041004 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 3041014 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 3041111 on 2016/07/07 by Steve.Robb

	Removal of an obsolete error message about INI file case sensitivity.

Change 3041150 on 2016/07/07 by Steve.Robb

	Static analysis fix: warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?

Change 3041274 on 2016/07/07 by Steve.Robb

	Static analysis fixes: warning C6001: Using uninitialized memory 'X'.

Change 3041294 on 2016/07/07 by Chris.Wood

	Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14)
	[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack

	Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length.

	Increased buffer size for decompression as this was sometimes too small.

	Modified S3 reading code to look for multiple records in each downloaded file.

Change 3041472 on 2016/07/07 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.
	warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'.

Change 3043074 on 2016/07/08 by John.Mahoney

	Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name.
	Fix for COTF GetFiles not handling absolute GameDir paths properly.

	#jira UE-31023

Change 3044461 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes':  the writable size is '16384' bytes, but '-8' bytes might be written.

Change 3044470 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'.

Change 3044476 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.

Change 3044551 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did.

Change 3044664 on 2016/07/11 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'.
	warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did.
	warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'.
	warning C6385: Reading invalid data from 'out':  the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read.

Change 3044716 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize':  the readable size is '32' bytes, but '-4' bytes may be read.

Change 3044717 on 2016/07/11 by Steve.Robb

	Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did.

	This appears to be a false positive.

Change 3044787 on 2016/07/11 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'FbxObject'.
	warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did.
	warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did.

Change 3045933 on 2016/07/12 by Steve.Robb

	Overloading support for TSharedPtr, TSharedRef and TWeakPtr.

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

	Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled.

Change 3045963 on 2016/07/12 by Steve.Robb

	PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed.
	THasOperatorEquals and THasOperatorNotEquals traits moved to their own header.

Change 3045967 on 2016/07/12 by Steve.Robb

	Initializer list support for TArray and TSet.

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

	Fixing an ensure after typing 'stat dumphitches' in console.

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

	Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure)

Change 3047870 on 2016/07/13 by Steven.Hutton

	Updated CRW to entity framework with repository models. #rb none

Change 3047871 on 2016/07/13 by Steven.Hutton

	Add repository models #rb none

Change 3049468 on 2016/07/14 by Steven.Hutton

	Fix broken project files. #rb none

#lockdown Nick.Penwarden

[CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
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
7077d50aa0 Slate/Core - Fixing a few cases where we were comparing TAttributes directly to literals.
[CL 2606119 by Nick Darnell in Main branch]
2015-06-30 14:04:31 -04:00
Nick Atamas
f5e19bef14 Slate : RelativeLayoutScale is now computed in the SlatePrepass(). ComputeDesiredSize() now takes a float parameter. API-breaking change!
[CL 2406629 by Nick Atamas in Main branch]
2015-01-14 19:04:45 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -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
Chris Gagnon
0e6d657c3d Refactor to unify keyboard and controller input and focus.
Native controller navigation support.

[CL 2345039 by Chris Gagnon in Main branch]
2014-10-30 12:29:36 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Thomas Sarkanen
90f8d48a63 Added Tutorials as a context for User Feedback
TTP# 347540 - Feature Request: EDITOR: Add tutorials as an option for Quick Feedback

[CL 2312731 by Thomas Sarkanen in Main branch]
2014-09-29 07:14:09 -04:00
Thomas Sarkanen
8dc16308f3 Added tutorials button in top bar of editor & sub-editors
Icon is only visible if content is available for the editor in question.
Split editor settings into two groups - one is persistent settings and one is progress/state.
Tutorials record their dismissed state, so users can permenantly disable the 'nag' for a particular tutorial.
Tutorial content now solidifies when the mouse is hovered over it, so it can be made easier to read.
Fixed crash on startup if an intro tutorial was displaying rich text.
Also fixed crash for TTP# 345094, where a zero-length tutorial was being accessed.

[CL 2275934 by Thomas Sarkanen in Main branch]
2014-08-28 06:22:40 -04:00
Nick Atamas
badf62c330 Slate slots now use a common base class, which has a private '.Widget' member; use GetWidget() instead.
Slate TPanelChildren, TSlotlessChildren are no longer full-fledged arrays; removed any unused Array API.
Fixed up a lot of improper use cases.

This better encapsulates the action of adding/removing Slate Widgets from the runtime tree as a Slate Core concern.
Alows us to add parent pointers in the future with significantly less effort.

#codereview Wes.Hunt
#codereview Nick.Darnell
#codereview Matt.Kuhlendschmidt
#codereview Justin.Sargent

[CL 2234301 by Nick Atamas in Main branch]
2014-07-28 06:53:40 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Max Preussner
b63129a60c Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG.
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)

Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()

Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine

[CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00