Commit Graph

57 Commits

Author SHA1 Message Date
Phillip Kavan
f64e3e18d7 Some minor refactoring to assist with auto-importing external type object dependency namespaces into the Blueprint editor context in response to user actions.
Change summary:
- Moved base definition of UK2Node::HasExternalDependencies() up one level to UEdGraphNode (to avoid blind casts in a context where we may not necessarily have a UK2Node subtype).
- Updated subtype headers that override HasExternalDependencies() to relocate the declaration into the class declaration's 'UEdGraphNode overrides' section (for clarity).
- Reverted previous UBlueprintNodeSpawner::ImportTarget solution in favor of using node dependencies; this allows auto-import actions to scale more easily to all existing node subtypes and avoids data duplication.
- Modified SBlueprintActionMenu::OnActionSelected() to utilize the new method for determining which namespace(s) to auto-import after executing a node spawner action in response to a context menu item selection (UE-146803).
- Reverted FBlueprintNamespaceUtilities::GetPropertyValueNamespaces() back to its original 5.0 signature so that it uses a TSet<FString> for the output rather than a TArray<FString>; this fits in better with input to other APIs.
- Renamed FBlueprintEditor::FImportNamespaceParameters to FImportNamespaceExParameters (for clarity).
- Changed the 'FBlueprintEditor::FImportNamespaceParameters::AdditionalNamespaces' member to a TSet<FString> containing *all* namespaces to import rather than limiting to only additional ones.
- Reverted FBlueprintEditor::ImportNamespace() back to its original 5.0 signature and added/implemented FBlueprintEditor::ImportNamespaceEx() as the "extended" version that allows for batched imports and future customizations.
- Revised existing FBlueprintEditor::ImportNamespace() call sites to utilize and/or conform to the extended ImportNamespaceEx() API where appropriate.

#jira UE-146803
#rb Benjamin.Fox
#preflight 623cf3a433709ff50128e8d4

[CL 19505118 by Phillip Kavan in ue5-main branch]
2022-03-24 19:50:46 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
ben hoffman
dbce6a26b6 Type Promotion: Add a conversion option for promotable operators when they are in a wildcard state.
#jira UE-107516
#rb marc.audy
#rnx

[CL 15276861 by ben hoffman in ue5-main branch]
2021-02-01 19:47:28 -04:00
ben hoffman
d23b27e30c Blueprints: Update the promotable operator tooltip when the function node has a new connection made.
#jira UE-102375
#rb phillip.kavan
#rnx

[CL 14645356 by ben hoffman in ue5-main branch]
2020-11-03 15:52:04 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
aditya ravichandran
1f07484840 Editor only nodes cannot be copied into and don't show up in runtime blueprints anymore
#jira UE-66346

#jira UE-74865

#rb lauren.barnes

#fyi chris.gagnon

[CL 13700559 by aditya ravichandran in ue5-main branch]
2020-06-17 16:50:09 -04:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
Phillip Kavan
07478faa82 More fixes/improvements to Blueprint graph node deprecation UI.
Change summary:
- Added "(deprecated)" to the display bar UI at the top of user-defined Blueprint event and function graphs.
- Added FEdGraphNodeDeprecationResponse along with EEdGraphNodeDeprecationType and EEdGraphNodeDeprecationMessageType enums.
- Added UEdGraphNode::HasDeprecatedReference() to differentiate between IsDeprecated() (which now means the node itself is deprecated) vs. a reference to a deprecated class member (e.g. variable, function).
- Deprecated UEdGraphNode::GetDeprecationMessage() and UEdGraphNode::ShouldWarnOnDeprecation() APIs in favor of UEdGraphNode::GetDeprecationResponse() (new). Node subclasses should override this when they need to override the message type (EEdGraphNodeDeprecationMessageType) and/or the message text based on the type of deprecation that's being reported by the node (EEdGraphNodeDeprecationType).
- A default deprecation response is now constructed for both cases by UEdGraphNode.
- Added a case for deprecation "notes" to FGraphCompilerContext::ValidateNode(). These are currently used to visually identify deprecated function entry nodes and event nodes in the Blueprint class in which they are deprecated, as these represent the definitions of those functions and not actual usage or call site (which we continue to warn about).
- Modified various node subclasses in which it was necessary to convert over to using a GetDeprecationResponse() method override.

#rb Dan.OConnor
#jira UE-72938, UE-73322

[CL 6676710 by Phillip Kavan in Dev-Framework branch]
2019-05-30 12:18:07 -04:00
Marc Audy
608734e30d Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4664414
#rb
#rnx

[CL 4666113 by Marc Audy in Dev-Framework branch]
2018-12-17 12:24:20 -05:00
Marc Audy
6883d64fb7 PR #5284: Allow multiple ExpandEnumsAsExecs parameters (Contributed by korkuveren)
#jira UE-66615
#rb Me

[CL 4649624 by Marc Audy in Dev-Framework branch]
2018-12-11 15:10:39 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Marc Audy
78ce1089a6 Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 3623720 by Phillip.Kavan

	#jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build.

	Change summary:
	- Temporarily excluded all AnimBP assets from nativization as a workaround.

Change 3626305 by Phillip.Kavan

	#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.

Change 3629145 by Marc.Audy

	Don't hide developer nativization tool behind ini

Change 3630849 by Marc.Audy

	Fix nativization uncompilable code when using a non-referenceable term in a switch statement.
	#jira UE-44085

Change 3631037 by Marc.Audy

	(4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it
	#jira UE-49440

Change 3631206 by Marc.Audy

	Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT(""))

Change 3631232 by Marc.Audy

	Remove outdated diagnostic code throwing false positives
	#jira UE-47986

Change 3631573 by Marc.Audy

	Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's'

Change 3633168 by Lukasz.Furman

	fixed behavior tree changing its state during latent abort,
	modified order of operations during abort to: abort & wait -> change aux nodes -> execute

Change 3633609 by Marc.Audy

	Don't get unneeded string

Change 3633691 by Marc.Audy

	Fix copy-pasting of a collapsed graph containing a map input losing the value type
	#jira UE-49517

Change 3633967 by Ben.Zeigler

	Actor.h header cleanup, fix various comments and reorganize some members,  saves 80 bytes per actor in a cooked Win64 build
	bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript
	Fixed a few other fields to be private that were accidentally made public in 4.17

Change 3633984 by Michael.Noland

	Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links

Change 3634464 by Ben.Zeigler

	Header cleanups for Pawn, Controller, Character, and PlayerController

Change 3636858 by Marc.Audy

	In preview worlds don't display the light error sprite
	#jira UE-49555

Change 3636903 by Marc.Audy

	Fix numerous issues with copy/pasting editable pin bases
	#jira UE-49532

Change 3638898 by Marc.Audy

	Allow right-click creation of local variables in blueprint function libraries
	#jira UE-49590

Change 3639086 by Marc.Audy

	PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin)
	#jira UE-49591

Change 3639445 by Marc.Audy

	Fix mistaken override and virtual markup on niagara schema function.

Change 3641202 by Marc.Audy

	(4.17.2) Fix crash undoing pin changes with split pins
	#jira UE-49634

Change 3643825 by Marc.Audy

	(4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted
	#jira UE-49756

Change 3645110 by mason.seay

	Fixed up QA-ClickHUD map so it's usable and makes more sense

Change 3646428 by Dan.Oconnor

	Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data
	#jira None

Change 3647298 by Marc.Audy

	PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist)
	#jira UE-49748

Change 3647815 by Marc.Audy

	Minor performance improvements

Change 3648931 by Lina.Halper

	#Compiler : fixed so that each type of BP can provide module info, and compiler info
	- Moved out AnimBlueprint Compiler
	- Refactored WidgetBlueprint

	- DUPE - Merging using ControlRig_Dev-Framework

Change 3654310 by Marc.Audy

	Shrink USkinnedMeshComponent 64 bytes
	Shrink USkeletalMeshComponent 224 bytes (160 bytes internal)

Change 3654636 by Lina.Halper

	Fix crashing on shutdown

	#jira: UE-50004

Change 3654960 by Lina.Halper

	- Fix with automation test of creation/duplication
	- Fixed shut down crash with editor again due to uobject GCed

	#jira: UE-50028

Change 3655023 by Ben.Zeigler

	#jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag

Change 3655426 by Ben.Zeigler

	#jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them

Change 3657627 by Ben.Zeigler

	#jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction

Change 3662086 by Mieszko.Zielinski

	Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4

	This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList

	#jira UE-50101

Change 3662294 by Ben.Zeigler

	Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check

Change 3662825 by Mieszko.Zielinski

	Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4

	there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no

Change 3664424 by Marc.Audy

	UE-50076 test assets #rb none #rnx

Change 3664441 by Mieszko.Zielinski

	PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist)

	Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated.


Change 3664506 by Phillip.Kavan

	#jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets.

	Change summary:
	- UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization.
	- UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths.
	- UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished.
	- UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option).
	- UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed.
	- UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead.
	- UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead.
	- UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file.
	- UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file.
	- UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first).
	- UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness.
	- UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed.
	- UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc.
	- UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file.
	- UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string.
	- UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>.
	- UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin.
	- UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed).
	- UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed).
	- UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it.
	- UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished.
	- UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed.
	- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag.
	- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed.
	- UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context.
	- UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail.
	- UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT).
	- UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders.

	Notes:
	- After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release).
	- Advanced users and build engineers can override this value per task. Instructions to do that are as follows:
	    - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line.
	    - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly.
	- We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT.
	- We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above).

Change 3665061 by Phillip.Kavan

	Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum.

	Mirrored from //UE4/Release-4.18 (CL# 3664993).

	#3969
	#jira UE-49233

Change 3665108 by Marc.Audy

	(4.18) Fix  crash when diffing a blueprint whose older version's parent blueprint has been deleted
	+ additional code cleanup
	#jira UE-50076

Change 3665114 by Marc.Audy

	Minor change that could potentially improve performance in some cases

Change 3665410 by Mieszko.Zielinski

	Fixed naming of Vislog's BP API #UE4

Change 3665634 by Ben.Zeigler

	#jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk

Change 3666970 by Phillip.Kavan

	Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8.

	#jira UE-46814

Change 3667058 by Phillip.Kavan

	Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage.

	Mirrored from //UE4/Release-4.18 (CL# 3667043).

	#jira UE-50403

Change 3667150 by Mieszko.Zielinski

	PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM)

	Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend.


	#jira UE-50249

Change 3667152 by Mieszko.Zielinski

	PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM)


	#jira UE-50298

Change 3667166 by Mieszko.Zielinski

	Fixed FRichCurve baking so that it doesn't loose its curvature #UE4

	Also, added some baking sanity checking (like if the range is larger than a single point).

Change 3668025 by Dan.Oconnor

	Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed

	#jira UE-50453

Change 3672063 by Ben.Zeigler

	#jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case

Change 3672306 by Ben.Zeigler

	#jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it

Change 3672683 by Marc.Audy

	Code cleanup

Change 3672749 by Ben.Zeigler

	Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build

Change 3672831 by Ben.Zeigler

	#jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId.
	Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project

Change 3673551 by Ben.Zeigler

	#jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load

Change 3675074 by mason.seay

	Test map for VisLog Testing

Change 3675084 by Mieszko.Zielinski

	Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4

	#jira UE-43430

Change 3676490 by Ben.Zeigler

	#jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset

Change 3676579 by Lukasz.Furman

	fixed crash in behavior tree's search rollback

Change 3676586 by Lukasz.Furman

	added local scope mode to behavior tree's composite nodes

Change 3676587 by Ben.Zeigler

	Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case
	Add browse, use selected, and clear buttons, and make ID selector font the normal property font

Change 3676715 by Lukasz.Furman

	changed order of behavior tree's aux node ticking

Change 3676867 by Ben.Zeigler

	#jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup
	Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early

Change 3677892 by Ben.Zeigler

	Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites

Change 3678247 by Marc.Audy

	Fix static analysis warning

Change 3678357 by Ben.Zeigler

	#jira UE-50696 Add some container variables to diff test to track down crashes

Change 3678385 by Ben.Zeigler

	#jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match

Change 3678600 by Ben.Zeigler

	#jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference

Change 3679075 by Dan.Oconnor

	Mirror 3679030 from Release-4.18
	Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on
	#jira UE-48692

Change 3679087 by Dan.Oconnor

	Filter out unnecessary relink jobs from the compilation manager

	#jira None

Change 3680221 by Ben.Zeigler

	#jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary

Change 3680561 by Lukasz.Furman

	fixed unsafe StopTree calls in behavior tree
	#jira nope

Change 3680788 by Ben.Zeigler

	Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind

Change 3683001 by mason.seay

	Submitting various test maps and assets

Change 3686837 by Mieszko.Zielinski

	Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion

	#jira UE-50857

Change 3688451 by Marc.Audy

	Fix up new material expression to work with String -> Name refactor

Change 3689097 by Mason.Seay

	Test content for nativization and enum testing

Change 3689106 by Mieszko.Zielinski

	Made NavMeshBoundsVolume react to undo in the editor #Orion

	#jira UE-51013

Change 3689347 by Mieszko.Zielinski

	Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4

	Manual merge of CL#3689316 over from 4.18

	#jira UE-51019

Change 3692524 by mason.seay

	Moved some assets to folder for org, fixed up redirectors

Change 3692540 by mason.seay

	Renaming test maps so they are clearly indicated for testing nativization

Change 3692577 by mason.seay

	Deleted a bunch of old assets I created specifically for various bugs reported.  All issues are closed so they're no longer needed

Change 3692724 by mason.seay

	Deleting handful of assets found in developer folders of those no longer with the team.  Moved assets that are still used by test maps

Change 3693184 by mason.seay

	Assets for testing nativization with structs

Change 3693367 by mason.seay

	Improvements to test content

Change 3695395 by Dan.Oconnor

	Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced

	#jira None

Change 3695484 by Marc.Audy

	Fix sound cue connection drawing policy not getting returned.
	#jira UE-51032

Change 3695494 by mason.seay

	More test content for nativization testing

Change 3697829 by Mieszko.Zielinski

	PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei)


Change 3700541 by mason.seay

	Test map for containers with function bug

Change 3703459 by Marc.Audy

	Remove poorly named InverseLerp
	Fix degenerate behavior returning bad value
	#jira UE-50295

Change 3703803 by Marc.Audy

	Clean up autos
	Minor improvement to ShouldGenerateCluster

Change 3704496 by Mason.Seay

	More test content for testing nativization

Change 3706314 by Marc.Audy

	PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar)
	#jira UE-50874

Change 3707502 by Mason.Seay

	Final changes to nativization test content (hopefully)

Change 3709478 by Marc.Audy

	PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel)
	Same as CL# 3689702 implemented in Fortnite
	#jira UE-51453

Change 3709967 by Marc.Audy

	PR #4139: fixed a typo in a comment (Contributed by derekvanvliet)
	#jira UE-51372

Change 3709970 by Marc.Audy

	PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman)
	#jira UE-51495

Change 3709971 by Marc.Audy

	PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas)
	#jira UE-51492

Change 3710041 by Marc.Audy

	Minor code cleanup

Change 3711223 by Phillip.Kavan

	Move some Blueprint nativization log spam into the verbose category.

	#jira UE-49770

Change 3713398 by Marc.Audy

	PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM)
	#jira UE-51517

Change 3713601 by Marc.Audy

	Fix merge error

Change 3713994 by Marc.Audy

	(4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event.
	#jira UE-50738

Change 3714270 by Marc.Audy

	Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors
	#jira UE-51534

Change 3714406 by Marc.Audy

	Fix dumb inverted boolean check

Change 3716594 by Dan.Oconnor

	Integrate 3681301 from 4.18
	Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior
	#jira UE-50780, UE-51568

Change 3686450 by Marc.Audy

	PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString.
	CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither.
	CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters.
	Material Expressions now store input and output names as FName instead of FString
	FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString
	Most existing pin related functions using string have been deprecated.

Change 3713796 by Marc.Audy

	Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not.

	IsTickable no longer a pure virtual (defaults to true).

	Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject.

Change 3638554 by Marc.Audy

	Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected.

Change 3676502 by Ben.Zeigler

	Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635

[CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
Marc Audy
eaccf4135c Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3582324)
#lockdown Nick.Penwarden
#rb none
#rnx

============================
  MAJOR FEATURES & CHANGES
============================

Change 3431439 by Marc.Audy

	Editor only subobjects shouldn't exist in PIE world
	#jira UE-43186

Change 3457323 by Marc.Audy

	Undo CL# 3431439 and once again allow (incorrectly) for editor only objects to exist in a PIE world

	#jira UE-45087

Change 3499927 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker

	#jira UE-43458

Change 3502939 by Michael.Noland

	Back out changelist 3499927

Change 3522783 by Zak.Middleton

	#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).

Change 3544641 by Dan.Oconnor

	Remove conditional that is no longer needed, replace with ensure. It is unsafe to change CDO names

	#jira OR-38176

Change 3544645 by Dan.Oconnor

	In addition to marking nodes as not transient, FBlueprintEditor::ExpandNode needs to mark them as transactional
	#jira UE-45248

Change 3545023 by Marc.Audy

	Properly encapsulate FPinDeletionQueue
	Fix ensure during deletion of split pins when not clearing links
	Fix split pins able to end up in delete queue twice during undo/redo

Change 3545025 by Marc.Audy

	Properly allow changing the pin type from a struct that is split on the node
	#jira UE-47328

Change 3545455 by Ben.Zeigler

	Fix issue where combined streamable handles could be freed before their complete callback is called if nothing external referenced them
	Copy of CL#3544474

Change 3545456 by Ben.Zeigler

	Allow PrimaryAssets to update their AssetData based on in-memory changes when launching 'Standalone Game' and 'Mobile Preview' from the editor. As it was, changes could be detected and propagated through UPrimaryDataAsset::PostLoad, but the changes would always reapply whatever already exists in the AssetRegistry. The primary use-case for this: making AssetBundle tag changes and allowing them to propagate without resaving/recooking all affected assets.
	Copy of CL #3544374

Change 3545547 by Ben.Zeigler

	CIS Fix

Change 3545568 by Michael.Noland

	PR #3758: Fixing a comment typo from Transistion to Transition (Contributed by gsfreema)

	#jira UE-46845

Change 3545582 by Michael.Noland

	Blueprints: Prevent duplicate messages from being added to the compiler results log (fixes a crash when resizing the results log while a math expression node has an error)
	Blueprints: Fixed the tooltip of math expression nodes not showing up, and error messages getting cleared on subsequent compiles
	[Duplicating fixes for UE-47491 and UE-47512 from 4.17 to Dev-Framework]

Change 3546528 by Ben.Zeigler

	#jira UE-47548
	Fix crash when a map's key type has changed but value has not, it was passing the UStruct defaults in when serialize was expecting the default instance, so pass null instead as we don't have the instance

Change 3546544 by Marc.Audy

	Fix split pin restoration logic to deal with wildcards and variations in const/refness

Change 3546551 by Marc.Audy

	Don't crash if the struct type is missing for whatever reason

Change 3547152 by Marc.Audy

	Fix array exporting so you don't end up getting none instead of defaults
	#jira UE-47320

Change 3547438 by Marc.Audy

	Fix split pins on class defaults
	Don't cause a structural change when reapplying a split pin as part of node reconstruction
	#jira UE-46935

Change 3547501 by Ben.Zeigler

	Fix ensure, it's valid to pass a null path for a dynamic asset

Change 3551185 by Ben.Zeigler

	#jira UE-42835 Fix it so SoftObjectPaths work correctly when inside levels loaded for the first time from PIE. Added code to do in-place PIE fixup for levels that are loaded instead of duplicated, and changed the fixup logic to fix all level references, not just ones being explicitly duplicated

Change 3551723 by Ben.Zeigler

	Improve UI for displaying actor soft references. Add an error/warning icon if the cross level reference is broken or unloaded, and fix various display and copy/paste behaviors

Change 3553216 by Phillip.Kavan

	#jira UE-39303, UE-46268, UE-47519
	- Nativized UDS now support external asset dependencies and will construct their own linker import tables on load.

	Change summary:
	- Modified FCompactBlueprintDependencyData and FFakeImportTableHelper to be more relevant to UStruct and not just UClass-derivative types.
	- Modified FBlueprintDependencyData to accept a single FCompactBlueprintDependencyData struct rather than its individual fields.
	- Modified FBlueprintCompilerCppBackendBase::GenerateCodeFromStruct() to emit dependency assignment and static type registration functions for nativized UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FStatePerPlatform to include an array for tracking UDS assets that need to be converted during the nativization pass at cook time.
	- Modified FBlueprintNativeCodeGenModule::GenerateFullyConvertedClasses() to generate nativized code for UDS assets. This ensures that UDS conversion falls under the same scope as BPGC conversion, so that they both feed into the same NativizationSummary context for asset dependency tracking (i.e. since we only have a single global dependency table in the codegen). Also modified InitializeForRerunDebugOnly() to do the same.
	- Modified FBlueprintNativeCodeGenModule::Convert() to defer UDS conversion so that it's done at the same time as BPGC conversion (see note above).
	- Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to include support for UStruct types and to conform to changes made to FCompactBlueprintDependencyData.
	- Modified FEmitDefaultValueHelper::AddRegisterHelper() to include support for UStruct types.
	- Modified FBlueprintNativeCodeGenModule::FindReplacedClassForObject() to ensure that converted User-Defined Enum types are switched to a UEnumProperty at package save time so that any import tables contain the proper class. This is necessary because we nativize User-Defined Enum types as 'enum class' types, and UHT will generate code for those as a UEnumProperty with an "underlying" property. However, non-nativized User-Defined Enum types are referenced as a UByteProperty with a UEnum reference, so we have to fix up all the import tables before saving. Otherwise, EDL will assert on load (see UE-47519).

Change 3553301 by Ben.Zeigler

	Fix ensure when passing literal None to SoftObjectPath, it now treats them as empty instead

Change 3553631 by Dan.Oconnor

	UField::Serialize no longer serialize's its next ptr,  UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker. This change was originally submitted in 3499927, but it was incorrectly clearing the UField::Next pointer in UField::Serialize.

	#jira UE-43458

Change 3553799 by Ben.Zeigler

	Fix issue where calling WaitUntilComplete on a combined handle with Stalled children wouldn't work properly. It now forces all stalled children to start immediately. I also added a warning log when this happens and an ensure if somehow the force didn't work
	Copy of CL #3553781

Change 3553896 by Michael.Noland

	Blueprints: Allow the autowiring logic to better break and replace existing connections when made (e.g., when dragging a variable onto a compatible pin with an existing connection, break the old connection to allow the new connection to be made)
	#jira UE-31031

Change 3553897 by Michael.Noland

	Blueprints: Adjust search query when doing 'Find References' on variables from My Blueprints so that bound event nodes show up for components and widgets
	#jira UE-37862

Change 3553898 by Michael.Noland

	Blueprints: Add the name of the variable directly in the get/set menu options (when dragging from My Blueprints into the graph)

Change 3553909 by Michael.Noland

	Blueprints: Added the full name of the type, container type (and value type for maps) to the tooltips for the type picker elements, so long names can be read in full
	#jira UE-19710

Change 3554517 by Michael.Noland

	Blueprints: Added an option to disable the comment bubble on comment boxes that appears when zoomed out
	#jira UE-21810

Change 3554664 by Michael.Noland

	Editor: Renamed "Find in CB" command to "Browse" and renamed "Search" (in BP) to "Find", so terminology is consistent and keyboard shortcuts make sense (Ctrl+B for Browse, Ctrl+F for find, not using the term Search anywhere)

	#jira UE-27121

Change 3554831 by Dan.Oconnor

	Non editor build fix

Change 3554834 by Dan.Oconnor

	Actor bound event related warnings now show up in blueprint status when opening level blueprint for first time, improved warning message. Removed unused delegate and return value from FixLevelScriptActorBindings. Can now pass raw strings to blueprint results log (no need for Printf, although padding is not great), UClasses in compiler results log will open the generated blueprint when clicked on

	#jira UE-40438

Change 3556157 by Ben.Zeigler

	Convert LevelSequenceBindingReference to use FSoftObjectPath so it works properly with redirectors and fixups

Change 3557775 by Michael.Noland

	Blueprints: Fixed swapped transaction messages when converting a cast node between pure and impure
	#jira UE-36090

Change 3557777 by Michael.Noland

	Blueprints: Allow 'Goto Definition' and 'Find References' to be used while stopped at a breakpoint
	PR #3774: Expose GotoFunctionDefinition during BP debugging (Contributed by projectgheist)
	#jira UE-47024

Change 3560510 by Michael.Noland

	Blueprints: Add support for 'goto definition' on Create Event nodes when the Object pin is not hooked up
	#jira UE-38912

Change 3560563 by Michael.Noland

	Blueprints: Disallow converting a variable get node to impure/back when debugging (no graph mutating operations should be allowed)

Change 3561443 by Ben.Zeigler

	Restore code to support gc.DumpPoolStats, was accidentally removed when FGCArrayPool was moved to a header.
	Clean up comments around Cleanup function, the functionality to trim the memory pools was integrated into ClearWeakReferences on a prior change

Change 3561658 by Michael.Noland

	Blueprints: Refactored 'Goto Definition' so there is no per-class logic in the Blueprint editor or schema any more; any node can opt in individually
	- Added a key binding for Goto Definition (Alt+G)
	- Added a key binding for Find References (Shift+Alt+F)
	- Collapsed 'Goto Code Definition' for variables and functions into the same path, so there aren't separate menu items and commands
	- Added new methods CanJumpToDefinition and JumpToDefinition to UEdGraphNode, the default behavior for UK2Node subclasses is to call GetJumpTargetForDoubleClick and call into FKismetEditorUtilities::BringKismetToFocusAttentionOnObject
	- Going to a native function now goes thru a better code path that will actually put the source code editor on the function definition, rather than just opening the file containing the definition

Change 3562291 by Ben.Zeigler

	Fix issue where calling FSoftObjectPtr::Get during a package save would result in that ptr being forever marked broken, because the ResolveObject fails during save. It's too risky to change that behavior, so change it so the TagAtLastTest doesn't get updated in that case

Change 3562292 by Ben.Zeigler

	#jira UE-39042 When renaming or moving actors between levels it now attempts to fix any soft object references from blueprints or sequencer
	When deleting actors that are soft referenced by actor/sequencer it will now warn the same way it does for level script. Added IAssetTools::FindSoftReferencesToObject to perform this search
	Change it so saving a non-primary world does not result it being dirtied due to the temporary physics scene fixup
	Fix issue where the actor name was shown incorrectly in the SSCS tree for actor instances, which meant that if you renamed it you would end up renaming it to the BP's name

Change 3564814 by Ben.Zeigler

	#jira UE-47843 Don't set InputKey output pins to AnyKey if empty, this was causing blueprints with key events to constantly dirty themselves

Change 3566707 by Dan.Oconnor

	Remove unused code, UClassGenerateCDODuplicatesForHotReload was attempting to create a CDO with a special name, which triggered an ensure. The Duplicated CDO was never used (callign code removed in 3289276 as it was a waste of cycles)

	#jira None

Change 3566717 by Michael.Noland

	Core: Remove all defintions that contain "_API" from the command line when compiling .rc files (they do not support repsonse files and a too-long command line will fail the compile)

Change 3566771 by Michael.Noland

	Editor: Fixing deprecation warning

	#jira UE-47922

Change 3567023 by Michael.Noland

	Blueprints: Change various TArray<> uses to TSet<> throughout name validation and related code to enable it to scale better to high component or variable counts
	Adapted from PR #3708: Fast construction of bp (Contributed by gildor2)
	#jira UE-46473

Change 3567304 by Ben.Zeigler

	Add bCheckRecursive option to IsEditorOnlyObject that is enabled by default and will check outer/archetype/class.
	This is needed for places that call this function from outside of SavePackage.cpp when the editor only mark is set, such as the automation test code

Change 3567398 by Ben.Zeigler

	Fix crash when spawning a widget that has no editor WidgetTree, but does have a cooked widget tree template due to tree inheritance

Change 3567729 by Michael.Noland

	Blueprints: Clarified message about "{VariableName} is not blueprint visible" to define what that means "(BlueprintReadOnly or BlueprintReadWrite)"

Change 3567739 by Ben.Zeigler

	Don't crash if PropertyStruct cannot find it's struct. The function half handled this before, but Preload crashes with a null parameter

Change 3567741 by Ben.Zeigler

	Disable optimization for a path test that was crashing in VC2015 in a monolithic build

Change 3568332 by Mieszko.Zielinski

	Prevented UAIPerceptionSystem::GetCurrent causing a BP error when WorldContextObject is null #UE4

	#jira UE-47948

Change 3568676 by Michael.Noland

	Blueprints: Allow editing the tooltip of each enum value in a user defined enum

	#jira UE-20036

	Known issue: Undo/redo is not currently possible on the tooltip as it is directly stored in package metadata

Change 3569128 by Michael.Noland

	Blueprints: Removing the experimental profiler as we won't be returning to it any time soon
	#jira UE-46852

Change 3569207 by Michael.Noland

	Blueprints: Allow drag-dropping component Blueprint assets into the graph to create Add Component nodes and improved the error message when dragging something that cannot be dropped into an actor Blueprint
	#jira UE-8708

Change 3569208 by Michael.Noland

	Blueprints: Allow specifying a description for user defined enums (shown in the content browser)
	#jira UE-20036

Change 3569209 by Michael.Noland

	Editor: Allow adjusting the font size for each individual comment box node in Blueprints and Materials
	#jira UE-16085

Change 3570177 by Michael.Noland

	Blueprints: Fixed discrepancy between the Structure tab name and the menu option for the tab in the user defined structure editor (now both say Structure Editor)

	#jira UE-47962

Change 3570179 by Michael.Noland

	Blueprints: Fixed the tooltip of a user defined structure not updating immediately in the content browser after being edited

Change 3570192 by Michael.Noland

	Blueprints: Added "(selected)" after the label (in the 'debug filter' dropdown in the Blueprint editor) for actors that are selected in the level editor, which should make it easier to choose the specific actor you want to debug
	#jira UE-20709

Change 3571203 by Michael.Noland

	Blueprints: Cleanup and refactoring to prepare for turning commented out nodes into an official feature
	- Made EnabledState and bUserSetEnabledState private on UEdGraphNode and added new getters/setters
	- Introduced IsAutomaticallyPlacedGhostNode() and MakeAutomaticallyPlacedGhostNode() to start decoupling the concept from commented out nodes
	- Updated a couple of places that used a hardcoded UberGraphPages[0] into instead editing the most recently interacted with event graph if possible
	- Updated 'is data only blueprint' logic to allow multiple ubergraph pages, as long as they're all empty of non-disabled nodes

Change 3571224 by Michael.Noland

	Blueprints: Draw banners on development-only and user disabled nodes (excluding 'ghost' nodes like autogenerated event entries in new BPs)
	Adapted from PR #2701: Differentiate development nodes in BP (Contributed by projectgheist)

	#jira UE-29848
	#jira UE-34698

Change 3571279 by Michael.Noland

	Blueprints: Changed UK2Node::GetPassThroughPin so that only the execution wire on nodes with exactly one input and one output exec wire will have a corresponding pass-through pin (when there is ambiguity in which exec would be used, e.g., with a branch or sequence or timeline node, the subsequent nodes are now effectively disabled as well)

Change 3571282 by Michael.Noland

	Blueprints: Fixed the tooltip for dragging a variable onto an inherited category not showing the 'move to category' hint

Change 3571284 by Michael.Noland

	Blueprints: Made wires into/out of a user-disabled node draw verly dimly (other than the passthrough exec if it exists)

Change 3571311 by Ben.Zeigler

	Add ActorIteratorFlags which allows overriding which types of actors/levels are iterated by ActorIterator, to allow iterating levels that are not visible.
	All of the iteration logic is now in the base and the children just set different flags, which fixes it so TActorIterator does the same level collection check as FActorIterator

Change 3571313 by Ben.Zeigler

	Several fixes to automation framework to allow it to work better with Cooked builds.
	Change it so the automation test list is a single  message. There is no guarantee on order of message packets, so several tests were being missed each time.

Change 3571485 by mason.seay

	Test map for Make Set bug

Change 3571501 by Ben.Zeigler

	Accidentally undid the UHT fixup for TAssetPtr during my bulk rename

Change 3571531 by Ben.Zeigler

	Fix warning messages

Change 3571591 by Michael.Noland

	Blueprints: Made drag-dropping assets into a graph to create a component transactional (allowing the action to be undone)
	#jira UE-48024

Change 3572938 by Michael.Noland

	Blueprints: Fixed a typo in a set function comment

	#jira UE-48036

Change 3572941 by Michael.Noland

	Blueprints: Made the compact node title for cross and dot product the words cross and dot rather than hard to see . and x symbols
	#jira UE-38624

Change 3574816 by mason.seay

	Renamed asset to better reflect name of object reference

Change 3574985 by mason.seay

	Updated comments and string outputs to list Soft Object Reference

Change 3575740 by Ben.Zeigler

	#jira UE-48061 Change it so Editor builds work like cooked builds and always try to reuse existing packages when loading them instead of recreating them in place. Recreating in place does not work well for levels and blueprints, and blueprints already had a hack that was causing this behavior to not activate

Change 3575795 by Ben.Zeigler

	#jira UE-48118 Call into the AssetManager as part of the DistillPackages commandlet. This makes sure that ShooterGame and EngineTest end up with the correct content in launcher builds

Change 3576374 by mason.seay

	Forgot to submit the deleting of a redirector

Change 3576966 by Ben.Zeigler

	#jira UE-48153 Fix issue where actors in streaming levels weren't properly replicating in PIE. It now does the remap path on both send and receive for the manual PC level streaming commands

Change 3577002 by Marc.Audy

	Prevent wildcard pins from being connected to exec pins
	#jira UE-48148

Change 3577232 by Phillip.Kavan

	#jira UE-48034 - Fix EDL assert on load caused by a native reference to a nativized BP class that also references a nativized UDS asset.

	Change summary:
	- Modified FNativeClassHeaderGenerator::ExportGeneratedStructBodyMacros() to emit the 'ReplaceConverted' package name for the FCompiledInDeferStruct global associated with the nativized UDS asset in the UHT codegen. This brings nativized UDS to parity with nativized BP class assets (it was likely just an oversight initially).

Change 3577710 by Dan.Oconnor

	Mirror of 3576977:
	Fix for crash when loading cooked uassets that reference functions that are not present
	#jira UE-47644

Change 3577723 by Dan.Oconnor

	Prevent deferring of classes that are needed to load subobjects

	#jira UE-47726

Change 3577741 by Dan.Oconnor

	Back out changelist 3577723 - causes crash when starting QAGame in Dev-Framework - not in Release-4.17

Change 3578938 by Ben.Zeigler

	#jira UE-27124 Fix issue where renaming a map with legacy map build data would end up with a half-loaded redirector package, becuase the old map build data was still in use. It's possible the call to HandleLegacyMapBuildData should just be in World PostLoad instead of piecemeal in several other places but I am unsure.
	Fix it so the redirector cleanup code on map change will not be stopped by non-standalone top level objects, which could be left behind by issues in other systems

Change 3578947 by Marc.Audy

	(4.17) Properly expose members of DialogueContext to blueprints
	#jira UE-48175

Change 3578952 by Ben.Zeigler

	Fix ensure where ParentHandles on a StreamableHandle could be modified while iterating

Change 3579315 by mason.seay

	Test map for Make Container nodes

Change 3579600 by Ben.Zeigler

	Disable window test on non-desktop platforms as they cannot be resized post launch

Change 3579601 by Ben.Zeigler

	#jira UE-48236 Disable optimizations on PS4 for certain math tests pending fixing of platform issue

Change 3579713 by Dan.Oconnor

	Prevent crashes when bluepints implement an interface that was deleted
	#jira UE-48223

Change 3579719 by Dan.Oconnor

	Fix two compilation manager issues: Make sure CDOs are not renamed under a UClass, because they will be considered as possible subobjects, which has bad side effects and make sure that we update references even on empty functions, so that empty UFunctions are not left with references to REINST data

	#jira UE-48240

Change 3579745 by Michael.Noland

	Blueprints: Improve categorization and reordering support in 'My Blueprints'
	- Allow drag-dropping functions, macros, delegates, etc... to reorder them within a category or to change categories (bringing them to parity with variables)
	- Make category ordering on all categories sticky so you can reorder categories (the relative ordering will be the same within different sections like variables and functions)
	- Added hover cues when drag dropping some items that were missing them (e.g., event dispatchers)
	- Added support for renaming categories using F2

	Known issues (none are regressions):
	- Timelines cannot be moved to other categories or reordered
	- Renaming a nested category will result in it becoming a top level category (discarding the parent category chain)
	- Some actions do not support undo

	#jira UE-31557

Change 3579795 by Michael.Noland

	PR #3867: Fix for not releasing Local Notification Delegate. (Contributed by enginevividgames)
	#jira UE-48105

Change 3580463 by Marc.Audy

	(4.17) Don't crash if calling PostEditUndo on an Actor in the transient package
	#jira UE-47523

Change 3581073 by Marc.Audy

	Make UK2Node_SpawnActorFromClass inherit from K2Node_ConstructObjectFromClass and eliminate duplicate code.
	Correctly reconnect split pins when changing class on create widget, construct object, and spawn actor nodes

Change 3581156 by Ben.Zeigler

	#jira UE-48161 Fix issue where split pins would not be restored if a Struct type was changed due to refactoring of parent variables/functions. For structs we want to copy the pins, if they're invalid due to other changes they will be individual orphaned
	Also fix bug where the category of parent pins was being set incorrectly while changing variable type, we only want to override type for wildcard pins

Change 3581473 by Ben.Zeigler

	Properly turn off optimization for PS4 test

Change 3582094 by Marc.Audy

	Fix anim nodes not navigating to their graph on double click
	#jira UE-48333

Change 3582157 by Marc.Audy

	Fix double-clicking on animation asset nodes not opening the asset editors

Change 3582289 by Marc.Audy

	(4.17) Don't crash when adding a streaming level that's already in the level
	#jira UE-48928

Change 3545435 by Ben.Zeigler

	#jira UE-47509 Rename and refactor internals StringAssetReferences and AssetPtrs to become SoftObjectPath/Ptr. This is to prepare them for use for subobjects like actors. Here is the rename table:
	FStringAssetReference -> FSoftObjectPath
	FStringClassReference -> FSoftClassPath
	TAssetPtr -> TSoftObjectPtr
	TAssetSubclassOf -> TSoftClassPtr
	The old headers are deprecated, and FSoftClassPath is now in the same header has FSoftObjectPath.
	This change increments the UE4 version because FSoftObjectPaths are now stored as a name + substring instead of one giant name, which in practice will improve performance and memory while manipulating them. Also the package table of soft referenced packages is now stored as FNames instead of FStrings as these packages names will already be in the name table due to the AssetRegistry
	Remove automatic support for loading Objectpaths starting with engine-ini:, as it was only partially supported and is very outdated. ResolveIniObjectsReference can still be called manually
	Changed TPersistentObjectPtr and TLazyObjectPtr to be structs instead of classes
	Change UnrealHeaderTool to read configuration such as StructsWithNoPrefix out of inis instead of using a hardcoded list. Add support for TypeRedirects, which is used to make the old type names automatically remap to the new ones
	Clean up FRedirectCollector to remove some of the functionality that is no longer used by the cooker, and disable tracking of redirects in standalone -game builds

Change 3567760 by Ben.Zeigler

	Fix it so EngineTest can be cooked by moving some utility functions to EditorTestsUtilityLibrary and adding an EditorFunctionalTest. The core EngineTest module is safely runtime-only now and can run it's tests locally in windows cooked
	Merge FuncTestManager into FunctionalTestModule to avoid confusion with FunctionalTestingManager UObject
	Add EngineTestAssetManager and override the cook function to cook all maps with runtime functional tests
	Change actor merging tests to be editor only, this stops them from cooking
	Several individual tests crash on cooked builds, I started threads with the owners of those

Change 3575737 by Ben.Zeigler

	#jira UE-48042 Change it so playing via PIE Standalone, multiprocess networked PIE and external cook launch on does not save temporary levels to UEDPC and instead prompts the user to save. This is how launch on works by default already, and this fixes cross level references/sequencer. The UEDPC code has been removed entirely.
	As part of this change, connecting a -game client to a PIE server and vice versa is much more likely to work. You may still have game-side problems, look at UEditorEngine::NetworkRemapPath for an example of how to do the PIE prefix conversion
	Remove advanced CreateTemporaryCopiesOfLevels option from sequencer capture, it has not been tested in multiple years and does not work with newer sequencer features
	#jira UE-27124 Fix several possible crashes with changing levels while in PIE

Change 3578806 by Marc.Audy

	Fix Construct Object not working correctly with split pins.
	Add Construct Object test cases to functional tests.
	Added split pin expose on spawn test cases.
	#jira UE-33924

[CL 3582334 by Marc Audy in Main branch]
2017-08-11 12:43:42 -04:00
Mike Beach
45d00a2d8a Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3235800)
#lockdown Nick.Penwarden
#rb none

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

Change 3194900 on 2016/11/11 by Ryan.Rauschkolb

	Fixed issue where Reroute node pins weren't mirroring data properly.
	#jira UE-33717

Change 3195081 on 2016/11/11 by Dan.Oconnor

	This @todo was addressed

Change 3196368 on 2016/11/14 by Maciej.Mroz

	Results of FBlueprintNativeCodeGenModule::IsTargetedForReplacement are cashed - optimization (cooking time).

Change 3196369 on 2016/11/14 by Maciej.Mroz

	CompileDisplaysBinaryBackend, CompileDisplaysTextBackend and bDisplaysLayout features (in [Kismet] in Engine.ini) are disabled in commandlets. They slow down BP compilation.

Change 3196398 on 2016/11/14 by Ben.Cosh

	Reworked the tracking of latent and expansion event tracking in the blueprint compiler for use with the blueprint profiler.
	#Jira - UE-37364 - Crash: PIE with instrumented PlayerPawn_Generic added to AITestbed scene
	#Proj BlueprintProfiler, KismetCompiler. BlueprintGraph, Engine

Change 3196410 on 2016/11/14 by Maciej.Mroz

	Fixed crash in UK2Node_Knot::PropagatePinTypeFromInput

Change 3196852 on 2016/11/14 by Maciej.Mroz

	Fixed static analysis warning.

Change 3196874 on 2016/11/14 by Maciej.Mroz

	#jira UE-37778
	(the issue was already fixed, but it was reintroduced, when EDL support was added).

	ObjectImport->XObject is not filled prematurelly, so CreateExport is properly called each dynamic class.

Change 3197469 on 2016/11/14 by Dan.Oconnor

	Fix for being able to make Sets and Maps of user defined structs that contained unhashable types (e.g. Rotator)

Change 3197703 on 2016/11/14 by Dan.Oconnor

	Updated documentation comment to reflect current behavior

Change 3198167 on 2016/11/15 by Maciej.Mroz

	Merged 3196582 from Dev-Core

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

Change 3198433 on 2016/11/15 by Ryan.Rauschkolb

	Fixed Copy/pasting variable nodes hides them from a reference search
	#UE-31606

Change 3198811 on 2016/11/15 by Maciej.Mroz

	Fixed Knot node - it will use/propagate the type from input connection, if it's possible (intstead of the type from output connection).

Change 3198866 on 2016/11/15 by Maciej.Mroz

	#jira UE-38578

	Fixed infinite loading of DynamicClass in EDL.

Change 3199045 on 2016/11/15 by Phillip.Kavan

	[UE-27402] Fix attached Actor-based Blueprint instance root component relative transform values after reconstruction.

	change summary:
	- modified FActorComponentInstanceData's ctor to exclude relative transform properties when caching root component values.

	#jira UE-27402

Change 3200703 on 2016/11/16 by Mike.Beach

	Marking the ease node explicitly as pure, which makes it so we can prune it from graphs when it is unused.

	#jira UE-38453

Change 3201115 on 2016/11/16 by Maciej.Mroz

	Nativization + EDL: "Dynamic" objects are processed by FAsyncPackage::PostLoadDeferredObjects, so the EInternalObjectFlags::AsyncLoading flag is properly cleared.

Change 3201749 on 2016/11/17 by Maciej.Mroz

	In EDL a package containig a dynamic class has PKG_CompiledIn flag (the same like without EDL).

Change 3202577 on 2016/11/17 by Mike.Beach

	Accounting for a change in our intermediate node mapping - the old list no longer maps expanded nodes to macro instances (instead it maps to the corresponding node in the macro graph), so we had to use a new mapping meant for this.

	#jira UE-35609

Change 3204803 on 2016/11/18 by Phillip.Kavan

	[UE-38607] Implicitly turn on Blueprint class nativization for dependencies.

	change summary:
	- added a UBlueprint::PostEditChangeProperty() override method to handle this.

	#jira UE-38607

Change 3204812 on 2016/11/18 by Phillip.Kavan

	[UE-38580] Implicitly turn on the "nativize" project setting when enabling nativize for any Blueprint class.

	change summary:
	- modified UBlueprint::PostEditChangeProperty() to update project packaging settings if necessary

	#jira UE-38580

Change 3204818 on 2016/11/18 by Phillip.Kavan

	[UE-38725] Interface class dependencies that are not enabled for nativization will now raise an error during nativized cooks.

	change summary:
	- modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to check interface class dependencies in addition to parent class dependencies.

	#jira UE-38725

Change 3204963 on 2016/11/18 by Dan.Oconnor

	Create a transaction when using UBlueprintFunctionNodeSpawner* directly
	#jira UE-36439

Change 3206510 on 2016/11/21 by Mike.Beach

	Adding math-expression aliases for dot and cross functions ("dot" and "cross" respectively).

	#jira UEBP-71

Change 3206547 on 2016/11/21 by Mike.Beach

	Exposing GetReflectionVector() to Blueprints.

	#jira UEBP-70

Change 3206658 on 2016/11/21 by Dan.Oconnor

	Fix for compile error, digging out authorative class from trash class.

	Mirror of 3206638 from Odin

	#jira None

Change 3207579 on 2016/11/22 by Mike.Beach

	No longer enforcing the requirement that game UFunctions have to have a category (making writing of game code easier).

	#jira UE-18093

Change 3207956 on 2016/11/22 by Phillip.Kavan

	[UE-38690] Fix a regression in which nested scene component subobjects would no longer be registered after construction of an instance-added component in IWCE.

	change summary:
	- modified the IWCE path in SSCSEditor::AddNewComponent() to ensure that any components added as a result of instancing the newly-added component are also registered.
	- modified AActor::ExecuteConstruction() to ensure that non-scene, native nested component subobjects that might be created as a result of SCS execution are also registered (previously it was only considering non-scene components that were explicitly created by the SCS, or that inherited the creation method of the instance that created it).

	#jira UE-38690

Change 3208217 on 2016/11/22 by Mike.Beach

	Modified fix (originally from Ryan.Rauschkolb, CL 3186023):

	Fixed unable to set struct variable name if name includes space

	#jira UE-28435

Change 3208347 on 2016/11/22 by Mike.Beach

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

Change 3208688 on 2016/11/23 by Ben.Cosh

	Made a minor change that forces debugging references to the PIE world when the play in editor world is changed. This is intended to better handle mutliple game instance/world debugging scenarios.
	#Jira UE-26386 - Can't hit breakpoints in blueprints for level script for server instances
	#Proj Engine, UnrealEd

Change 3208712 on 2016/11/23 by Ben.Cosh

	Improved handling of unwired transform struct terminal expression's in the blueprint VM compiler to remove an errant warning.
	#Jira UE-32401 - "ImportText: Missing opening parenthesis" message, when a function returns Transform
	#Proj KismetCompiler

Change 3209457 on 2016/11/23 by Phillip.Kavan

	[UE-30479] Fix inability to edit the ISMC instance array on Actor instances when the ISMC is inherited from a Blueprint class.

	change summary:
	- added PPF_ForceTaggedSerialization as a means to override the CPF_SkipSerialization flag when explicit serialization of the property value is needed
	- modified UProperty::ShouldSerializeValue() to check for and handle the PPF_ForceTaggedSerialization flag when the CPF_SkipSerialization flag is present
	- modified UActorComponent::DetermineUCSModifiedProperties() to add the PPF_ForceTaggedSerialization flag to the custom FArchive impl
	- modified FActorComponentInstanceData::FActorComponentInstanceData() to add the PPF_ForceTaggedSerialization flag to the custom FObjectWriter impl
	- modified FActorComponentInstanceData::ApplyToComponent() to add the PPF_ForceTaggedSerialization flag to the custom FObjectReader impl

	#jira UE-30479

Change 3209758 on 2016/11/24 by Maciej.Mroz

	#jira UE-38979

	Nativization: fixed error when a BP implements a native interface.
	FBlueprintNativeCodeGenModule::IsTargetedForReplacement will return "DontReplace" for native class.

Change 3210376 on 2016/11/25 by Maciej.Mroz

	#jira UE-39028
	Fixed  FBlueprintNativeCodeGenModule::FindReplacedNameAndOuter
	Components in nativized BPCG SCS have replaced outer object and name while cooking.

Change 3210936 on 2016/11/28 by Phillip.Kavan

	Minor revision to try and avoid a potentially expensive Contains() call when possible.

Change 3211527 on 2016/11/28 by Maciej.Mroz

	Fixed map of names cooked in packages in nativized build.

Change 3211969 on 2016/11/28 by Mike.Beach

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

Change 3212328 on 2016/11/28 by Dan.Oconnor

	Enum, pointer and arithmetic specializations for THasGetTypeHash, as VC doesn't detect them properly.
	TIsEnum moved to its own header. Submitted on behalf of steve.robb

Change 3212398 on 2016/11/28 by Dan.Oconnor

	Build fix, this function is part of another change

Change 3212442 on 2016/11/28 by Dan.Oconnor

	UHT now supports structs in TMap and TSet, misc. fixes to PropertyStruct's PropertyFlags detecting whether the struct type is hashable (all HasGetTypeHash flags are now computed from THasGetTypeHash). Various fixes for generating TMap/TSet code from blueprints

Change 3212578 on 2016/11/28 by Dan.Oconnor

	Rename RegisterClass to avoid collsion with RegistClass macro in generated code

Change 3213668 on 2016/11/29 by Dan.Oconnor

	Fix for missing CDO when instatiating some subobjects in nativized BPs
	#jira UE-34980

Change 3213737 on 2016/11/29 by Dan.Oconnor

	Added GetTypeHash implementation to UEnumProperty
	#jira UE-39091

Change 3215225 on 2016/11/30 by Maciej.Mroz

	Bunch of changes required for nativized Orion to work with EDL.
	- ClientOnly, ServerOnly and EditorOnly assets are properly distinguished and handled
	- Introduced FCompilerNativizationOptions
	- fixed inproper references to BP instead of BPGC
	- fixed generated delegate name
	- hack for DefaultRootNode UE-39168
	- improved NativeCodeGenrationTool
	- various minor improvements

Change 3216363 on 2016/11/30 by Dan.Oconnor

	Better fix for discrepency between UUserDefinedEnum::GetEnumText and UEnum::GetEnumText. Without meta data we could not look up display names, so I'm writing out the display names into a function in the BP cpp backend. This function could be generated by UHT if we wanted to correct this odd behavior for native enums
	#jira UE-27735

Change 3217168 on 2016/12/01 by Maciej.Mroz

	#jira UE-35390
	Nativization:
	Fixed compilation warning C4458: declaration of 'CurrentState' hides class member
	Disabled warning C4996 (deprecated) in nativized code.

Change 3217320 on 2016/12/01 by Phillip.Kavan

	[UE-38652] Selecting Blueprint assets for nativization is now integrated into the project's configuration.

	change summary:
	- added EProjectPackagingBlueprintNativizationMethod
	- deprecated the 'bNativizeBlueprintAssets' and 'bNativizeOnlySelectedBlueprints' flags in favor of a new 'BlueprintNativizationMethod' config property in UProjectPackagingSettings
	- added a new 'NativizeBlueprintAssets' config property to UProjectPackagingSettings to track/store the list of Blueprints to be nativized when the exclusive method (whitelist) is selected
	- added a PostInitProperties() override to UProjectPackagingSettings; implemented to migrate from the deprecated config properties to the new method enum type
	- updated FMainFrameActionCallbacks::PackageProject() to migrate to checking the enum type
	- updated FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to migrate to checking the enum type
	- modified UProjectPackagingSettings::CanEditChange() to enable editing of the nativization whitelist only when the "exclusive" method is active
	- modified UProjectPackagingSettings::PostEditChangeProperty() to add a new case for handling changes to the whitelist; changes are propagated to any Blueprint assets that are loaded
	- added new Add/RemoveBlueprintAssetFromNativizationList() APIs to UProjectPackagingSettings for assisting with adding/removing Blueprint assets to/from the exclusive list (whitelist)
	- deprecated the 'bNativize' flag in UBlueprint in favor of a new transient 'bSelectedForNativization' flag that is no longer serialized; this now caches whether or not the asset is present in the whitelist in the project config
	- modified UBlueprint::Serialize() to both migrate from the deprecated flag to the project config/transient flag on load, as well as to propagate the value of the transient flag back to the project config on save. this means that if the user changes the value of the transient flag through the Details view, that change won't be reflected back to the project config until the Blueprint is actually saved (saving the value to the config rather than serializing to the asset)
	- modified UBlueprint::PostEditChangeProperty() to remove code that was previously updating the project configuration at edit time. this functionality has been relocated to Serialize() (save time) instead.

	notes:
	- also completes UE-38636 (task: consolidate config options into a single drop-down)

	#jira UE-38652

Change 3218124 on 2016/12/01 by Dan.Oconnor

	 CPF_HasGetValueTypeHash flag was not set on native UEnumProperties
	#jira UE-39181

Change 3218168 on 2016/12/01 by Phillip.Kavan

	Fix local var name that shadows a function param (CIS fix).

Change 3219117 on 2016/12/02 by Maciej.Mroz

	#jira UE-39241 "warning C4458: declaration of XXX hides class member" In Nativized Code

	Nativization:
	Fixed compilation warning C4458: when local function variable hides a class variable. Names of local variables in funvtions have prefix "bpfv__".

Change 3219201 on 2016/12/02 by Mike.Beach

	Keeping the "Select All Input Nodes" option from infinitely recurssing by blocking on nodes it has already selected.

	#jira UE-38988

Change 3219247 on 2016/12/02 by Mike.Beach

	Fixing CIS shadow variable warning from my last check in (CL 3219201).

Change 3219332 on 2016/12/02 by Maciej.Mroz

	#jira HeaderParser: "private:" specifier is lost in FGameplayTag::TagName
	Workaround for UE-38231

Change 3219381 on 2016/12/02 by Mike.Beach

	Accounting for cyclic compile issues in cast-node's validate function, making it check the authoratative class instead of the current type. Also down grading some of the warnings to notes (suggesting the users don't need the cast).

	#jira UE-39272

Change 3220224 on 2016/12/02 by Dan.Oconnor

	Reduce font size for compact nodes

Change 3220476 on 2016/12/03 by Maciej.Mroz

	#jira UE-35390
	Better fix for UE-35390
	Disabled deprecation warnings in nativized code.

Change 3221637 on 2016/12/05 by Maciej.Mroz

	#jira UEBP-245

	Nativization:
	Forced ImportCreation while InitialLoad for DynamicClasses.

Change 3222306 on 2016/12/05 by Dan.Oconnor

	Support for default values of TMap and TSet local variables
	#jira UE-39239

Change 3222383 on 2016/12/05 by Dan.Oconnor

	Fixed bug in Blueprint TMap function for getting values out of a TMap

Change 3222427 on 2016/12/05 by Mike.Beach

	Preventing ChildActorTemplate fixups from occuring on component load, when they may instead be a placeholder object (a byproduct of deferred Blueprint loading - a guard against cyclic load problems).

	#jira UE-39323

Change 3222679 on 2016/12/05 by Dan.Oconnor

	Remove unused code. Had no sideeffects, other than potential for leak when struct with non-trivial dtor was allocated here.

Change 3222719 on 2016/12/05 by Dan.Oconnor

	Earlier detection of invalid native map/set properties. These generate a compile error if any TMap/TSet functions are used, but will slip by undetected if not used. Working on static assert to catch them.
	#jira UE-39338

Change 3224375 on 2016/12/06 by Dan.Oconnor

	Add tags for testing of array diffing

Change 3224507 on 2016/12/07 by Phillip.Kavan

	[UE-39055] Fix a crash caused by an object name collision that could occur when loading some older Blueprint assets.

	change summary:
	- added UInheritableComponentHandler::FixComponentTemplateName()
	- modified UInheritableComponentHandler::PostLoad() to check for and correct stale records that cause a collision with the corrected name
	- added a UInheritableComponentHandler::Serialize() override to ensure that UsingCustomVersion() is called for the asset containing the ICH (already happening in UBlueprint::Serialize(), but added for consistency with other usage)
	- modified USimpleConstructionScript::Serialize() to ensure that UsingCustomVersion() is called for the asset containing the SCS (same reason as above)

	#jira UE-39055

Change 3225572 on 2016/12/07 by Samuel.Proctor

	Test assets for TSet/TMap testing. Includes new native class for testing containers. #rb none

Change 3225577 on 2016/12/07 by Samuel.Proctor

	New test map for Array, TSet and Tmap testing.

Change 3226281 on 2016/12/07 by Dan.Oconnor

	Container test asset, needs to be in p4 for diff tool tests.

Change 3226345 on 2016/12/07 by Dan.Oconnor

	Another revision of test data

Change 3228496 on 2016/12/09 by Ben.Cosh

	This change adds extra information to component template arrays so that the component class can be determined in builds that strip out objects of certain class types such as the editor dedicated server build.
	#Jira UE-38842 - "LogBlueprint:Error: [Compiler BP_Skybox_World_RandomTrees_01] Error Can't connect pins ReturnValue and Target" after entering a lobby in a synced server
	#Proj KismetCompiler, BlueprintGraph, UnrealEd, Core, Engine, Kismet, BlueprintCompilerCppBackend

Change 3230120 on 2016/12/09 by Dan.Oconnor

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

Change 3230700 on 2016/12/12 by Samuel.Proctor

	Removing some array test properties from container test class that were not needed. Also updated struct element to better reflect testing purpose. #rb none

Change 3230926 on 2016/12/12 by Samuel.Proctor

	Missed a file on previous container test native QA asset checkin. #rb none

Change 3231246 on 2016/12/12 by Dan.Oconnor

	PR #3003: New Feature: In-editor diff of arrays and structs now highlights diff. (Contributed by CA-ADuran).

	I've added TSet and TMap support as well.

Change 3231311 on 2016/12/12 by Dan.Oconnor

	Handle class load failure
	#jira UE-39480

Change 3231387 on 2016/12/12 by Dan.Oconnor

	Shadow variable fixes

Change 3231501 on 2016/12/12 by Dan.Oconnor

	More shadow fixes

Change 3231584 on 2016/12/12 by Maciej.Mroz

	#jira UE-39636

	Replaced obsolate macro usage.

	#fyi Dan.Oconnor

Change 3231685 on 2016/12/12 by Mike.Beach

	PR #3032: Fixed category for IsValidIndex (Contributed by elFarto)

	#jira UE-39660

Change 3231689 on 2016/12/12 by Maciej.Mroz

	Nativization: Fixed Dependency list generation.

Change 3231765 on 2016/12/12 by Phillip.Kavan

	[UE-38903] Auto-enable exclusive Blueprint nativization only after explicitly selecting the first asset.

	change summary:
	- fixed up the auto-enable logic on save in UBlueprint::Serialize()

	#jira UE-38903
	#fyi Maciej.Mroz

Change 3231837 on 2016/12/12 by Dan.Oconnor

	Restore hack to keep objects referenced by bytecode alive while in editor
	#jira UE-38486

Change 3232085 on 2016/12/13 by Phillip.Kavan

	Compile fix.

Change 3232435 on 2016/12/13 by Ben.Cosh

	Fix for a bug introduced in CL 3228496 that caused component templates to fail to be identified by name and resulted in blueprint compilation issues for add component nodes.
	#Jira UE-39623 - Unknown template referenced by Add Component Node
	#Proj BlueprintGraph, Engine

Change 3232437 on 2016/12/13 by Maciej.Mroz

	#jira UE-33021

	Remove an obsolete warning.

Change 3232564 on 2016/12/13 by Ben.Cosh

	This adds extra component template renaming propagation and checking for the blueprint generated class and blueprint skeleton class.
	#Jira UE-39623 - Unknown template referenced by Add Component Node
	#Proj BlueprintGraph

	- Implementing a bit of review feedback and some safety checking.

Change 3232598 on 2016/12/13 by Maciej.Mroz

	Nativization:
	stati functions cannot be const, so no workaound (_Inner function) specyfic to const functions is necessary

	#jira UE-39518

Change 3232601 on 2016/12/13 by Phillip.Kavan

	[UE-38975] Warn on BuildCookRun or a standalone cook when the -nativizeAssets flag is omitted from the command line for a nativization-enabled project.

	change summary:
	- added 'bWarnIfPackagedWithoutNativizationFlag' to UProjectPackagingSettings (default = true)
	- modified UCookOnTheFlyServer::StartCookByTheBook() to check for the presence of the -nativizeAssets flag and emit a warning for unexpected omission from the command line
	- modified UAT to include a warning for the BuildCookRun command when -build is specified with the same unexpected omission of the -nativizeAssets flag on the UAT command line

	#jira UE-38975

Change 3232749 on 2016/12/13 by Mike.Beach

	Moving Blueprint nativization out of the experimental category.

	#jira UE-39358

Change 3233043 on 2016/12/13 by Dan.Oconnor

	Various fixes for TSet/TMap nativization issues
	#jira UE-39634

Change 3233086 on 2016/12/13 by Dan.Oconnor

	Advanced Containers (TSet/TMap) no longer experimental

Change 3233175 on 2016/12/13 by Mike.Beach

	Whitelising "Packaging" as an acceptable BP settings category (follow up to CL 3232749).

	#jira UE-39358

Change 3233182 on 2016/12/13 by Mike.Beach

	Exposing the editor setting "Show Action Menu Item Signatures" through the Blueprint Developer menu (for ease of access).

Change 3233662 on 2016/12/13 by Phillip.Kavan

	[UE-39722] Fix a typo that led to a UAT runtime failure.

	#jira UE-39722

Change 3233710 on 2016/12/13 by Dan.Oconnor

	Clang template useage fix
	#jira UE-39742

Change 3233895 on 2016/12/13 by Dan.Oconnor

	Several fixes to crashes that occur when you delete a blueprint asset when its children are not loaded.
	#jira UE-39558

Change 3234443 on 2016/12/14 by Phillip.Kavan

	[UE-39354] Fix script VM crash on assignment to TSet/TMap variables.

	change summary:
	- modified FScriptBuilderBase::EmitDestinationExpression() to consider TSet/TMap value types in addition to TArray terms

	#jira UE-39354

Change 3234581 on 2016/12/14 by Mike.Beach

	Backing out fix for UE-38842 (CL 3228496/3232435/3232564) - mapping UBlueprintGeneratedClass's ComponentTemplates array to a new format was causing issues with deferred dependency loading during serialization (trying to extract type information from a placeholder object). We're opting for a smaller/simpler solution to UE-38842, which will be to store the component information on the node itself (not with the templates).

	#jira UE-39707

Change 3234729 on 2016/12/14 by Mike.Beach

	Making it so AddComponent nodes now track the component (class) type that they represent (in case the template cannot be spawned, like in -server w/ client-only components).

	#jira UE-38842

Change 3234805 on 2016/12/14 by Mike.Beach

	Fixing CIS shadowed variable warning.

Change 3234830 on 2016/12/14 by Nick.Atamas

	Added extra debugging mechanisms to help track down duplicate item issues with TableViews.

Change 3235075 on 2016/12/14 by Mike.Beach

	Creating a helper to better manage nested scope blocks added in generated code - on close, clears out cached local accessor variables that were added, so we don't use one that was declared inside the nested scope.

	#jira UE-39769

Change 3235213 on 2016/12/14 by Phillip.Kavan

	[UE-39790] Fix UAT compile issue after latest merge from Main.

	change summary:
	- migrated the BuildCookRun command's usage of the (deprecated) ConfigCacheIni to the new ConfigHierarchy API

	#jira UE-39790

Change 3235384 on 2016/12/14 by Mike.Beach

	Defaulting to excluding data-only Blueprints from nativization.

Change 3235675 on 2016/12/14 by Nick.Atamas

	Hopefully fixed build.
	Added OnEnteredBadState delegate that lets users add arbitrary logging info when the List/Tree enters a bad state.

Change 3235761 on 2016/12/14 by Mike.Beach

	Hopefully resolving CIS mac/ps4 build failures in Dev-BP for 4.15 integration.

	#jira UE-39800

Change 3235800 on 2016/12/14 by Mike.Beach

	More hopeful CIS mac/ps4 fixes for 4.15 integration.

	#jira UE-39800

[CL 3236017 by Mike Beach in Main branch]
2016-12-14 22:10:20 -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
Dan Oconnor
3116173d74 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222)
#lockdown Nick.Penwarden
#rb None

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

Change 3170086 on 2016/10/20 by Dan.Oconnor

	PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist)

	#jira UE-35454, UE-35499

Change 3175577 on 2016/10/26 by Dan.Oconnor

	Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes

Change 3178243 on 2016/10/28 by Ryan.Rauschkolb

	BP Profiler: Fixed crash when profiling InputKeyEvents
	#jira UE-37392

Change 3178702 on 2016/10/28 by Dan.Oconnor

	Implement  UStructProperty::GetValueTypeHashInternal
	#jira UE-2114

Change 3178812 on 2016/10/28 by Dan.Oconnor

	Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members

Change 3179999 on 2016/10/31 by Ryan.Rauschkolb

	BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin

Change 3180700 on 2016/10/31 by Dan.Oconnor

	Typo fix, referred to as Key, when property in question is a value type for a map

Change 3181014 on 2016/11/01 by Mike.Beach

	Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there).

	#jira UE-37679

Change 3182378 on 2016/11/01 by Dan.Oconnor

	Correctly handle non-native structs, which are currently always hashable

Change 3182440 on 2016/11/01 by Dan.Oconnor

	SA fix - introduced by 3178812

Change 3183764 on 2016/11/02 by Ryan.Rauschkolb

	Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over.
	#jira UE-23381

Change 3184306 on 2016/11/02 by Dan.Oconnor

	Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node)

Change 3184310 on 2016/11/02 by Dan.Oconnor

	Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary.

Change 3185317 on 2016/11/03 by Ryan.Rauschkolb

	Fixed crash when collapsing nodes

Change 3185482 on 2016/11/03 by Dan.Oconnor

	Remove superfluous branch

Change 3185493 on 2016/11/03 by Mike.Beach

	Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in).

Change 3185501 on 2016/11/03 by Mike.Beach

	Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15).

	#jira UE-37967

Change 3186924 on 2016/11/04 by Maciej.Mroz

	BP nativization works with EDL. Part 1. Work n progress.

Change 3188920 on 2016/11/07 by Phillip.Kavan

	[UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor.

	change summary:
	- modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags.

	#jira UE-30735

Change 3190417 on 2016/11/08 by Dan.Oconnor

	Unified compact node style, added icons for Set and Map library functions.
	#jira UE-2114

Change 3190429 on 2016/11/08 by Dan.Oconnor

	Shadowvariable fixes

Change 3190465 on 2016/11/08 by Dan.Oconnor

	Test asset updates

Change 3190984 on 2016/11/08 by Mike.Beach

	CIS fix for static analysis.

Change 3191035 on 2016/11/08 by Dan.Oconnor

	Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this
	#jira UE-2114

Change 3191059 on 2016/11/08 by Dan.Oconnor

	UE-27728 test assets

Change 3191671 on 2016/11/09 by Maciej.Mroz

	EDL + Nativization. Fake export for CDO. Work in progress.

Change 3192327 on 2016/11/09 by Mike.Beach

	Fixing up CIS compiler error.

Change 3192464 on 2016/11/09 by Mike.Beach

	More CIS fixes for static analysis.

Change 3193467 on 2016/11/10 by Mike.Beach

	Adding a Blueprint function to get the process's commandline.

Change 3193822 on 2016/11/10 by Ben.Marsh

	Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more.

Change 3194088 on 2016/11/10 by Dan.Oconnor

	Disabling SA warning at this scope in order to hopefully improve messaging

Change 3194222 on 2016/11/10 by Dan.Oconnor

	Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty

[CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
Mike Beach
f64d552970 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3152873)
#lockdown Nick.Penwarden
#rb none

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

Change 3131279 on 2016/09/19 by Mike.Beach

	Fixing FText::Format warning for the Sub-Level Blueprints menu - Was using {LevelName} tag when there was no value for {LevelName} (defaulted to the first argument).

	#jira UE-36097

Change 3131318 on 2016/09/19 by Phillip.Kavan

	[UE-35690] Minor revisions to Blueprint SCS execution to improve efficiency and address an out-of-order registration issue.

	change summary:
	- modified AActor::PostSpawnInitialize() to defer native component registration if there is no native scene root component set and if the actor is a BP type (i.e. will invoke SCS). this means that native actor classes with only non-scene components will now defer registration/post-registration until after SCS execution has established a valid scene root.
	- modified AActor::ExecuteConstruction() to gather the set of native scene components that SCS nodes can attach to before invoking the SCS. this was previously being done redundantly within the SCS itself at each level of the BP class inheritance hierarchy.
	- modified AActor::ExecuteConstruction() to do a final registration pass over all components after the all SCS levels have been executed. this was also previously being done within the SCS at each level. this avoids some extra redundancy.
	- modified USCS_Node::ExecuteNodeOnActor() to call RegisterAllComponents() on the given actor instance after establishing a valid scene root component if it was previously deferred at spawn time.
	- modified USCS_Node::ExecuteNodeOnActor() to now register components after they're created. since SCS execution goes from parent to child, parent scene components will always be registered before their children. non-native, non-scene component registration will also be deferred until a scene root component has been established.
	- added AActor::HasDeferredComponentRegistration()
	- modified AActor::RegisterAllComponents() to reset the actor's deferred component registration flag when called
	- modified AActor::AddComponent() to check the 'bAutoRegister' flag before calling RegisterComponent() (for consistency)
	- moved the RegisterInstancedComponent() utility method into USimpleConstructionScript and modified it to ensure that parent attachments are registered before their children.
	- modified USimpleConstructionScript::ExecuteScriptOnActor() to include an additional input parameter for passing in the set of native scene components that can be attached to.
	- modified USimpleConstructionScript::ExecuteScriptOnActor() to remove redundant/unnecessary work as noted above.

	#jira UE-35690

Change 3131842 on 2016/09/20 by Maciej.Mroz

	#jira UE-34984 Broken (weak) object params on Blueprint function (cannot add plain reference)

Change 3131847 on 2016/09/20 by Maciej.Mroz

	SPropertyEditorAsset doesn't display UClass with "_C" prefix anymore.

Change 3131923 on 2016/09/20 by Maciej.Mroz

	#jira UE-33812 Crash while closing Create Blank New Blueprint window after attempting to name blueprint the same name as another blueprint

Change 3132348 on 2016/09/20 by Phillip.Kavan

	Fix CIS build issue (SA).

Change 3132383 on 2016/09/20 by Maciej.Mroz

	#jira UE-35830 Float Curve that is set as a local variable in an actor's function is garbage collected when in Standalone, causing a crash

	Array UStruct::ScriptObjectReferences is filled while compilation. GC doesn't serialize script bytecode in editor anymore.

Change 3133072 on 2016/09/20 by Maciej.Mroz

	#jira UE-34388 Crash upon deleting Blueprints folder

Change 3133216 on 2016/09/20 by Dan.Oconnor

	+ BlueprintSetLibrary (add, remove, find, etc)
	+ HasGetTypeHash compile time function for detecting types that have GetTypeHish (modeled after HasOperatorEquals)
	= SPinTypeSelector can now disable container types based on current primary type, required transition to SComboButtton/SListView from SComboBox
	= Hide blueprint set library via BaseEditor.ini
	#jira UE-2114

Change 3133227 on 2016/09/20 by Dan.Oconnor

	Test assets for TSet

Change 3133804 on 2016/09/21 by Maciej.Mroz

	#jira UE-34069 	ObjectLibrary stores UBlueprint instead of BPGC

	In UObjectLibrary, when bHasBlueprintClasses is true, BP references are automatically replaced by BPGC references.

Change 3133817 on 2016/09/21 by Maciej.Mroz

	Fixed static Static Analysis warning

Change 3134377 on 2016/09/21 by Dan.Oconnor

	ShowWorldContextObject is now inherited
	#jira UE-35674

Change 3134955 on 2016/09/21 by Mike.Beach

	Making it so AdvancedDisplay metadata is taken into consideration and used in MakeStruct nodes.

Change 3134965 on 2016/09/21 by Dan.Oconnor

	Fix for crash in FCDODiffControl when CDOs have different numbers of properties. First branch in the while loop would incorrectly advance Iter past the end of the array. Comments courtesy of Jon.Nabozny
	#jira UE-36263

Change 3135523 on 2016/09/22 by Dan.Oconnor

	PR #2755: Master (Contributed by jeremyyeung)
	Notable change: searching for Vector in BP editor context menu now gives different default result, prior result was mediocre, though (vector - vector)

	#jira UE-35450

Change 3136508 on 2016/09/22 by Mike.Beach

	Removing a bIsVisible guard for level Blueprint menu actions - this was causing level BP options to disappear when you hid sub-levels. The guard doesn't seem to matter, as those actions will be removed with the world (when it is updated, or unloaded).

	#jira UE-34019

Change 3137587 on 2016/09/23 by Maciej.Mroz

	#jira ODIN-1017 [Nativization] Crash while loading Hub_env level

	Merged cl#3137578 from Odin branch

Change 3137666 on 2016/09/23 by Ben.Cosh

	This adds the ability to map composite graph instances in the same way we map macro instances for blueprint debug data and improves the quality of the debug data providing correct information for nested macro/composite instances at any script location in instrumented blueprint compilations.
	#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
	#Proj KismetCompiler, BlueprintGraph, UnrealEd

	- This is the first part of a two part change, the subsequent change will make use of the debug output to resolve complex trees of tunnel instances in the blueprint profiler.

Change 3137800 on 2016/09/23 by Phillip.Kavan

	[UE-34896] Properties are now generated for client-only Blueprint components in an uncooked server-only context.

	change summary:
	- bumped BlueprintObjectsVersion
	- added a new 'ComponentClass' property to USCS_Node
	- added a new 'ComponentClass' field to the FComponentOverrideRecord struct (UInheritableComponentHandler)
	- added a USCS_Node::Serialize() override to fix up 'ComponentClass' on load (so that it's set prior to compile-on-load)
	- modified USimpleConstructionScript::CreateNodeImpl() to set the ComponentClass property in a new SCS node
	- modified USimpleConstructionScript::ValidateNodeTemplates() to consider the node to be valid if ComponentClass is set and is known to be filtered (i.e. the node will not be removed in this case)
	- modified USimpleConstructionScript::ValidateNodeTemplates() to emit a warning message in an uncooked client-only or server-only context if the ComponentClass could not be set in an existing package (i.e. if a resave is needed)
	- modified UInheritableComponentHandler::PostLoad() to fix up 'ComponentClass' on load
	- modified UInheritableComponentHandler::CreateOverridenComponentTemplate() to set the ComponentClass field in a new override record
	- modified UInheritableComponentHandler::IsRecordValid() to consider the record to be valid if ComponentClass is set (when ComponentTemplate is NULL)
	- modified UInheritableComponentHandler::IsRecordNecessary() to consider the record to be necessary if ComponentClass is set and is known to be filtered
	- modified FKismetCompilerContext::CreateClassVariablesFromBlueprint() to use 'ComponentClass' rather than 'ComponentTemplate' to infer the property subtype

	#jira UE-34896

Change 3137851 on 2016/09/23 by Phillip.Kavan

	[UE-36079] Component overrides in a child blueprint will no longer trigger a warning message when the original component is removed from its parent.

	change summary:
	- modified UInheritableComponentHandler::IsRecordValid() to no longer consider a NULL OriginalTemplate to be invalid (so that the warning message is suppressed)
	- modified UInheritableComponentHandler::IsRecordNecessary() to consider a NULL OriginalTemplate to be unnecessary (so that the record is still removed in this case)

	#jira UE-36079

Change 3137948 on 2016/09/23 by Ben.Cosh

	CIS warning fix on mac for out of order initialisation.

Change 3139351 on 2016/09/25 by Ben.Cosh

	Updates the blueprint profiler to make use of the recent changes to macro/composite tunnel mapping and enhanced debug data.
	#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
	#Proj BlueprintProfiler, Engine

	- This is the second part of a two part change enabling multiple instances of nested macro/composite graphs in the blueprint profiler.

Change 3139376 on 2016/09/25 by Ben.Cosh

	CIS static analysis fix for CL 3137666

Change 3139377 on 2016/09/25 by Ben.Cosh

	Adding script code location checking for pure nodes that was missed in CL 3139351
	#Jira UE-33396 - Nested macro nodes don't map correctly if you place multiple instances in the same graph
	#Proj BlueprintProfiler

	- Fixes a missed issue with pure nodes inside macros/tunnels

Change 3139624 on 2016/09/26 by Maciej.Mroz

	Fixed const local variables in Nativized code

	Merged cl#3139622 from Odin branch.

Change 3139641 on 2016/09/26 by Maciej.Mroz

	#jira UE-31099 Renaming an input mapping does not generate a warning when compile a blueprint using that input

	Since we cannot distinguish which nodes are isolated by users (and shouldn't be validated) and which nodes are isolated during expansion step (and should be validated), the isolated nodes are pruned both before and after expantion step (and validation).

Change 3139961 on 2016/09/26 by Ben.Cosh

	CIS static analysis fix for CL 3137666

	- missed one of the warnings in a previous attempt.

Change 3140143 on 2016/09/26 by Dan.Oconnor

	Fix for component property clearing on load, submitted on behalf of Mike.Beach
	#jira UE-36395

Change 3140694 on 2016/09/26 by Dan.Oconnor

	Fix for GLEO when duplicating levels that have knots that reference delegates (specifically custom events)
	#jira UE-34954

Change 3140772 on 2016/09/26 by Dan.Oconnor

	Further hardening SGraphPin::GraphPinObj access
	#jira UE-36280

Change 3140812 on 2016/09/26 by Dan.Oconnor

	Corrected overzealous warning. Codepath is expected when functions are deleted but breakpoints aren't updated
	#jira UE-32736

Change 3140869 on 2016/09/26 by Dan.Oconnor

	Update check to handle nested DSOs
	#jira UE-34568

Change 3141125 on 2016/09/27 by Maciej.Mroz

	#jira UE-36326 Attempting to generate abstract class from blueprint crashes editor on compile

	While reinstancing the CLASS_Abstract is cleared (just like the CLASS_Deprecated flag)

Change 3142715 on 2016/09/27 by Dan.Oconnor

	Fix for crash when pasting nodes that have connections to nodes that aren't in the clipboard from one graph into another
	#jira OR-29584

Change 3143469 on 2016/09/28 by Ryan.Rauschkolb

	BP Profiler: Fixed Assert when profiling parent/child Blueprint
	#jira UE-35487

Change 3145215 on 2016/09/29 by Maciej.Mroz

	#jira UE-36494 [CrashReport] UE4Editor_KismetCompiler!FKismetCompilerContext::CreatePinEventNodeForTimelineFunction() [kismetcompiler.cpp:2062]

Change 3145580 on 2016/09/29 by Dan.Oconnor

	Collapse secondary image instead of hiding it, allowing x button to be closer to primary image when secondary type image isn't present
	#jira UE-36577

Change 3146470 on 2016/09/30 by Maciej.Mroz

	#jira UE-36655 Failed ensure when TIleline is pasted

	Restored cl#3085572 - it was lost while merging.

Change 3147046 on 2016/09/30 by Maciej.Mroz

	#jira UE-34961 Assert when calling BP function with weak object parameter.

	BP doesn;t support weak obj ptr as parameters - Validation added. Function, created from colappsed nodes, cannot have a parameter of weakptr type.

Change 3148022 on 2016/10/01 by Phillip.Kavan

	[UE-21109] Fix component instance data loss after renaming SCS component nodes at the Blueprint class level.

	change summary:
	- deprecated the public USCS_Node::VariableName member and replaced it with an internal-only member accessible via Get/Set method (i need to be in control of the set logic)
	- changed all occurrences of direct access to USCS_Node::VariableName to use a GetVariableName() call (since it's now internal)
	- simplified USCS_Node::GetVariableName() as what it used to do was legacy and thus is no longer necessary (it's been handled by USimpleConstructionScript::PostLoad for awhile now)
	- added USCS_Node::SetVariableName(); this now renames the component template (if valid) and all instances of it prior to changing the internal variable name. this ensures that archetype lookups will continue to function after a rename.
	- added USCS_Node::RenameComponentTemplate() to handle SCS node component template rename logic on a variable name change
	- switched the AActor::CheckComponentInstanceName() API to be publically-accessible; need to call this when renaming instanced components to match a new variable name in order to ensure that we rename any instance-only components out of the way first (this is the same logic that we run when constructing component instances on map load/RRCS, so it's consistent)
	- modified UInheritableComponentHandler::PostLoad() to fix up the component template within each record to match the original template object name. this ensures that ICH-specific archetype lookups will continue to function after a rename. it also ensures that any mismatched template names in existing assets will now be fixed up on load.
	- moved UActorComponent::ComponentTemplateSuffixName into the USimpleConstructionScript class (since the association is tied to templates created by that class specifically). note: this revises a change from a recent PR submission.
	- modified UpdateAttachedIsEditorOnly() to check the RF_ArchetypeObject flag rather than the ComponentTemplateSuffixName (part of the revision to the recent PR submission noted above)

	#jira UE-21109

Change 3148023 on 2016/10/01 by Phillip.Kavan

	[UE-35562] Fix inherited Blueprinted component template defaults data loss in child Blueprint classes after recompiling the Blueprinted component class.

	change summary:
	- added a local FArchetypeReinstanceHelper struct + GetArchetypeObjects()/FindUniqueArchetypeObjectName() utility method implementations to KismetReinstanceUtilities.cpp
	- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to ensure that the full inherited component template (archetype) ancestry is renamed along with the base template when we rename the base template object away from its original name in order to make way for the new (reinstanced) template. the names must match the base template along the entire inheritance hierarchy in order for forward/reverse inherited component archetype lookups to succeed.

	notes:
	- BP (non-native) component templates (e.g. SCS/AddComponent nodes) that belong to the class being reinstanced (i.e. whose templates are not inherited from a parent BP) always inherit directly from the component CDO, and thus do not require this code path (that is, archetype lookups are not dependent on matching the CDO by name). similarly, native components (defined in C++) are included as part of the CDO defaults data, and thus also do not require this code path.

	#jira UE-35562

Change 3148030 on 2016/10/01 by Phillip.Kavan

	UT fixes for CIS warnings related to SCS node API changes.

Change 3148256 on 2016/10/02 by Ben.Cosh

	This change adds the ability to filter debug/wire trace instrumenation and tracks expansion nodes for future use.
	#Jira UE-34866 - No profiler timings listed for nodes executed after an interface message
	#Proj KismetCompiler, BlueprintGraph, UnrealEd

Change 3148261 on 2016/10/02 by Ben.Cosh

	CIS fix, some code from another changelist leaked into CL 3148256

Change 3148480 on 2016/10/03 by Ben.Cosh

	This change attempts to address some profiler issues with class function context switching in the blueprint profiler.
	#Jira UE-35819 - Crash occurs when instrumenting an event from a member actor
	#Proj BlueprintProfiler, BlueprintGraph

Change 3148545 on 2016/10/03 by Phillip.Kavan

	Skip unnecessary component validation work to fix invalid warnings when duplicating a BP class for reinstancing.

Change 3149001 on 2016/10/03 by Ben.Cosh

	This fixes an issue found with the instrumented blueprint compilations in which a certain compilation path would not provide the extended composite tunnel node heararchy in debug data and removes an unneceassary check that was causing problems.
	#Jira UE-36704 - Crash on PIE while profiling TestBP_ProfilerEvents in QAGame
	#Proj KismetCompiler, BlueprintProfiler

Change 3149031 on 2016/10/03 by Maciej.Mroz

	#jira UE-36687, UE-36691

	Tunnel nodes without exec pin are not pruned before expansion.

Change 3149150 on 2016/10/03 by Maciej.Mroz

	#jira UE-36685

	UGameplayTagsK2Node_LiteralGameplayTag is pure.

Change 3149290 on 2016/10/03 by Maciej.Mroz

	#jira UE-36750

	GetBlueprintContext node is Pure.

Change 3149595 on 2016/10/03 by Mike.Beach

	Fixing up some Orion content errors/warnings that should have been issues a while ago (error reporting was broken for a time, now fixed).

	#jira UE-36758, UE-36759

Change 3149667 on 2016/10/03 by Mike.Beach

	Fixing up some Ocean content errors as fallout from a change in Dev-Blueprints - the errors properly identified a node that was using a culled input that was uninitialized.

	#jira UE-36770

Change 3149777 on 2016/10/03 by Mike.Beach

	Fixing up  an Orion content warning - disconnecting a cast path in Hero_Automation, now that the node is producing a warning (the cast is impossible, and therefore the path is superfluous).

	#jira UE-36759

Change 3149988 on 2016/10/04 by Maciej.Mroz

	#jira UE-36750, UE-36685

	Fixed IsNodePure functions.

Change 3150146 on 2016/10/04 by Maciej.Mroz

	#jira UE-36759

	First pruning pass in done after ExpandTunnelsAndMacros is called.
	Isolated tunnels are pruned just like regular nodes.

Change 3150743 on 2016/10/04 by Mike.Beach

	Mirroring CL 3150661 from Dev-VREditor

	Fix for crash on editor close after VR Foliage Editing.

	#jira UE-36754

Change 3151104 on 2016/10/04 by Maciej.Mroz

	Added comment.

Change 3151979 on 2016/10/05 by Mike.Beach

	Adding the keyword "custom" to K2Node_CustomEvent, so that it is prioritized when searching the Blueprint menu.

	#jira UE-35512

Change 3152286 on 2016/10/05 by Maciej.Mroz

	Make sure, that an isolated node, that should be pure (but is not) won't be pruned.

[CL 3152997 by Mike Beach in Main branch]
2016-10-05 23:32:35 -04:00
Mike Beach
c4a189cd30 Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3130440)
#lockdown Nick.Penwarden
#rb none

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

Change 3050029 on 2016/07/14 by Ben.Cosh

	This modifies the blueprint instrumented compilation chain so only the the blueprint you compile and all dependencies are instrumented and the profiler is notified rather than waiting for event data.
	#Jira UE-32063 - The blueprint profiler doesn't display any stats in the execution graph if no instance is placed in the current level.
	#Proj BlueprintProfiler, Kismet, UnrelEd

	- This also improves the execution graph UI, notifying the user that no instances are available to display data from.

Change 3101549 on 2016/08/25 by Maciej.Mroz

	BP nativization: fixed FEmitDefaultValueHelper::HandleInstancedSubobject

	https://udn.unrealengine.com/questions/308800/nativized-blueprints-newobject-call-uses-incorrect.html

Change 3101811 on 2016/08/25 by Ryan.Rauschkolb

	BP Profiler: Fixed stack overflow crash when compiling blueprints with nested macros
	#jira UE-34503

Change 3102478 on 2016/08/26 by Maciej.Mroz

	#jira UE-35135 - Odin compiles with errors when using Blueprint nativization

	BP Nativization:
	- improved native cast
	- improved bool handling

Change 3102944 on 2016/08/26 by Phillip.Kavan

	[UE-33017] Don't include transient properties when generating property lists at cook time for optimized runtime Blueprint component instancing. Also ensure that deprecated properties are serialized during load/instancing at runtime.

	change summary:
	- modified FBlueprintComponentInstanceDataLoader to append 'PPF_UseDeprecatedProperties' to the FArchive port flags.
	- modified FBlueprintComponentInstanceDataWriter to append both 'PPF_Duplicate' and 'PPF_UseDeprecatedProperties" to the FArchive port flags (to ensure consistency w/ the instancing side).
	- switched the RecursivePropertyGatherLambda helper to a static class method instead
	- modified the RecursivePropertyGather utility method to exclude transient properties.

	notes:
	- the primary cause of UE-33017 was that UBodySetup can "share" the ShapeBodySetup object across all instances, but the shared object is not owned by the CDO, it's owned by the archetype. this caused the archetype to differ from the CDO, which caused us to emit the transient property at cook time. thsi threw off the serialization offset between read/write FArchive passes at runtime. since transient properties are not serialized as part of the template, there's no need to include them in the generated delta property list, so as a fix, i'm just excluding them altogether.

	#jira UE-33017

Change 3103692 on 2016/08/27 by Mike.Beach

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

Change 3104266 on 2016/08/29 by Ben.Marsh

	Add test script to native assets for QAGame.

Change 3104399 on 2016/08/29 by Ben.Marsh

	Fix missing property warning in build script.

Change 3104419 on 2016/08/29 by Maciej.Mroz

	#jira UE-35135 Odin compiles with errors when using Blueprint nativization

	- Reduced number of DynamicCLass instance dependencies
	- Fixed UDS default values dependencies
	- Improved WeakObjPtr handling
	- Improved const parameters handling

Change 3104474 on 2016/08/29 by Ryan.Rauschkolb

	BP Profiler: Fixed issue where collapsed nodes that share a name with a parent class collapsed node can cause a stack overflow
	#jira UE-35245

Change 3105605 on 2016/08/30 by Maciej.Mroz

	Temp change: CIS Test

Change 3105738 on 2016/08/30 by Maciej.Mroz

	UAT, CIS: testing NoRecompileUAT switch.

Change 3105800 on 2016/08/30 by Maciej.Mroz

	UAT, CIS, Nativization:
	- reverted NoRecompileUAT switch.
	- testing nativization with -nocompileeditor flag and without -compile flag

Change 3106162 on 2016/08/30 by Maciej.Mroz

	UAT, CIS, Nativization:
	-NoSubmit flag added. Otherwise UAT files are singed (when they are used by other process). It causes an error.
	- Ugly hack removed.

Change 3106261 on 2016/08/30 by Phillip.Kavan

	[UE-34705] Gracefully handle tunnel node entry exec pins that aren't internally linked during BP profiler tunnel boundary mapping.

	change summary:
	- added FBlueprintFunctionContext::GetTunnelBoundaryNode() (uncheckedl variant).
	- moved FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() impl into GetTunnelBoundaryNode().
	- re-implemented FBlueprintFunctionContext::GetTunnelBoundaryNodeChecked() to call GetTunnelBoundaryNode() and then assert on the result.
	- changed the FBlueprintTunnelInstanceContext::GetTunnelBoundaryNodeChecked() impl to override GetTunnelBoundaryNode() instead.
	- modified FBlueprintFunctionContext::MapTunnelBoundary() to only process the entry case if the TunnelBoundaryNode result is valid. this way we simply skip tunnel boundary mapping if an entry path was not previously mapped (rather than assert).

	#jira UE-34705

Change 3106478 on 2016/08/30 by Ben.Marsh

	Include *.uasset files on builders running the NativizeAssets job.

Change 3107514 on 2016/08/31 by Ben.Cosh

	This set of changes is the result of a full pass on the blueprint profiler heat interface to try and bring them into a usable state.
	#Jira UE-33465 - Stat heat colors and heat wire traces need a quick pass to ensure they are working as expected.
	#Jira UE-33309 - FlipFlop node breaks hottest path wire heatmap
	#Jira UE-33650 - Blueprint heatwire effects do not work when touching user macros
	#Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time
	#Jira UE-33701 - BP Profiler: Hottest path wire heatmap doesn't appear to be working
	#Jira UE-33083 - BP Profiler - (Exclusive) pure node heatmap missing from some nodes
	#Jira UE-34855 - BP Profiler - Update heatmap coloration when switching between Default/Custom thresholds
	#Jira UE-32218 - BP Profiler: Clear "inclusive" time entries from "avg. time" row.
	#Proj GraphEditor, Kismet, BlueprintProfiler,

Change 3108268 on 2016/08/31 by Ben.Cosh

	Minor change from profiler review sessions to move macro timing to average stats.
	#Jira UE-33706 - BP Profiler - Macro instances not colored or reporting time
	#Proj Kismet

Change 3108991 on 2016/08/31 by Maciej.Mroz

	UAT, CIS, Nativization: Test separate cooking and compiling

Change 3110097 on 2016/09/01 by Ben.Cosh

	Minor update to the blueprint profiler mapping functionality to ignore disabled nodes and a fix for the max timing white glow bug.
	#Jira UE-35377 - Blueprint macros highlighting white in profiler
	#Jira UE-34973 - Remove Ghost Nodes
	#Proj Kismet, BlueprintProfiler

Change 3114553 on 2016/09/06 by Dan.Oconnor

	Support for TMap/TSet in blueprint variable editor panel
	#jira UE-2114

Change 3116367 on 2016/09/07 by Dan.Oconnor

	Fixed Function/Macro inputs/outputs list (had become cramped with my last change) + misc. fixes for new container types, fixes uninitialized members in FTerminalType
	#jira UE-2114, UE-35676

Change 3116663 on 2016/09/07 by Dan.Oconnor

	Fix for array functions showing up with TSet and TMap pins
	#jira UE-2114

Change 3118259 on 2016/09/08 by Ryan.Rauschkolb

	BP Profiler: Fixed Assert when profiling parent/child Blueprint
	#jira UE-35487

Change 3119023 on 2016/09/09 by Maciej.Mroz

	Manually integrated (from Odin branch) recent changes related to BP and nativization:

	3115713 UE-35448
	3117590 UE-35697
	3117742 ODIN-577

Change 3119058 on 2016/09/09 by Maciej.Mroz

	#jira UE-32841 GitHub 2574 : fix typos

	#2574 https://github.com/EpicGames/UnrealEngine/pull/2574
	Renamed function CustomNativeInitilize to InitializeNativeClassData  and made it private.

Change 3119302 on 2016/09/09 by Maciej.Mroz

	#jira UE-35584 Orion - nativized server crashes

	Global variable for WITH_PERFCOUNTERS definition in UEBuildConfiguration.
	Previously the same header could be compiled with the WITH_PERFCOUNTERS flag enadles and disabled  (during a single compilation) .

Change 3119502 on 2016/09/09 by Mike.Beach

	When building a deterministic UUID for latent nodes, we now use expanded nodes' origin (node) to avoid collisions (latent node in macros, etc.)

	#jira UE-35609

Change 3119517 on 2016/09/09 by Ryan.Rauschkolb

	Added blueprint editor settings option to display unique names for blueprint nodes

Change 3119602 on 2016/09/09 by Maciej.Mroz

	#jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction

	Added stats about nativized AnimBP
	Mechanism to exlcude reducible AnimBP
	Editor config option:[BlueprintNativizationSettings] bNativizeAnimBPOnlyWhenNonReducibleFuncitons=false

Change 3119615 on 2016/09/09 by Maciej.Mroz

	Missing change (should be part of cl#3119602)

Change 3119619 on 2016/09/09 by Maciej.Mroz

	#jira UEBP-214 Implement Solution for Nativized AnimBlueprints Size Reduction

	Excluding all AnimBP from Orion nativization.

Change 3120752 on 2016/09/12 by Maciej.Mroz

	#jira UE-35051 [CrashReport] UE4Editor_BlueprintNativeCodeGen!FBlueprintNativeCodeGenModule::GenerateSingleAsset()

	Removed unnecessary ensure

Change 3121354 on 2016/09/12 by Dan.Oconnor

	Fixed variable type width, required for TMap's extra combobox.

Change 3121626 on 2016/09/12 by Phillip.Kavan

	[UE-35456] Fix crash on right-click in components tree view after copying one or more BSP actors to clipboard.

	Note: This applies to the components tree view in both the Blueprint editor and the Level editor's Actor details panel.

	change summary:
	- modified FComponentObjectTextFactory::CanCreateClass() to exclude Actor/Component subtypes that are not Blueprint-compatible (e.g. ABrush).

	#jira UE-35456

Change 3122712 on 2016/09/13 by Maciej.Mroz

	#jira UE-35714 [CrashReport] UE4Editor_BlueprintGraph!UK2Node_CallArrayFunction::GetArrayPins() [k2node_callarrayfunction.cpp:141]

	Replaced "check" with "ensure".

Change 3124398 on 2016/09/14 by Maciej.Mroz

	More strict BP validation in UBlueprintThumbnailRenderer::Draw
	#jira UE-35705

Change 3124405 on 2016/09/14 by Maciej.Mroz

	#jira UE-35110 Packaged project crashes when playing sound from blueprint library with enum input after nativizing blueprints

	Function Libraries are properly added to dependencies list while nativization.

Change 3124667 on 2016/09/14 by Maciej.Mroz

	#jira UE-35262 Incompatible pins give generate warning, when error is necessary.

	Fixed incompatible pins validation.

Change 3125245 on 2016/09/14 by Phillip.Kavan

	[UE-33674] Fix missing stats for the ForEachElementInEnum node type in the Blueprint profiler tree view.

	change summary:
	- modified FScriptEventPlayback::Process() to not allow intermediate node exit pins to pollute the current trace path
	- modified FBlueprintFunctionContext::DetermineGraphNodeCharacteristics() to handle the UK2Node_ForEachElementInEnum type as a special case and account for extra loop iterations in the sample frequency computed at mapping time
	- exported UK2Node_ForEachElementInEnum::InsideLoopPinName and EnumOutputPinName string constants

	#jira UE-33674

Change 3126211 on 2016/09/15 by Maciej.Mroz

	#jira UE-36016 Struct pin can be connected to Object pin without error

Change 3126393 on 2016/09/15 by Maciej.Mroz

	#jira UE-35936
	Replace "check" by "ensure".

Change 3126623 on 2016/09/15 by Maciej.Mroz

	#jira UE-35816 User defined struct array resets to defaults in blueprint after updating the struct

	STRUCT_SerializeFromMismatchedTag is not necessary to serialize structure when guids match. Anyway STRUCT_SerializeFromMismatchedTag sholud precede SerializeFromMismatchedTag().

Change 3127288 on 2016/09/15 by Mike.Beach

	Making the script VM overhead and native time stats threadsafe (to account for threaded anim Blueprints in Orion).

Change 3127375 on 2016/09/15 by Mike.Beach

	Making sure Blueprint classes inherit the super's ClassConfigName properly (inherit the ID instead of the filename).

Change 3127381 on 2016/09/15 by Mike.Beach

	Removing an overzealous ensure that certain users were hitting when a loading array property wasn't fully filled out yet (confirmed that it was populated with the proper objects by the end of the load).

Change 3127476 on 2016/09/15 by Dan.Oconnor

	Build fix
	#jira UE-36073

Change 3128335 on 2016/09/16 by Maciej.Mroz

	#jira UE-36075 Odin: BP_DefaultHand and BigBotCharacter blueprints fail to compile

	Fixed broken BP assets.

Change 3128589 on 2016/09/16 by Mike.Beach

	Fixing a static analysis CIS warning (duplicated condition).

Change 3128630 on 2016/09/16 by Dan.Oconnor

	Re-fix with engine version set

Change 3129338 on 2016/09/16 by Dan.Oconnor

	=FScriptSet/FScriptSetHelper fleshed out (Add, Remove, and Find implemented)
	+SetParam implemented for marking up sets for primitive Set functions (to be checked in once completed as BlueprintSetLibrary)
	#jira UE-2114

[CL 3131171 by Mike Beach in Main branch]
2016-09-19 16:14:06 -04:00
Ben Marsh
2cbba54705 Copying //UE4/Release-Staging-4.12 to //UE4/Main (Source: //UE4/Release-4.12 @ 2992821)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2992821 on 2016/05/27 by Max.Chen

	Subway Sequencer: Add "Assets" and "Character" to the list of additional directories to cook.

	#jira UE-31279
	#lockdown Cristina.Riveron

Change 2992761 on 2016/05/27 by Max.Chen

	Add assets from "Directories to Always Cook".

	#jira UE-31279

	#lockdown Cristina.Riveron

Change 2992371 on 2016/05/26 by Dmitry.Rekman

	Fix GUBP Tools node (UE-31378).

	#jira UE-31378
	#lockdown Josh.Adams

Change 2992279 on 2016/05/26 by Dmitry.Rekman

	One more fix for UAT compilation failure (UE-31312).

	- Make EnvVarsToXML target framework v4.5.

	#lockdown Josh.Adams
	#jira UE-31312

Change 2992060 on 2016/05/26 by Josh.Adams

	- Reset PVRTC compression quality to default, so cooks don't take forever for IOS. We shipped with PVRTC Quality 4 for the App Store version. This is set in the Cooker Settings in the Project Settings window.
	#lockdown cristina.riveron
	#jira UE-31373

Change 2992009 on 2016/05/26 by Dmitry.Rekman

	Fix packaging on Linux (UE-31312).

	- System.Xml was spelled as System.XML.

	#jira UE-31312
	#lockdown Josh.Adams

Change 2991784 on 2016/05/26 by Martin.Wilson

	Fix for RecalcRequiredBones crashing when there is no lod data

	#jira UE-30028
	#lockdown cristina.riveron

Change 2991744 on 2016/05/26 by Dmitry.Rekman

	Fix Linux code project generation (UE-31322).

	- Also fixes UE-31318 (not reopening when creating BP project).
	- Apparently, we cannot reset all signals to default, this makes posix_spawn() fail after fork (child exits with 127).
	- Added logging of child's return code.

	#lockdown Josh.Adams
	#jira UE-31322
	#jira UE-31318

Change 2991448 on 2016/05/26 by Nick.Darnell

	Disabling the logging in the git module that was added from the previous commit.

	#jira UE-30781
	#lockdown cristina.riveron

Change 2991352 on 2016/05/26 by Max.Chen

	Subway Sequencer: Add "Sequencer" to the list of additional directories to cook.

	#jira UE-31279
	#lockdown Cristina.Riveron

Change 2991121 on 2016/05/26 by Ben.Marsh

	Fix ShooterGame warnings on XboxOne.

	#lockdown cristina.riveron

Change 2991097 on 2016/05/26 by Nick.Darnell

	PR #2386: Git Plugin: fix initialization of a new repository broken by new "migrate" support 4.12 (Contributed by SRombauts)

	#jira UE-30781
	#lockdown cristina.riveron

Change 2991095 on 2016/05/26 by Dmitry.Rekman

	Fix packaging on Linux (UE-31312).

	- Excludes UAT modules unsupported on the platform (e.g. TVOS).

	#jira UE-31312
	#lockdown Josh.Adams

Change 2990806 on 2016/05/25 by Michael.Gay

	Last minute adjustments to SubwaySequencer shots.
	Fixed Fade track on master and moved Event tracks to shots.
	#jira UE-30804
	#lockdown Cristina.Riveron

Change 2990739 on 2016/05/25 by Dan.Oconnor

	Fix for transaction buffer failing to restore preview widget trees, these are regenerated post undo/redo and should not be tagged as transactional
	#jira UE-31155
	#lockdown cristina.riveron

Change 2990657 on 2016/05/25 by Dmitry.Rekman

	Fix crash in mono when invoked by the engine (UE-31312).

	- Reset signal mask on spawning a subprocess. We mask out all signals except explicitly handled, which does not play well with mono.
	- See also https://answers.unrealengine.com/questions/420161/mono-process-crash.html

	#jira UE-31312
	#lockdown Josh.Adams

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

	Undo 4.12 change to DetachFromParent when AttachTo is called with a null parent.
	#jira UE-00000
	#lockdown Cristina.Riveron

Change 2990429 on 2016/05/25 by Max.Chen

	Movie Capture: Fix initialization order warning. Follow up to CL #2990314

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990338 on 2016/05/25 by Zabir.Hoque

	TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.

	#jira UE-28838
	#lockdown cristina.riveron

Change 2990314 on 2016/05/25 by Max.Chen

	Movie Capture: Flush the viewport when grabbing frames. This fixes more frame accuracy issues.

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990249 on 2016/05/25 by Max.Chen

	Sequencer: Fix tick prerequisites getting removed on stop and not re-set on play. This fixes frame accuracies when rendering in a separate process.

	#jira UE-31285
	#lockdown Nick.Penwarden

Change 2990243 on 2016/05/25 by Lukasz.Furman

	Fixed behavior tree observers not being applied correctly
	#jira UE-31307
	#lockdown Cristina.Riveron

Change 2990206 on 2016/05/25 by Daniel.Lamb

	Make sure min number of threads in the large thread pool is at least 2.
	#jira UE-31253
	#lockdown Cristina.Riveron

Change 2990182 on 2016/05/25 by Max.Chen

	Sequencer: Fix null ptr crash on trying to record from current player. This is a regression from the off by one frame fixes.

	#jira UE-31304
	#lockdown Nick.Penwarden

Change 2990124 on 2016/05/25 by Chris.Bunner

	Avoid creating additional inline code fragment casting matching uniform types.
	#lockdown cristina.riveron
	#jira UE-29089

Change 2989978 on 2016/05/25 by Uriel.Doyon

	Merged fix for issue with resolution scale in PostProcessVisualizeComplexity
	#jira UE-29473
	#lockdown cristina.riveron

Change 2989970 on 2016/05/25 by Taizyd.Korambayil

	#lockdown cristina.riveron
	#jira UE-31293 Added TestMaps Folder and moved all Non-Relevant Maps into it.

Change 2989911 on 2016/05/25 by Chris.Babcock

	Remove warning about Android debugging since CodeWorks for Android Nsight supports VS2015
	#jira UE-31292
	#ue4
	#android
	#lockdown cristina.riveron

Change 2989898 on 2016/05/25 by Robert.Manuszewski

	Splitting inline shader registration from serialization. Serialization can happen on the async loading thread but registration should only happen on the game thread. Removed a lot of critical section locks.

	Reimplementing CL #2952596

	#jira UE-29245
	#lockdown Nick.Penwarden

Change 2989849 on 2016/05/25 by Max.Preussner

	Sequencer: Fixed Crash when playing UMG sequence with audio tracks (UE-31289)

	#jira UE-31289
	#lockdown nick.penwarden

Change 2989793 on 2016/05/25 by Max.Chen

	Sequencer: Change automated capture so it captures in response to a sequence update to fix off by one frames.

	#jira UE-30755
	#lockdown Nick.Penwarden

Change 2989792 on 2016/05/25 by Max.Chen

	Sequencer: Put back setting MaxFPS when forcing fixed frame interval playback to fix motion blur in editor.

	#jira UE-30755
	#lockdown Nick.Penwarden

Change 2989774 on 2016/05/25 by Mike.Beach

	Mirroring CL 2946932

	Guarding against invalid EdGraphPins (ones that have been moved to the transient package) when constructing the widget - prevents a crash that we've been unable to repro or determine the cause of (turns it instead into an ensure, so we can collect more contextual information on the issue).

	#lockdown cristina.riveron
	#jira UE-26998

Change 2989765 on 2016/05/25 by Olaf.Piesche

	Moivng CL 2967970  from Dev-Rendering - fix for
	#jira UE-27297

	#lockdown nick.penwarden

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

	Properly route AttachToComponent to SetupAttachment if called from the constructor
	#jira UE-31055
	#lockdown Cristina.Riveron

Change 2989369 on 2016/05/25 by Robert.Manuszewski

	Don't create asset import data for archetype TileMap. Propagate component flags to TileMap if the component is an archetype.

	#jira UE-31033
	#lockdown Nick.Penwarden

Change 2988975 on 2016/05/24 by Max.Preussner

	Sequencer: Fixed Cinematic Camera look at tool crashes on auto save (UE-31195)

	#jira UE-31195
	#lockdown nick.penwarden

Change 2988834 on 2016/05/24 by Max.Chen

	Movie Capture: Crash fix - Protect against null encoding filter.

	#jira UE-31233

	#lockdown Nick.Penwarden

Change 2988764 on 2016/05/24 by Peter.Sauerbrei

	fix for exception when deploying to tvOS from PC
	#jira UE-30318
	#lockdown cristina.riveron

Change 2988540 on 2016/05/24 by Jeff.Campeau

	Disable incompatible OpenVR for Windows XP builds.
	Gut SteamVR and SteamVRController for Windows XP builds (rely on OpenVR).
	#lockdown Nick.Penwarden
	#jira UE-30823

Change 2988491 on 2016/05/24 by Zak.Middleton

	#ue4 - (4.12) Remove version check from serialization logic that fixes up stale transient properties. They would still loaded for archetypes and we always want to prevent that in the future.

	#lockdown cristina.riveron
	#jira UE-30625

Change 2988427 on 2016/05/24 by Aaron.McLeran

	#jira UE-31028 Stop Quietest Concurrency does not remove the quietest sound

	Fix is to not re-add the sound once its stopped due to max concurrency.

	#tests ran the QA test map that demonstrated the problem
	#lockdown cristina.riveron

Change 2988391 on 2016/05/24 by Taizyd.Korambayil

	#lockdown cristina.riveron
	#jira UE-30301 Rebuilt Ligthing for all Content Example Maps

Change 2988315 on 2016/05/24 by Allan.Bentham

	Re-enabled FLUTBlenderPS on vulkan devices. (it's required for protostar)

	#jira UE-31079

Change 2988227 on 2016/05/24 by Frank.Fella

	Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals.  Updated the subway sequencer sample to work with these changes.

	Change missed in first checkin.

	#Jira UE-30755

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

	Assert if MaxObjectsInEditor or MaxObjectsInGame are too big and collide with EInternalObjectFlags

	#jira UE-31218

Change 2988181 on 2016/05/24 by Peter.Sauerbrei

	revert out the last fix and add more logging as I can't reproduce this bug
	#jira UE-30813

Change 2988140 on 2016/05/24 by Frank.Fella

	Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals.  Updated the subway sequencer sample to work with these changes.

	#Jira UE-30755

Change 2988081 on 2016/05/24 by Jamie.Dale

	Better fix for UE-29651 that will also work with packages saved from a build without an engine version

	There was no version bump for the change to FFormatArgumentData, but VER_UE4_K2NODE_VAR_REFERENCEGUIDS was added at almost the same time so testing that should handle the vast majority of packages that we have internally, and will handle all external packages.

	#jira UE-29651

Change 2987964 on 2016/05/24 by Lee.Clark

	Fix empty ENV path when compiling PS4 targets.

	#jira UE-31210

Change 2987721 on 2016/05/23 by Dan.Oconnor

	Reworking node validation change done in 2910382 so that nodes that are going to spawn other nodes in the expansion step are still validated.
	#jira UE-31099

Change 2987696 on 2016/05/23 by Chris.Babcock

	Update AndroidWorks 1R1 to CodeWorks for Android 1R4
	#jira UEPLAT-1312
	#ue4
	#android

Change 2987624 on 2016/05/23 by Jeff.Campeau

	Fix a define protection for WinXP stack walking support.
	#jira UE-30823

Change 2987607 on 2016/05/23 by Jeff.Campeau

	Windows Stack Walk fixed to work with Windows XP.
	Use the ASCII calls where needed.
	Symbol server is unsupported and is disabled when building for Windows XP.
	#jira UE-30823

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

	#ue4 - (4.12) Reject old serialized values of UMovementComponent::UpdatedComponent and UpdatedPrimitive that were saved before those were marked transient. Mark UPawnMovementComponent::PawnOwner and UCharacterMovementComponent::CharacterOwner as transient, and similarly reject old saved values.

	#jira UE-30625

Change 2987548 on 2016/05/23 by Lukasz.Furman

	Moved newly added gameplay debugger's code out of perception component
	#jira UE-31090

Change 2987510 on 2016/05/23 by Lukasz.Furman

	Restored perception category in old gameplay debugger tool
	#jira UE-31090

Change 2987278 on 2016/05/23 by Ben.Marsh

	Rocket: Add Mac GenerateProjectFiles.sh script into installed engine distro.

	#jira UE-31109

Change 2987156 on 2016/05/23 by Chris.Babcock

	Added GoogleVR to InstalledEngineFilters.ini
	#jira UE-31186
	#ue4
	#android

Change 2987129 on 2016/05/23 by Mieszko.Zielinski

	Fixed FNavigationFilterArea not zeroing its properties in default constuctor #UE4

	#jira UE-31185

Change 2987100 on 2016/05/23 by Peter.Sauerbrei

	fix for crash in DeploymentServer when attempting to copy a file with a space in the path or name
	#jira UE-30813

Change 2987064 on 2016/05/23 by Dmitry.Rekman

	PR #2164: [Linux] Fix clang '&&' within '||' error (Contributed by slonopotamus)

	#jira UE-28537

Change 2987002 on 2016/05/23 by Aaron.McLeran

	#jira UE-31036 Sound volume does not change when moving past the Non Focus Azimuth range if set to greater than 90 degrees

	Fix was to remove the clamp on the dot-product

	#tests ran test map with focus factors greater than 90 degrees

Change 2986880 on 2016/05/23 by Mark.Satterthwaite

	Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
	#jira UE-31124

Change 2986873 on 2016/05/23 by Lina.Halper

	#fix issue with morphtarget importings for LODs
	 - this was caused by option not being set correctly

	#jira: UE-30955
	#code review: Alexis.Matte

Change 2986804 on 2016/05/23 by Taizyd.Korambayil

	#jira UE-31132 Added Missing Function to Blueprint.

Change 2986801 on 2016/05/23 by Jamie.Dale

	SSearchBox will now only delay text changes while it has focus

	A text changed event when it doesn't have focus is usually triggered by code (rather than the user typing), so we need to process it immediately to avoid other operational ordering issues.

	#jira UE-31101

Change 2986793 on 2016/05/23 by Martin.Wilson

	Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). (brought from dev-rendering 2983747)

	#Jira UE-31166

Change 2986772 on 2016/05/23 by Benn.Gallagher

	Fixed montage single node instances with negative rate scales only repeating the final section when looping
	#jira UE-31164

Change 2986766 on 2016/05/23 by Martin.Wilson

	Fix for preview not updating when tranform curve flags are changed.

	#Jira UE-31119

Change 2986569 on 2016/05/23 by Robert.Manuszewski

	Making hang detection disabled bu default and an opt-in for games.

	#jira UE-31151

Change 2986564 on 2016/05/23 by Martin.Wilson

	Fix for being able to set montages on an anim track segment.

	#jira UE-31039

Change 2986205 on 2016/05/21 by Zabir.Hoque

	Add new instrumentation to bucketize why we are seeing device lost so often.

	#jira UE-20434

Change 2986071 on 2016/05/20 by Dan.Oconnor

	Fix for TRASHCLASS sneaking into property list when recompiling a blueprint that has a dependency that is dirty and requires bytecode recompilation of its dependencies. Make sure that the dirty blueprint itself is part of the bytecode recompilation process and make sure that blueprints compiled in this way are compiled after their parent classes
	#jira UE-30411

Change 2986068 on 2016/05/20 by Dan.Oconnor

	Fix for blueprint change/compile delegates leaking
	#jira UE-31118

Change 2986044 on 2016/05/20 by Zabir.Hoque

	Make OpenGL VB allocation support alignment (16 by default). Future work should expose this up through the RHI layers.

	#CodeReview: Olaf.Piesche, Simon.Tovey
	#jira UE-29231

Change 2985934 on 2016/05/20 by Mark.Satterthwaite

	Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
	#jira UE-30710

Change 2985852 on 2016/05/20 by Max.Chen

	Subway Sequencer: Remove level sequence editor from plugin list since it's on by default.

	#jira UE-31106

Change 2985821 on 2016/05/20 by Phillip.Kavan

	[UE-22874] Fix UObject duplication to preserve default subobjects created by the native class ctor when the root object is duplicated.

	change summary:
	- added FObjectDuplicationHelperMethods::GatherDefaultSubobjectsForDuplication()
	- modified StaticDuplicateObjectEx() to map default subobjects created in the duplicated root object's ctor before entering the serialization pass. this preserves those instances instead of causing StaticConstructObject to destroy/recreate them during serialization as part of the UObject reference duplication logic.

	#jira UE-22874

Change 2985750 on 2016/05/20 by Michael.Gay

	Default Game map set to SubwaySequencer_P
	#jira UE-31108

Change 2985660 on 2016/05/20 by Michael.Gay

	Removing unused track animation
	#jira UE-30804

Change 2985349 on 2016/05/20 by Dan.Oconnor

	Fix for crash that occurs when repeatedly pasting and undoing an object with subobjects. We were not clearing the internal flags when recycling an object
	#jira UE-30954

Change 2985346 on 2016/05/20 by Leslie.Nivison

	Updating 4.12 credit
	#jira UEPROD-820

Change 2985297 on 2016/05/20 by Jamie.Dale

	Fixed VS version detection

	It was checking the file version (which is 12), rather than the VS version (which is 12 for 2013, and 14 for 2015).

	#jira UE-30977

Change 2985233 on 2016/05/20 by Gareth.Martin

	Fixed crash when building lighting when using "Use Landscape Lightmap" on landscape grass
	#jira UE-30975

Change 2985184 on 2016/05/20 by Chris.Babcock

	Move audio warning to show proper error result code
	#jira UE-31085
	#ue4
	#android

Change 2985183 on 2016/05/20 by Chad.Taylor

	GoogleVR disabled by default

	#jira UE-30921

Change 2985145 on 2016/05/20 by Jack.Porter

	Fix for precision issue causing blocky landscape LOD on iPad Pro and several other iOS devices

	#jira UE-24792

Change 2985124 on 2016/05/20 by Alex.Delesky

	#jira UE-29794

	If the editor cannot find the SSL DLLs when enabling the Perforce source control plugin, it will now display a warning in the Source Control log instead of crashing.

Change 2985066 on 2016/05/20 by Lee.Clark

	Fix r.SelectiveBasePassOutputs so that it defaults to off

	#jira UE-30133

Change 2985063 on 2016/05/20 by Allan.Bentham

	Fix for modulated shadow precision issues on low end android hardware.

	#jira UE-29083

Change 2985061 on 2016/05/20 by Max.Chen

	Viewport: Fix crash when the viewport widget is null.

	#jira UE-31050

Change 2985059 on 2016/05/20 by Rolando.Caloca

	UE4.12 - Workaround for crash trying to track down other crash
	#jira UE-30875

Change 2984876 on 2016/05/20 by Richard.TalbotWatkin

	Made SceneOutliner visibility code safer, to avoid a potential crash.
	#jira UE-30831 - [CrashReport] UE4Editor_SceneOutliner!SceneOutliner::FGetVisibilityVisitor::RecurseChildren() [sceneoutlinergutter.cpp:24]

Change 2984873 on 2016/05/20 by Richard.TalbotWatkin

	Clipped selection box bounds in Matinee viewport to prevent crash when reading outside of the viewport area.
	#jira UE-30968 - Ctrl+Alt selection drag inside to outside of Matinee window will crash the editor

Change 2984844 on 2016/05/20 by Matthew.Griffin

	Fixing compile error in mono games

Change 2984825 on 2016/05/20 by Robert.Manuszewski

	When the application crashes becaused the GPU driver was disabled, make sure the CrashReporterClient window gets the updated screen metrics after the driver is restored.

	#jira UE-30556

Change 2984693 on 2016/05/20 by Phillip.Kavan

	[UE-30495] Fix BP editor crash on component rename following undo of component add action.

	change summary:
	- modified USimpleConstructionScript::CreateNode() to create the initial component template object in the transient package, so that subsequent undo actions restore to that state rather than to a valid BPGC-owned state.
	- modified StaticConstructObject_Internal() to restore the inclusion of RF_ArchetypeObject-flagged objects in the logic that sets new objects to 'PendingKill' state before recording them into the transaction buffer. this ensures that they can be GC'd when construction is undone in the editor. Tested against sample/repro steps in UE-21240 to ensure that it no longer crashes even with the original change from CL# 2832225 reverted (that fix has since been superceded).

	#jira UE-30495

Change 2984684 on 2016/05/20 by Phillip.Kavan

	[UE-30852] Fix BPGC custom property list delta generation & post-construct initialization/serialization to properly handle array values that differ from default in length but not inner element values.

	change summary:
	- modified UBlueprintGeneratedClass::BuildCustomPropertyListForPostConstruction()/BuildCustomArrayPropertyListForPostConstruction() to return a boolean value indicating whether or not a delta value was detected.
	- modified UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() and FBlueprintEditorUtils::BuildComponentInstancingData() to ensure that array properties are emitted to delta property lists if the size differs from default, even if none of the elements actually differ from the default value
	- removed the ensure() for the array property case in FObjectInitializer::InitPropertiesFromCustomList(), as it is now a valid case to encounter an array property delta value without any actual delta element value overrides following it in the custom property stream
	- restored the bCanUsePostConstructLink optimization for non-native class types in FObjectInitializer::InitProperties()
	- modified UArrayProperty::SerializeItem() for the ArUseCustomPropertyList case to not empty the array when a resize is needed on load (read) - this fixes an edge case in the cooked BP component data stream when array size differed from default but only one or more of the inner values actually differed, in which case all the array slots were being reset (constructed/zeroed) but only the overridden value was being serialized (loaded) from the template data stream

	#jira UE-30852

Change 2984651 on 2016/05/19 by Zabir.Hoque

	Forcing GoogleVR plugin to disabled by default since its causing even non HDM machines to render split foveated viewports.

	#CodeReview: Chad.Taylor, Nick.Whiting
	#jira UE-30921

Change 2984636 on 2016/05/19 by Zabir.Hoque

	Explicitly store the cubemap resolution in encoded reflection data.

	#CodeReview Daniel.Wright, Marcus.Wassmer
	#jira UE-30341

Change 2984454 on 2016/05/19 by Rolando.Caloca

	UE4.12 - Fix for vulkan failing to load shader
	Integration mirroring changelist 2984432
	#jira UE-28140

Change 2984452 on 2016/05/19 by Marcus.Wassmer

	#jira UE-31054
	Remove autocompletion for ToggleRHIThread and ShowMaterialDrawEvents as they no longer do anything

Change 2984415 on 2016/05/19 by Dan.Oconnor

	Fix for crash when we fail to spawn the preview actor because the desired class is deprecated
	#jira UE-31027

Change 2984376 on 2016/05/19 by Dan.Oconnor

	Fix for regression in GetClassDefaults - we were not handling the 'None' case
	#jira UE-31034

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

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

	#tests Ran updated SDK in several test maps, confirmed HRTF spatialization is working.

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

	Fix issue with importing morphtarget LOD when it's missing between

	#jira: UE-30949

Change 2984237 on 2016/05/19 by Dan.Oconnor

	Fix for ensure/possible stale memory access in UpdateOverlaps
	#jira UE-30919

Change 2984170 on 2016/05/19 by Max.Chen

	Movie Capture: Another pass at texture streaming fix for movie capture.

	#jira UE-30986

Change 2984134 on 2016/05/19 by Chad.Taylor

	Mac compiler warning fix

	#jira UE-30921

Change 2983903 on 2016/05/19 by Taizyd.Korambayil

	#jira UE-30562 Replaced cube With BSP for Floor

Change 2983840 on 2016/05/19 by Taizyd.Korambayil

	#jira UE-30979 Fixed Typo in one of the Stands

Change 2983662 on 2016/05/19 by Ben.Marsh

	GitHub: Add an exception to allow GoogleVR files to be mirrored to GitHub

Change 2983653 on 2016/05/19 by Chris.Bunner

	Modifed previous change to fixup incorrect ensures.
	#jira UE-30877

Change 2983599 on 2016/05/19 by Chris.Bunner

	Added ensure and null ptr check to canvas flush.
	#jira UE-30877

Change 2983596 on 2016/05/19 by Chad.Taylor

	FluffyBunny

	#jira UE-30921

Change 2983534 on 2016/05/19 by Brian.Karis

	4.12 fix per pixel translucency

	#jira UE-30902

Change 2983530 on 2016/05/19 by Chris.Babcock

	Broadcast EMediaEvent::MediaOpened when media opened successfully
	#jira UE-31006
	#ue4
	#android

Change 2983427 on 2016/05/19 by Richard.TalbotWatkin

	Conflated "Import" and "Import Scene" in the File menu; the new action is called "Import Into Level".  Limited the allowed file types to .t3d and .fbx.
	#jira UE-30891 - CRASH: Editor crashes when Importing Actors via File > Import

Change 2983386 on 2016/05/19 by Michael.Gay

	minor last tweaks
	#jira UE-30804

Change 2983280 on 2016/05/19 by Gil.Gribb

	UE4 - Fixed crash in FHierarchicalStaticMeshSceneProxy related to reflection captures and foliage.
	#jira UE-30837

Change 2983079 on 2016/05/18 by Max.Chen

	Movie Capture: Fix so that texture streaming option for movie capture is set when capturing in editor.

	#jira UE-30986

Change 2983078 on 2016/05/18 by Dmitriy.Dyomin

	Added more logging to track UE-30878
	#jira UE-30878

Change 2983067 on 2016/05/18 by Dmitriy.Dyomin

	Fixed: Mobile HDR Path doesn't work on GearVR
	#jira UE-11846

Change 2983049 on 2016/05/18 by Max.Chen

	Movie Capture: Fix crash on movie rendering when in HDR mode.

	#jira UE-30978

Change 2982825 on 2016/05/18 by Mark.Satterthwaite

	Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
	#jira UE-30710

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

	Fix Orion DataProvider use of AddReferencedObjects in light of CL# 2982607
	#jira UE-00000

Change 2982546 on 2016/05/18 by Taizyd.Korambayil

	#jira UE-30862 resaved A bunc hof assets to Fix to attempt to fix Build Warnings

Change 2982533 on 2016/05/18 by Daniel.Lamb

	When you package if you haven't saved the changes will not be reflected in the game.
	#jira UE-30904

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

	Bring forgotten 4.11 CL# 2928377 to 4.12
	Ensure that the compiler will throw an error when passing a non-UObject* TArray to AddReferencedObjects
	#jira UE-28933

Change 2982358 on 2016/05/18 by Taizyd.Korambayil

	#jira UE-30546 Updated TP_VehicleAdvPawn Chase Camera Location

Change 2982280 on 2016/05/18 by Martin.Mittring

	UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
	#jira:UE-26409

Change 2982229 on 2016/05/18 by Max.Chen

	Sequencer: Add tick prerequisites so that the level sequence actor ticks before all of the actors that it controls. This fixes some inconsistencies in the movie rendered frames not matching what's in editor.

	#jira UE-30755

Change 2982080 on 2016/05/18 by Max.Chen

	Sequence Recorder: Fix crash when component class to record is null.

	#jira UE-30944

Change 2982041 on 2016/05/18 by Marcus.Wassmer

	Protect against crashes reading from a null texture.
	#jira UE-30834

Change 2981915 on 2016/05/18 by Allan.Bentham

	Do not mosaic encode for modulate blend operations.
	Fixes dark 'halos' around mod shadows.

	#jira UE-29083

Change 2981911 on 2016/05/18 by michael.gay

	Set framing in sequencer, set start to 200

	#jira UE-30633

Change 2981904 on 2016/05/18 by Chase.McAllister

	#jira UE-30943 Removing unused asset to fix DDC compiling bug

Change 2981894 on 2016/05/18 by Michael.Gay

	removed old cameras, changed start frame to remove black at head of sequence
	#jira UE-30633

Change 2981827 on 2016/05/18 by Gareth.Martin

	Fixed crash when entering landscape mode while a landscape is selected while simulating
	- Landscape infos no longer get created for PIE/Simulate landscapes (they were empty anyway)
	#jira UE-30917

Change 2981725 on 2016/05/18 by Keith.Judge

	Xbox One - Fix issues with DFAO/DF Shadowing. Problems were in RHIUpdateTexture3D(). Needed to ensure temp texture had the correct bind flags, etc, and also use the graphics context rather than the DMA context to do the copying, as for some reason the DMA engine corrupts some pixels of the distance field atlas texture.

	#jira UE-27591

Change 2981466 on 2016/05/17 by Max.Chen

	Merge from Chris Bunner from Dev-SequencerGDC - Frame state fixes when Sequencer is paused; No velocity in AA, Clamp motion blur scale, Clamp to scatter blur method.

	#jira UE-30576

Change 2981403 on 2016/05/17 by Dan.Oconnor

	Fix for overzealous filtering of classes with Within markup
	#jira UE-29878

Change 2981342 on 2016/05/17 by Dan.Oconnor

	Removing overzealous check. In Dev-BP this has already been downgraded to an ensure, but no reason to ensure now that we understand why it happens.
	#jira UE-30792

Change 2981318 on 2016/05/17 by Max.Preussner

	Sequencer: Fixed crash when scrubbing attached audio tracks; reduced nesting (UE-30923)

	#jira: UE-30923

Change 2981221 on 2016/05/17 by Dan.Oconnor

	Preventing spawning components with 'Within' markup specified, it is unsupported by the SCSEditor and Core UObject logic at this time. Likely logic is CoreUObject needs to avoid type checking for RF_ArchetypeObject instances and the SCSEditor needs to be more consistent about using that flag on its template objects
	#jira UE-29878

Change 2981169 on 2016/05/17 by Marc.Audy

	Gracefully handle invalid GameSingleton class name in ini file
	Remove unused DefaultPreviewPawnClass and ClassName from Engine
	#jira UE-30829

Change 2981104 on 2016/05/17 by Mieszko.Zielinski

	Made AISenses not send information to listeners that are not registered for given sense #UE4

	#jira UE-29939

Change 2981086 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30568 Added a check to make sure index being accessed was valid (BP_DemoRoom)

Change 2980755 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30706 Set material to use Translucent Blend

Change 2980753 on 2016/05/17 by Jon.Nabozny

	Initialize FBox used to store result for CalculateQuatACF96Bounds (bump from //UE4/Dev-Framework).

	#JIRA UE-30846

Change 2980682 on 2016/05/17 by Taizyd.Korambayil

	#jira UE-30570, UE-30575 Corrected Some Spellings

Change 2980559 on 2016/05/17 by Mieszko.Zielinski

	Changed UNavigationSystem.AgentToNavDataMap to store weak object pointers rather than raw painters #UE4

	This should make it immune to navigation data beging destroyed and not removed from AgentToNavDataMap.

	#jira UE-30836

Change 2980504 on 2016/05/17 by Daniel.Wright

	Integrate - Movable skylight now matches stationary for subsurface shading models
	* Two sided was broken in 4.11, Subsurface had never been handled
	#jira UE-30855

Change 2980467 on 2016/05/17 by Jamie.Dale

	Added some checks to avoid temporary worlds being added as favorites

	#jira UE-30613

Change 2980379 on 2016/05/17 by Jurre.deBaare

	Fix for static mesh merging, little too eager with changes.

	#jira UE-30808

Change 2980373 on 2016/05/17 by Gareth.Martin

	Fixed shader compile errors when applying a speedtree material to a landscape spline
	#jira UE-25820

Change 2980318 on 2016/05/17 by Gareth.Martin

	Fixed crash when calling EditorApplySpline with a null spline component
	Also stopped it doing anything in PIE (it's for blutilities, not runtime)
	#jira UE-30830

Change 2980300 on 2016/05/17 by Marc.Audy

	Treat Unreachable components the same as BeginDestroyed for endplay/cleanup purposes
	#jira UE-30839

Change 2980298 on 2016/05/17 by Gareth.Martin

	Fixed crash when loading landscape projects that used tessellation
	#jira UE-30742

Change 2980296 on 2016/05/17 by Martin.Wilson

	Fix crash accessing sync names from a child anim bp

	#jira UE-30811

Change 2980289 on 2016/05/17 by Jurre.deBaare

	Fix for regression with merge actor tab
	#jira UE-30809

Change 2980272 on 2016/05/17 by Ori.Cohen

	Make sure that root components do not get attached to non root components in the same actor. Fixes crash in scene outliner and other weird issues.

	#JIRA UE-30876

Change 2980206 on 2016/05/17 by Keith.Judge

	Xbox One - Bit the bullet and rewrote the occlusion query buffer handling so that we're not reliant on a finite ring buffer. Instead, each query has a small buffer of its own. removing the dependency of ordering when reading back the results. This should save memory on smaller maps too!

	#jira UE-30581
	#jira UEPLAT-623

Change 2980094 on 2016/05/17 by Matthew.Griffin

	Added OSVR dlls to InstalledEngineFilters.ini so that they are included in Launcher build even though the plugin is disabled by default
	#jira UE-30611

Change 2979935 on 2016/05/17 by Aaron.Herzog

	#jira UE-30619 updating owen sk mesh with proper morph

Change 2979816 on 2016/05/16 by Chad.Taylor

	Fix to address a crash related to multiple player VR Preview

	#jira UE-20109

Change 2979744 on 2016/05/16 by Mike.Beach

	Disabling Blueprint spawning, InitProperties() optimization until we can figure out why it is not filling out array properties properly.

	#jira UE-30745

Change 2979743 on 2016/05/16 by Mike.Beach

	Mirroring CL 2977497
	Clearing property nodes and cached read-addresses when changing the details view object (so any queued actions will not operate on invalid properties).

	#jira UE-26392

Change 2979544 on 2016/05/16 by Daniel.Wright

	Fixed crash with RTDF shadows when r.DistanceFieldAO was disabled
	#jira UE-26319

Change 2979477 on 2016/05/16 by michael.gay

	Remove errant Play Rate track.

	#jira UE-30633

Change 2979464 on 2016/05/16 by Mark.Satterthwaite

	Duplicate CL #2945444: Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.
	#jira UE-30849

Change 2979441 on 2016/05/16 by Rolando.Caloca

	UE4.12 - vk - Fix quitting taking a long time
	#jira UE-28239

Change 2979315 on 2016/05/16 by Michael.Trepka

	Rollback //UE4/Release-4.12/Engine/Source/Programs/UnrealBuildTool/System/XcodeProject.cs to revision 1

	#jira UE-28016

Change 2979304 on 2016/05/16 by Jamie.Dale

	Backing out some changes from CL# 2976673

	These caused an issue with Slate hit-testing. The more correct fix here is to make the Slate Windows OS layer treat window positions as relative to the top-left of the window client area, rather than relative to the top-left of the window itself (which includes the OS border). This now matches what other platforms do.

	To this end, FWindowsWindow::Initialize, FWindowsWindow::MoveWindowTo, and FWindowsWindow::ReshapeWindow all now consider the given window position to be relative to the window client area, and will consistently adjust it to relative to the window before moving/creating the OS window. This only impacts windows with OS borders (aka, non-fullscreen and non-Slate drawn windows).

	#jira UE-30276
	#jira UE-30677
	#jira UE-30771

Change 2979077 on 2016/05/16 by Maciej.Mroz

	#jira UE-28536 Attached Project Crashes on Attempting to Play in Standalone
	merged from 2979069

Change 2979052 on 2016/05/16 by Chase.McAllister

	#jira UE-30789 Resaving Maps to fix project warning

Change 2978984 on 2016/05/16 by Chase.McAllister

	#jira UE-30789 Resaving start video assests that contained empty engine version

Change 2978806 on 2016/05/16 by Mieszko.Zielinski

	Fixed EQS tests' scoring equation value getting reset on load #UE4

	#jira UE-30470

Change 2978670 on 2016/05/16 by Max.Preussner

	Media: Workaround for changing Media asset path can cause crash (UE-22691)

	#jira: UE-22691

Change 2978638 on 2016/05/16 by Michael.Gay

	Cleanup of old maps in SubwaySequencer project
	#jira UE-30633

Change 2978636 on 2016/05/16 by Jamie.Dale

	Added guard against a crash navigating through a menu

	#jira UE-30698

Change 2978611 on 2016/05/16 by Lee.Clark

	PS4 - Fix RenderTargetOutputFormat using the wrong output index for velocity rendering when using r.BasePassOutputsVelocity=True

	#jira UE-30133

Change 2978596 on 2016/05/16 by Allan.Bentham

	Extend iOS metal Z bias offset to all  iOS (metal+gles) depth only shaders.

	#jira UE-27530

Change 2978566 on 2016/05/16 by Jamie.Dale

	Downgraded some checks to ensures and added more logging

	#jira UE-30613

Change 2978399 on 2016/05/16 by Keith.Judge

	Xbox One - Fix check() firing when we run out of occlusion buffer space. Also added occlusion query result caching (perf gain!).

	#jira UE-30581

Change 2978323 on 2016/05/16 by Jurre.deBaare

	Merge actor panel crashes when selecting a mesh component without static mesh
	#fix display 'No Static Mesh' when none is available
	#jira UE-30809

Change 2978322 on 2016/05/16 by Jurre.deBaare

	Issue with merging meshes resulting data saved across different LOD levels

	#fix use correct target LOD index for all source LODs
	#jira UE-30808

#lockdown Nick.Penwarden

[CL 2999693 by Ben Marsh in Main branch]
2016-06-03 11:49:20 -04:00
Nick Darnell
1258799218 Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866)
#lockdown Nick.Penwarden

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UE-29423
	Add Obj support for scene importer

	Github PR #2272

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

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

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

	Moved FSlateIcon definition to SlateCore

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

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

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

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

	#jira UE-26502

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	#jira UE-26968

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

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

	#jira UE-7777

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

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

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

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

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

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

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

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

	#jira UE-28456

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

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

	#jira UE-28763

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

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

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

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

	#jira UE-24190

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

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

	#jira OR-18634

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

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

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

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

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

	#jira UE-12096

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

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

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

	Fixed the subtitle manager updating the wrong list of subtitles

	#jira UE-29511

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

	Removed some old placement-new style array insertions

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

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

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

	Merging hardware survey gating logic from 4.10

	#jira UE-28666

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

	Removed deprecated function call

	#jira UE-28666

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

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

	#jira UE-20676

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

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

	#jira UE-12096

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

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

	#jira UE-12096

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

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

	#jira UE-12096

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

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

	#jira UE-12096

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

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

	#jira UE-12096

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

	Removed some inline duplication on the specialized template functions

	#jira UE-12096

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

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

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

	#jira UE-26585

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

	Updated some font editor tooltips to be more descriptive

	#jira UE-17429

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

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

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

	Fixed minor typo

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

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

	#jira UE-25833

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

	Rephrased a message that could generate a CIS warning

	#jira UE-25833

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

	Fixed duplicate "Font" entry in asset picker menu

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

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

	#jira UE-24903

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

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

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

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

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

	Config writing improvements when dealing with property values

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

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

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

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

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

	Added a setting to control dialogue wave audio filenames

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

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

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

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

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

	Changes to support packaging plugins from the editor.

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

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

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

	#jira UE-30371

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

	Fixed MultiLine not working with arrays of string or text properties

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

	#jira UE-30392

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

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

	#jira UE-30172

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

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

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

	Significant performance improvements when pasting a large amount of text

	#jira UE-19712

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

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

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

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

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

	#jira UETOOL-795

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

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

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

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

	PR #2030

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

	Wrong parameter when calling GetImportOptions

	#jira UE-30299

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

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

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

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

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

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

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

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

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

	Fixing compiler issues from main merge.

	#jira UE-30590

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

	Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue

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

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

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

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

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

	#jira UE-30482

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

	Deprecated some functions that were taking an unused position.

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

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

[CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
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
Mike Beach
134cb04d27 Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden

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

Change 2716841 on 2015/10/05 by Mike.Beach

	(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).

	#codereview Maciej.Mroz

Change 2719089 on 2015/10/07 by Maciej.Mroz

	ToValidCPPIdentifierChars handles propertly '?' char.

	#codereview Dan.Oconnor

Change 2719361 on 2015/10/07 by Maciej.Mroz

	Generated native code for AnimBPGC - some preliminary changes.

	Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
	Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"

	The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.

	#codereview Lina.Halper, Thomas.Sarkanen

Change 2719383 on 2015/10/07 by Maciej.Mroz

	Debug-only code removed

Change 2720528 on 2015/10/07 by Dan.Oconnor

	Fix for determinsitc cooking of async tasks and load asset nodes
	#codereview Mike.Beach, Maciej.Mroz

Change 2721273 on 2015/10/08 by Maciej.Mroz

	Blueprint Compiler Cpp Backend
	- Anim Blueprints can be converted
	- Various fixes/improvements

Change 2721310 on 2015/10/08 by Maciej.Mroz

	refactor (cl#2719361) - no "auto" keyword

Change 2721727 on 2015/10/08 by Mike.Beach

	(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.

	    - Refactored the conversion manifest (using a map over an array)
	    - Centralized destination paths into a helper struct (for the manifest)
	    - Generating an Editor module that automatically hooks into the cook process when enabled
	    - Loading and applying native replacments for the cook

Change 2723276 on 2015/10/09 by Michael.Schoell

	Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.

	#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
	#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736

Change 2724345 on 2015/10/11 by Ben.Cosh

	Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
	#UEBP-21 - Profiling data capture and storage
	#UEBP-13 - Performance capture landing page
	#Branch UE4
	#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine

Change 2724613 on 2015/10/12 by Ben.Cosh

	Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
	#Branch UE4
	#Proj BlueprintProfiler

	#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.

Change 2724723 on 2015/10/12 by Maciej.Mroz

	Constructor of a dynamic class creates CDO.

	#codereview Robert.Manuszewski

Change 2725108 on 2015/10/12 by Mike.Beach

	[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.

Change 2726358 on 2015/10/13 by Maciej.Mroz

	UDataTable is properly saved even if its RowStruct is null.

	https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html

Change 2727395 on 2015/10/13 by Mike.Beach

	(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
	    * Using stubs for replacements (rather than loading dynamic replacement).
	    * Giving the cook commandlet more control (so a conversion could be ran directly).
	    * Now logging replacements by old object path (to account for UPackage replacement queries).
	    * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).

	#codereview Maciej.Mroz

Change 2727484 on 2015/10/13 by Mike.Beach

	[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.

Change 2727527 on 2015/10/13 by Mike.Beach

	Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.

Change 2727702 on 2015/10/13 by Dan.Oconnor

	Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)

Change 2727968 on 2015/10/14 by Maciej.Mroz

	Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in  ConstructorHelpers::FClassFinder from being obsolete.
	FindOrLoadClass behaves now like FindOrLoadObject.

	#codereview Robert.Manuszewski, Nick.Whiting

Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
Phillip Kavan
f864e2455c [UE-14914] Prevent function parameters from being autowired when intended for internal use only.
change summary:
- added a new "InternalUseParam" UFUNCTION() meta to support tagging function parameters as internal use only (=> hidden | not connectable)
- added a UK2Node_CallFunction::IsConnectionDisallowed() override method; returns 'true' if the 'bNotConnectable' flag is set on the node's pin (and will emit a compile error in existing projects if something is connected to it)
- modified FBlueprintEditorUtils::GetHiddenPinsForFunction() to accept an optional 'InternalPins' TSet as an output; on return, this will contain the subset of hidden pins that are marked as "InternalUseParam"
- modified UK2Node_CallFunction::CreatePinsForFunctionCall() to set the 'bNotConnectable' pin attribute to 'true' if "InternalUseParam == '<PinName>'" is included within the UFunction metadata
- modified the AActor::AddComponent UFUNCTION() decl to switch the "HidePin" meta to "InternalUseParam" for the 'ComponentTemplateContext' parameter (because it should not be connectable)
- modified UK2Node_CallFunction::NotifyPinConnectionListChanged() to refresh the node to hide pins corresponding to internal-only params once the (invalid) connection in an existing project has been broken

#codereview Mike.Beach

[CL 2606203 by Phillip Kavan in Main branch]
2015-06-30 14:42:07 -04:00