2019-12-26 15:33:43 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
# include "UserDefinedStructureCompilerUtils.h"
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
# include "UObject/ObjectMacros.h"
# include "UObject/Class.h"
# include "UObject/UnrealType.h"
# include "EdGraph/EdGraphPin.h"
# include "GameFramework/Actor.h"
# include "Engine/Blueprint.h"
2015-04-10 03:30:54 -04:00
# include "UserDefinedStructure/UserDefinedStructEditorData.h"
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
# include "Engine/BlueprintGeneratedClass.h"
# include "Engine/UserDefinedStruct.h"
# include "EdMode.h"
# include "EdGraphSchema_K2.h"
# include "K2Node.h"
# include "UObject/UObjectHash.h"
# include "UObject/UObjectIterator.h"
# include "K2Node_StructOperation.h"
# include "KismetCompilerMisc.h"
# include "KismetCompiler.h"
# include "Kismet2/StructureEditorUtils.h"
# include "Kismet2/BlueprintEditorUtils.h"
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
# include "Serialization/ObjectWriter.h"
# include "Serialization/ObjectReader.h"
2019-12-13 11:07:03 -05:00
# include "UObject/FieldIterator.h"
2021-04-15 16:21:06 -04:00
# include "Algo/Copy.h"
2014-03-14 14:13:41 -04:00
# define LOCTEXT_NAMESPACE "StructureCompiler"
struct FUserDefinedStructureCompilerInner
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
struct FBlueprintUserStructData
2015-07-09 06:02:04 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
TArray < uint8 > SkeletonCDOData ;
TArray < uint8 > GeneratedCDOData ;
} ;
static void ClearStructReferencesInBP ( UBlueprint * FoundBlueprint , TMap < UBlueprint * , FBlueprintUserStructData > & BlueprintsToRecompile )
{
if ( ! BlueprintsToRecompile . Contains ( FoundBlueprint ) )
2015-07-09 06:02:04 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
FBlueprintUserStructData & BlueprintData = BlueprintsToRecompile . Add ( FoundBlueprint ) ;
// Write CDO data to temp archive
//FObjectWriter SkeletonMemoryWriter(FoundBlueprint->SkeletonGeneratedClass->GetDefaultObject(), BlueprintData.SkeletonCDOData);
//FObjectWriter MemoryWriter(FoundBlueprint->GeneratedClass->GetDefaultObject(), BlueprintData.GeneratedCDOData);
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
for ( UFunction * Function : TFieldRange < UFunction > ( FoundBlueprint - > GeneratedClass , EFieldIteratorFlags : : ExcludeSuper ) )
2015-07-09 06:02:04 -04:00
{
Function - > Script . Empty ( ) ;
}
FoundBlueprint - > Status = BS_Dirty ;
}
}
2014-03-14 14:13:41 -04:00
static void ReplaceStructWithTempDuplicate (
2014-04-23 20:18:55 -04:00
UUserDefinedStruct * StructureToReinstance ,
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
TMap < UBlueprint * , FBlueprintUserStructData > & BlueprintsToRecompile ,
2014-04-23 20:18:55 -04:00
TArray < UUserDefinedStruct * > & ChangedStructs )
2014-03-14 14:13:41 -04:00
{
if ( StructureToReinstance )
{
2014-04-23 20:18:55 -04:00
UUserDefinedStruct * DuplicatedStruct = NULL ;
2014-03-14 14:13:41 -04:00
{
const FString ReinstancedName = FString : : Printf ( TEXT ( " STRUCT_REINST_%s " ) , * StructureToReinstance - > GetName ( ) ) ;
2014-04-23 20:18:55 -04:00
const FName UniqueName = MakeUniqueObjectName ( GetTransientPackage ( ) , UUserDefinedStruct : : StaticClass ( ) , FName ( * ReinstancedName ) ) ;
2014-03-14 14:13:41 -04:00
2014-10-30 11:03:04 -04:00
TGuardValue < bool > IsDuplicatingClassForReinstancing ( GIsDuplicatingClassForReinstancing , true ) ;
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
DuplicatedStruct = ( UUserDefinedStruct * ) StaticDuplicateObject ( StructureToReinstance , GetTransientPackage ( ) , UniqueName , ~ RF_Transactional ) ;
2014-03-14 14:13:41 -04:00
}
2015-03-27 20:10:06 -04:00
DuplicatedStruct - > Guid = StructureToReinstance - > Guid ;
2014-10-30 11:03:04 -04:00
DuplicatedStruct - > Bind ( ) ;
DuplicatedStruct - > StaticLink ( true ) ;
2014-04-23 20:18:55 -04:00
DuplicatedStruct - > PrimaryStruct = StructureToReinstance ;
DuplicatedStruct - > Status = EUserDefinedStructureStatus : : UDSS_Duplicate ;
2014-03-14 14:13:41 -04:00
DuplicatedStruct - > SetFlags ( RF_Transient ) ;
DuplicatedStruct - > AddToRoot ( ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
2015-04-08 14:54:45 -04:00
CastChecked < UUserDefinedStructEditorData > ( DuplicatedStruct - > EditorData ) - > RecreateDefaultInstance ( ) ;
2014-03-14 14:13:41 -04:00
2020-10-22 19:19:16 -04:00
// List of unique classes and structs to regenerate bytecode and property referenced objects list
TSet < UStruct * > StructsToRegenerateReferencesFor ;
2022-02-02 02:21:12 -05:00
for ( TAllFieldsIterator < FStructProperty > FieldIt ( RF_NoFlags , EInternalObjectFlags : : Garbage ) ; FieldIt ; + + FieldIt )
2014-03-14 14:13:41 -04:00
{
2019-12-13 11:07:03 -05:00
FStructProperty * StructProperty = * FieldIt ;
2014-03-14 14:13:41 -04:00
if ( StructProperty & & ( StructureToReinstance = = StructProperty - > Struct ) )
{
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
if ( UBlueprintGeneratedClass * OwnerClass = Cast < UBlueprintGeneratedClass > ( StructProperty - > GetOwnerClass ( ) ) )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
if ( UBlueprint * FoundBlueprint = Cast < UBlueprint > ( OwnerClass - > ClassGeneratedBy ) )
{
2015-07-09 06:02:04 -04:00
ClearStructReferencesInBP ( FoundBlueprint , BlueprintsToRecompile ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
StructProperty - > Struct = DuplicatedStruct ;
2020-10-22 19:19:16 -04:00
StructsToRegenerateReferencesFor . Add ( OwnerClass ) ;
2014-04-23 20:18:55 -04:00
}
2014-03-14 14:13:41 -04:00
}
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
else if ( UUserDefinedStruct * OwnerStruct = Cast < UUserDefinedStruct > ( StructProperty - > GetOwnerStruct ( ) ) )
2014-03-14 14:13:41 -04:00
{
check ( OwnerStruct ! = DuplicatedStruct ) ;
const bool bValidStruct = ( OwnerStruct - > GetOutermost ( ) ! = GetTransientPackage ( ) )
2021-09-06 12:23:53 -04:00
& & IsValid ( OwnerStruct )
2014-04-23 20:18:55 -04:00
& & ( EUserDefinedStructureStatus : : UDSS_Duplicate ! = OwnerStruct - > Status . GetValue ( ) ) ;
2014-03-14 14:13:41 -04:00
if ( bValidStruct )
{
ChangedStructs . AddUnique ( OwnerStruct ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
if ( FStructureEditorUtils : : FStructEditorManager : : ActiveChange ! = FStructureEditorUtils : : EStructureEditorChangeInfo : : DefaultValueChanged )
{
// Don't change this for a default value only change, it won't get correctly replaced later
StructProperty - > Struct = DuplicatedStruct ;
2020-10-22 19:19:16 -04:00
StructsToRegenerateReferencesFor . Add ( OwnerStruct ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
}
2014-03-14 14:13:41 -04:00
}
}
else
{
2014-04-23 20:18:55 -04:00
UE_LOG ( LogK2Compiler , Error , TEXT ( " ReplaceStructWithTempDuplicate unknown owner " ) ) ;
2014-03-14 14:13:41 -04:00
}
}
}
2020-10-22 19:19:16 -04:00
// Make sure we update the list of objects referenced by structs after we replaced the struct in FStructProperties
for ( UStruct * Struct : StructsToRegenerateReferencesFor )
{
Struct - > CollectBytecodeAndPropertyReferencedObjects ( ) ;
}
2014-03-14 14:13:41 -04:00
DuplicatedStruct - > RemoveFromRoot ( ) ;
2015-07-09 06:02:04 -04:00
2022-02-02 02:21:12 -05:00
for ( UBlueprint * Blueprint : TObjectRange < UBlueprint > ( RF_ClassDefaultObject , /** bIncludeDerivedClasses */ true , /** InternalExcludeFlags */ EInternalObjectFlags : : Garbage ) )
2015-07-09 06:02:04 -04:00
{
if ( Blueprint & & ! BlueprintsToRecompile . Contains ( Blueprint ) )
{
FBlueprintEditorUtils : : EnsureCachedDependenciesUpToDate ( Blueprint ) ;
if ( Blueprint - > CachedUDSDependencies . Contains ( StructureToReinstance ) )
{
ClearStructReferencesInBP ( Blueprint , BlueprintsToRecompile ) ;
}
}
}
2014-03-14 14:13:41 -04:00
}
}
2021-10-14 15:01:12 -04:00
static void CleanAndSanitizeStruct ( UUserDefinedStruct * StructToClean )
2014-03-14 14:13:41 -04:00
{
check ( StructToClean ) ;
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
if ( UUserDefinedStructEditorData * EditorData = Cast < UUserDefinedStructEditorData > ( StructToClean - > EditorData ) )
2015-04-08 14:54:45 -04:00
{
2021-11-23 11:25:40 -05:00
// Ensure that editor data is in sync w/ the current default instance (if valid) so that it can be reinitialized later.
EditorData - > RefreshValuesFromDefaultInstance ( ) ;
2015-04-08 14:54:45 -04:00
EditorData - > CleanDefaultInstance ( ) ;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
if ( FStructureEditorUtils : : FStructEditorManager : : ActiveChange ! = FStructureEditorUtils : : EStructureEditorChangeInfo : : DefaultValueChanged )
{
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
StructToClean - > SetSuperStruct ( nullptr ) ;
StructToClean - > Children = nullptr ;
2020-01-16 12:49:42 -05:00
StructToClean - > DestroyChildPropertiesAndResetPropertyLinks ( ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
StructToClean - > Script . Empty ( ) ;
StructToClean - > MinAlignment = 0 ;
2020-03-16 03:56:46 -04:00
StructToClean - > ScriptAndPropertyObjectReferences . Empty ( ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
StructToClean - > ErrorMessage . Empty ( ) ;
2020-01-15 06:11:42 -05:00
StructToClean - > SetStructTrashed ( true ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
}
2014-04-24 10:58:16 -04:00
}
static void LogError ( UUserDefinedStruct * Struct , FCompilerResultsLog & MessageLog , const FString & ErrorMsg )
{
MessageLog . Error ( * ErrorMsg ) ;
if ( Struct & & Struct - > ErrorMessage . IsEmpty ( ) )
{
Struct - > ErrorMessage = ErrorMsg ;
}
2014-03-14 14:13:41 -04:00
}
2014-04-23 20:18:55 -04:00
static void CreateVariables ( UUserDefinedStruct * Struct , const class UEdGraphSchema_K2 * Schema , FCompilerResultsLog & MessageLog )
2014-03-14 14:13:41 -04:00
{
check ( Struct & & Schema ) ;
//FKismetCompilerUtilities::LinkAddedProperty push property to begin, so we revert the order
2014-04-23 20:18:55 -04:00
for ( int32 VarDescIdx = FStructureEditorUtils : : GetVarDesc ( Struct ) . Num ( ) - 1 ; VarDescIdx > = 0 ; - - VarDescIdx )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
FStructVariableDescription & VarDesc = FStructureEditorUtils : : GetVarDesc ( Struct ) [ VarDescIdx ] ;
2014-03-14 14:13:41 -04:00
VarDesc . bInvalidMember = true ;
2014-04-23 20:18:55 -04:00
FEdGraphPinType VarType = VarDesc . ToPinType ( ) ;
2014-03-14 14:13:41 -04:00
FString ErrorMsg ;
2014-04-23 20:18:55 -04:00
if ( ! FStructureEditorUtils : : CanHaveAMemberVariableOfType ( Struct , VarType , & ErrorMsg ) )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
LogError (
Struct ,
MessageLog ,
FText : : Format (
LOCTEXT ( " StructureGeneric_ErrorFmt " , " Structure: {0} Error: {1} " ) ,
FText : : FromString ( Struct - > GetFullName ( ) ) ,
FText : : FromString ( ErrorMsg )
) . ToString ( )
) ;
2014-03-14 14:13:41 -04:00
continue ;
}
2019-12-13 11:07:03 -05:00
FProperty * VarProperty = nullptr ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
bool bIsNewVariable = false ;
if ( FStructureEditorUtils : : FStructEditorManager : : ActiveChange = = FStructureEditorUtils : : EStructureEditorChangeInfo : : DefaultValueChanged )
2014-03-14 14:13:41 -04:00
{
2020-03-15 10:33:45 -04:00
VarProperty = FindFProperty < FProperty > ( Struct , VarDesc . VarName ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
if ( ! ensureMsgf ( VarProperty , TEXT ( " Could not find the expected property (%s); was the struct (%s) unexpectedly sanitized? " ) , * VarDesc . VarName . ToString ( ) , * Struct - > GetName ( ) ) )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
VarProperty = FKismetCompilerUtilities : : CreatePropertyOnScope ( Struct , VarDesc . VarName , VarType , NULL , CPF_None , Schema , MessageLog ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
bIsNewVariable = true ;
}
2014-03-14 14:13:41 -04:00
}
else
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
VarProperty = FKismetCompilerUtilities : : CreatePropertyOnScope ( Struct , VarDesc . VarName , VarType , NULL , CPF_None , Schema , MessageLog ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
bIsNewVariable = true ;
}
if ( VarProperty = = nullptr )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
LogError (
Struct ,
MessageLog ,
FText : : Format (
LOCTEXT ( " VariableInvalidType_ErrorFmt " , " The variable {0} declared in {1} has an invalid type {2} " ) ,
FText : : FromName ( VarDesc . VarName ) ,
FText : : FromString ( Struct - > GetName ( ) ) ,
UEdGraphSchema_K2 : : TypeToText ( VarType )
) . ToString ( )
) ;
2014-03-14 14:13:41 -04:00
continue ;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
else if ( bIsNewVariable )
{
VarProperty - > SetFlags ( RF_LoadCompleted ) ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
FKismetCompilerUtilities : : LinkAddedProperty ( Struct , VarProperty ) ;
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
}
VarProperty - > SetPropertyFlags ( CPF_Edit | CPF_BlueprintVisible ) ;
2019-03-25 10:00:17 -04:00
if ( VarDesc . bDontEditOnInstance )
2014-05-13 06:19:08 -04:00
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > SetPropertyFlags ( CPF_DisableEditOnInstance ) ;
2014-05-13 06:19:08 -04:00
}
2019-03-25 10:00:17 -04:00
if ( VarDesc . bEnableSaveGame )
{
VarProperty - > SetPropertyFlags ( CPF_SaveGame ) ;
}
Copying //UE4/Dev-Editor to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2756103 on 2015/11/05 by Jamie.Dale
Implemented UFont::GetResourceSize to work correctly with the Size Map tool
Change 2756104 on 2015/11/05 by Jamie.Dale
Changed the font used when a font is missing or invalid to be the last resort font, rather than the localized fallback font
The localized fallback font could cause different results based on your culture, and the last resort font makes it clearer that something is set-up incorrectly as it just draws invalid glyph markers for all of the text.
Change 2756105 on 2015/11/05 by Jamie.Dale
Fixed a crash when using an empty FKey property with a Data Table
FKeyStructCustomization was asserting because there were no objects being edited, due to a newly added Data Table containing zero rows.
I've removed this assert, and also updated SKeySelector to no longer require a separate argument to say whether multiple keys with different values are selected (this is now calculated from the call to get the current key, which will return an empty TOptional for multiple values).
#jira UE-22897
Change 2757015 on 2015/11/06 by Joe.Tidmarsh
SSProgressBar marquee tint. Accounts for widget color and opacity.
PR #1698
Change 2757156 on 2015/11/06 by Joe.Tidmarsh
Implemented "Go to Variable" functionality for widgets in Widget Blueprint Editor.
When we switch modes in UMG from Designer to Graph. We select the variable (In "My Blueprint"), if one exists, for the currently selected widget. Additionally we update the details panel.
* Added SelectGraphActionItemByName to FBlueprintEditor. This selects an item in My Blueprint and also displays it in the details panel of graph mode. SMyBlueprint is not available to FWidgetBlueprintEditor in UMGEditor module as it's privately implemented within Kismet.
#rb Ben.Cosh
#jira UE-20170
Change 2757181 on 2015/11/06 by Jamie.Dale
Cleaned up some duplication in UMG text widgets, and exposed the text shaping options
The common properties used by all text widgets that are text layout based have been moved into a UTextLayoutWidget base class, and all text layout based widgets now derive from this.
The options needed to control the text shaping method used by a text based widget have been exposed via the FShapedTextOptions struct. This contains a way to manage these optional (and advanced) overrides. You typically wouldn't change these from the default unless you knew exactly what you were doing (eg, you have a text block containing only numbers).
This change also updates SRichTextBlock to work with an invalidation panel in the same way that STextBlock does
Change 2757734 on 2015/11/06 by David.Nikdel
#UE4 #Editor
- Added support for meta=(TitleProperty="StructPropertyNameHere") on properties of type TArray<FSomeStruct>.
- This changes the editor rolled-up display of these values from "{0} members" to a stringified version of the specified property (if found).
#CodeReview: Matt.Kuhlenschmidt
Change 2758786 on 2015/11/09 by Joe.Tidmarsh
Border widget now correctly synchronizes padding property
#jira UE-23070
Change 2758791 on 2015/11/09 by Joe.Tidmarsh
Shadow of FCanvasTextItem should be drawn before the outline color. Consulted with Bruce.N who believes this is not the intended behavior and was an oversight when refactoring FCanvas (CL 1695138)
#jira UE-21623
#1608
#rb Simon.Tovey, Bruce.Nesbit
Change 2758813 on 2015/11/09 by Joe.Tidmarsh
UMG: Attempting to parent multiple widgets (in Hierarchy tree) to a widget that can't have multiple children will notify the user and ignore the operation.
[UE-22921] [CrashReport] Parenting multiple actors under border crashes editor
#jira UE-22921
Change 2759234 on 2015/11/09 by Nick.Darnell
Slate - Improving the way we track references to materials in slate to better keep things alive until they're no longer needed for rendering. Additionally, making it so the we use the material and texture free list when possible when cleaning up things as to not allocate new memory if not required. Concidentually this can help with problems with corrupted memory on destruct as well, because it means the memory isn't really going to become garbage any more.
#codereview Matt.Kuhlenschmidt, Bob.Tellez
Change 2760954 on 2015/11/10 by Nick.Darnell
Slate - A bug in the introduction of custom rendered elements accidentally broke filling out the texture coordinates for standard material usage. Materials should once again tile correctly just like images do.
#jira UE-23118
Change 2761129 on 2015/11/10 by Nick.Darnell
Slate - Removing the Pre-Multiply alpha path the way it was added, introducing it in a way that doesn't require changes inside the shader. Continuing to improve the SRetainerWidget to no longer have a frame delay between resizes and painting, also working on getting it handle clipping correctly but still not there yet.
Change 2761391 on 2015/11/10 by Alexis.Matte
jira UE-20281 and UE-22259
Fbx scene Re-import workflow
- First draft of the reimport workflow using a reimport asset in the content browser
#codereview nick.darnell
Change 2762323 on 2015/11/11 by Alexis.Matte
fix build compilation
Change 2762407 on 2015/11/11 by Jamie.Dale
UDataTable::SaveStructData now writes out dummy data when RowStruct is null
This didn't used to happen, which would cause a miss-match between what UDataTable::LoadStructData was expecting, and would result in a Data Table that could never be loaded again.
This change also improves the error message when editing a Data Table with a null row struct, and adds the editor-only RowStructName property to cache the name of the last used struct (for error reporting).
#jira UE-22789
Change 2762508 on 2015/11/11 by Nick.Darnell
UMG - Making it more obvious what keys do special stuff with anchors in UMG. Fixing the way snapping to anchors works with Control, it now only zeros out the side you're dragging instead of the entire widget, which was silly. Enhancing the designer message system to no longer be based on an enum and instead let arbitrary systems push and pop FText messages. Fixing animations in the anchor drop down to properly animate, broke when we introduced active timers.
Change 2763241 on 2015/11/11 by Nick.Darnell
Slate - We no longer allow popup windows to be larger than the primary display window for windows where max width/height is unspecified. This is to prevent accidential creation of tooltip windows that are larger than the driver allows causing crashes.
#jira UE-20336
2015-12-12 08:54:23 -05:00
if ( VarDesc . bEnableMultiLineText )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > SetMetaData ( " MultiLine " , TEXT ( " true " ) ) ;
Copying //UE4/Dev-Editor to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2756103 on 2015/11/05 by Jamie.Dale
Implemented UFont::GetResourceSize to work correctly with the Size Map tool
Change 2756104 on 2015/11/05 by Jamie.Dale
Changed the font used when a font is missing or invalid to be the last resort font, rather than the localized fallback font
The localized fallback font could cause different results based on your culture, and the last resort font makes it clearer that something is set-up incorrectly as it just draws invalid glyph markers for all of the text.
Change 2756105 on 2015/11/05 by Jamie.Dale
Fixed a crash when using an empty FKey property with a Data Table
FKeyStructCustomization was asserting because there were no objects being edited, due to a newly added Data Table containing zero rows.
I've removed this assert, and also updated SKeySelector to no longer require a separate argument to say whether multiple keys with different values are selected (this is now calculated from the call to get the current key, which will return an empty TOptional for multiple values).
#jira UE-22897
Change 2757015 on 2015/11/06 by Joe.Tidmarsh
SSProgressBar marquee tint. Accounts for widget color and opacity.
PR #1698
Change 2757156 on 2015/11/06 by Joe.Tidmarsh
Implemented "Go to Variable" functionality for widgets in Widget Blueprint Editor.
When we switch modes in UMG from Designer to Graph. We select the variable (In "My Blueprint"), if one exists, for the currently selected widget. Additionally we update the details panel.
* Added SelectGraphActionItemByName to FBlueprintEditor. This selects an item in My Blueprint and also displays it in the details panel of graph mode. SMyBlueprint is not available to FWidgetBlueprintEditor in UMGEditor module as it's privately implemented within Kismet.
#rb Ben.Cosh
#jira UE-20170
Change 2757181 on 2015/11/06 by Jamie.Dale
Cleaned up some duplication in UMG text widgets, and exposed the text shaping options
The common properties used by all text widgets that are text layout based have been moved into a UTextLayoutWidget base class, and all text layout based widgets now derive from this.
The options needed to control the text shaping method used by a text based widget have been exposed via the FShapedTextOptions struct. This contains a way to manage these optional (and advanced) overrides. You typically wouldn't change these from the default unless you knew exactly what you were doing (eg, you have a text block containing only numbers).
This change also updates SRichTextBlock to work with an invalidation panel in the same way that STextBlock does
Change 2757734 on 2015/11/06 by David.Nikdel
#UE4 #Editor
- Added support for meta=(TitleProperty="StructPropertyNameHere") on properties of type TArray<FSomeStruct>.
- This changes the editor rolled-up display of these values from "{0} members" to a stringified version of the specified property (if found).
#CodeReview: Matt.Kuhlenschmidt
Change 2758786 on 2015/11/09 by Joe.Tidmarsh
Border widget now correctly synchronizes padding property
#jira UE-23070
Change 2758791 on 2015/11/09 by Joe.Tidmarsh
Shadow of FCanvasTextItem should be drawn before the outline color. Consulted with Bruce.N who believes this is not the intended behavior and was an oversight when refactoring FCanvas (CL 1695138)
#jira UE-21623
#1608
#rb Simon.Tovey, Bruce.Nesbit
Change 2758813 on 2015/11/09 by Joe.Tidmarsh
UMG: Attempting to parent multiple widgets (in Hierarchy tree) to a widget that can't have multiple children will notify the user and ignore the operation.
[UE-22921] [CrashReport] Parenting multiple actors under border crashes editor
#jira UE-22921
Change 2759234 on 2015/11/09 by Nick.Darnell
Slate - Improving the way we track references to materials in slate to better keep things alive until they're no longer needed for rendering. Additionally, making it so the we use the material and texture free list when possible when cleaning up things as to not allocate new memory if not required. Concidentually this can help with problems with corrupted memory on destruct as well, because it means the memory isn't really going to become garbage any more.
#codereview Matt.Kuhlenschmidt, Bob.Tellez
Change 2760954 on 2015/11/10 by Nick.Darnell
Slate - A bug in the introduction of custom rendered elements accidentally broke filling out the texture coordinates for standard material usage. Materials should once again tile correctly just like images do.
#jira UE-23118
Change 2761129 on 2015/11/10 by Nick.Darnell
Slate - Removing the Pre-Multiply alpha path the way it was added, introducing it in a way that doesn't require changes inside the shader. Continuing to improve the SRetainerWidget to no longer have a frame delay between resizes and painting, also working on getting it handle clipping correctly but still not there yet.
Change 2761391 on 2015/11/10 by Alexis.Matte
jira UE-20281 and UE-22259
Fbx scene Re-import workflow
- First draft of the reimport workflow using a reimport asset in the content browser
#codereview nick.darnell
Change 2762323 on 2015/11/11 by Alexis.Matte
fix build compilation
Change 2762407 on 2015/11/11 by Jamie.Dale
UDataTable::SaveStructData now writes out dummy data when RowStruct is null
This didn't used to happen, which would cause a miss-match between what UDataTable::LoadStructData was expecting, and would result in a Data Table that could never be loaded again.
This change also improves the error message when editing a Data Table with a null row struct, and adds the editor-only RowStructName property to cache the name of the last used struct (for error reporting).
#jira UE-22789
Change 2762508 on 2015/11/11 by Nick.Darnell
UMG - Making it more obvious what keys do special stuff with anchors in UMG. Fixing the way snapping to anchors works with Control, it now only zeros out the side you're dragging instead of the entire widget, which was silly. Enhancing the designer message system to no longer be based on an enum and instead let arbitrary systems push and pop FText messages. Fixing animations in the anchor drop down to properly animate, broke when we introduced active timers.
Change 2763241 on 2015/11/11 by Nick.Darnell
Slate - We no longer allow popup windows to be larger than the primary display window for windows where max width/height is unspecified. This is to prevent accidential creation of tooltip windows that are larger than the driver allows causing crashes.
#jira UE-20336
2015-12-12 08:54:23 -05:00
}
2014-05-20 08:28:12 -04:00
if ( VarDesc . bEnable3dWidget )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > SetMetaData ( FEdMode : : MD_MakeEditWidget , TEXT ( " true " ) ) ;
2014-05-20 08:28:12 -04:00
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > SetMetaData ( TEXT ( " DisplayName " ) , * VarDesc . FriendlyName ) ;
VarProperty - > SetMetaData ( FBlueprintMetadata : : MD_Tooltip , * VarDesc . ToolTip ) ;
VarProperty - > RepNotifyFunc = NAME_None ;
2014-03-14 14:13:41 -04:00
if ( ! VarDesc . DefaultValue . IsEmpty ( ) )
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > SetMetaData ( TEXT ( " MakeStructureDefaultValue " ) , * VarDesc . DefaultValue ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 20:18:55 -04:00
VarDesc . CurrentDefaultValue = VarDesc . DefaultValue ;
2014-03-14 14:13:41 -04:00
VarDesc . bInvalidMember = false ;
2015-09-07 05:35:28 -04:00
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
if ( VarProperty - > HasAnyPropertyFlags ( CPF_InstancedReference | CPF_ContainsInstancedReference ) )
2015-09-07 05:35:28 -04:00
{
Struct - > StructFlags = EStructFlags ( Struct - > StructFlags | STRUCT_HasInstancedReference ) ;
}
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
if ( VarType . PinSubCategoryObject . IsValid ( ) )
{
const UClass * ClassObject = Cast < UClass > ( VarType . PinSubCategoryObject . Get ( ) ) ;
2021-03-05 19:27:14 -04:00
if ( ClassObject & & ClassObject - > IsChildOf ( AActor : : StaticClass ( ) ) & & ( VarType . PinCategory = = UEdGraphSchema_K2 : : PC_Object | | VarType . PinCategory = = UEdGraphSchema_K2 : : PC_Interface ) )
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
{
2021-03-05 19:27:14 -04:00
// NOTE: Right now the code that stops hard AActor references from being set in unsafe places is tied to this flag,
// which is not generally respected in other places for struct properties
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > PropertyFlags | = CPF_DisableEditOnTemplate ;
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
}
else
{
// clear the disable-default-value flag that might have been present (if this was an AActor variable before)
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3025888)
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927746 on 2016/03/30 by Michael.Schoell
Local variables in function graphs will now store a hard reference to their UObject value.
Fixes a crash when a Blueprint is saved before compiling with the local variable's value set. Ensures that the UObject is loaded with the Blueprint.
#jira UE-27738 - Local variables in a function that is in a blueprint will somehow become invalid when calling a native
Change 2927751 on 2016/03/30 by Michael.Schoell
Back out changelist 2927746
Change 2986483 on 2016/05/23 by Maciej.Mroz
#jira UE-30976 Editable enum values set on an instance are lost during nativization
Added overriden names of Enum keys.
Change 2986712 on 2016/05/23 by Phillip.Kavan
[UE-21010] Apply updated transform to component template instances when changing the scene root in a Blueprint class.
change summary:
- modified SSCS_RowWidget::OnMakeNewRootDropAction() to propagate the location/rotation reset to instances of the component template that's becoming the new scene root.
Change 2987406 on 2016/05/23 by Ryan.Rauschkolb
Fixed Functions filter in Find-In-Blueprints will show components from the SCS
#jira UE-30140
Change 2988925 on 2016/05/24 by Ryan.Rauschkolb
Fixed Issue where certain primitives would not automatically type cast to Text in Blueprint graph.
#jira UE-20232
Change 2989001 on 2016/05/24 by Dan.Oconnor
PR #2418: Fixed a typo in Blueprint.h (Contributed by PistonMiner)
#jira UE-31142
Change 2989447 on 2016/05/25 by Phillip.Kavan
[UE-30807] Propagate edit condition property value changes to instances of template objects.
change summary:
- modified FPropertyEditor::SetEditConditionState() to propagate an EditConditionProperty value change to all instances if the outer owning object is a template (e.g. CDO)
Change 2989804 on 2016/05/25 by Phillip.Kavan
[UE-30289] Preserve relative scale on the root scene component when converting an Actor instance to a Blueprint Class.
change summary:
- modified FKismetEditorUtilities::CreateBlueprintFromActor() to post-copy the relative scale value from the Actor's root component to the new Blueprint CDO's root component
Change 2990234 on 2016/05/25 by Ryan.Rauschkolb
Fixed issue where including a period ina Blueprint function causes double-click to fail to open its graph
#jira UE-4426
Change 2990566 on 2016/05/25 by Mike.Beach
Better warn logging to help locate variable nodes that emit a "variable not found" message.
Change 2991083 on 2016/05/26 by Maciej.Mroz
Blueprint nativization: converted classes have "config" specified.
Change 2991363 on 2016/05/26 by Phillip.Kavan
[UE-19599] Copy-and-paste of Actor instances from level to Blueprint/IWCE component tree views now adds properly-initialized components.
change summary:
- modified FCustomizableTextObjectFactory::CanCreateObjectsFromText() to handle "Begin Actor/End Actor" blocks in T3D text
- modified FCustomizableTextObjectFactory::ProcessBuffer() to handle "Begin Actor/End Actor" blocks in T3D text (so that Actor-type objects can be processed)
- modified FComponentObjectTextFactory::CanCreateClass() to allow Actor-type objects to pass
- modified FComponentObjectTextFactory::ProcessConstructedObject() to handle Actor-type objects and pull out owned component instances as constructed objects
Change 2992990 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where Connecting Self Reference Pin to a String pin does not fully connect the generated GetDisplayName node
#jira UE-21973
Change 2992995 on 2016/05/27 by Ryan.Rauschkolb
Fixed issue where GetClass node is not listed in the Context Menu when pulling from a self node and Context Sensitive is checked.
#jira UE-30990
Change 2993449 on 2016/05/27 by Phillip.Kavan
[UE-31379] Don't instrument "preview" Actor instances during Blueprint profiler script event processing.
change summary:
- modified FBlueprintProfiler::InstrumentEvent() to check for and bypass Actor instances belonging to a preview or inactive world type.
Change 2993531 on 2016/05/27 by Mike.Beach
PR #2433: Interface functions inherited from a native base class now appear in . (Contributed by MichaelSchoell)
Change 2993969 on 2016/05/30 by Maciej.Mroz
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
Change 2993990 on 2016/05/30 by Phillip.Kavan
[UE-30984] Exclude reroute nodes from Blueprint profiler node mapping.
change summary:
- modified FBlueprintFunctionContext::MapInputPins() to pass through non-relevant nodes when iterating through non-exec input pin links.
- modified FBlueprintFunctionContext::MapExecPins() to pass through non-relevant nodes when iterating through output exec pin links.
- modified FBlueprintFunctionContext::MapTunnelEntry() to pass through non-relevant nodes when iterating through tunnel node exit points.
- modified FBlueprintFunctionContext::MapTunnelInstance() to pass through non-relevant nodes when iterating through tunnel graph entry points.
Change 2994591 on 2016/05/31 by Ryan.Rauschkolb
Fixed issue where inherited Blueprint variable would not show parent's replications settings
#jira UE-18912
Change 2994613 on 2016/05/31 by Ben.Cosh
Minor refactor and Various fixes to the blueprint profiler moving towards MVP goal.
#Jira UE-27039 - Blueprint Profiler does not lists stats when calling an Event Dispatcher
#Jira UE-31396 - Blueprint profiler crashes inside the profiler connection drawing policy
#Jira UE-30957 - "Pure Time" does not populate with data in the Blueprint Profiler
#Jira UE-30926 - Blueprint profiler - expose heatmap thresholds to user through the profiler tab
#Jira UE-30909 - Blueprint Profiler - "compile" icon should denote Blueprint's instrumented status
#Jira UE-30911 - Blueprint profiler tab/panel should display warning when Blueprint is uninstrumented
#Jira UE-31385 - BP Profiler - Inclusive time column should be entirely filled out
#Jira UE-31375 - BP Profiler - Default sample averaging to the "arithmetic mean"
#Jira UE-31377 - BP Profiler - Default tree view filtering to off
#Jira UE-31387 - BP Profiler - Remove the "view type" button for MVP
#Jira UE-31384 - BP Profiler - In the tree view, rename the first time column "Avg. Time (ms)"
Notes:-
- Sequence node inclusive time fixed
- Trace History tidy up
- Compile Icon and status messages for instrumentation
- Message in the profiler tab for instrumentation
- Profiler view tidy up and heat thresholds controls added
- fixed the summed execution branch stats
- fixed the connection drawing policy to use branch pin stats and fixed the crash from UE-31396
- added hottest path and hottest endpoint wire heatmaps
- switched off the graph filter by default
- added total time for the heatmaps
- fixed issue where initialising mapped functions caused an assert due to changes to the array/map in initialisation code
Change 2995058 on 2016/05/31 by Phillip.Kavan
[UE-30718] Native/const implementable events will no longer cause a crash at runtime when the Blueprint profiler is running.
change summary:
- modified UObject::ProcessEvent() to bypass instrumentation for native event functions that are not implemented (overridden) in a BP class.
- modified FScriptEventPlayback::Process() to first check for a standalone function match (UCS, implementable events declared as 'const') before settling on the ubergraph function for the target context.
Change 2995218 on 2016/05/31 by Phillip.Kavan
[UE-30778] Restored non-K2 compact graph nodes (e.g. Material Editor) to previous size.
change summary:
- modified SGraphNode::GetNodeIndicatorOverlayVisibility() default impl to return 'Collapsed' by default, so it doesn't affect layout.
Change 2996417 on 2016/06/01 by Phillip.Kavan
[UE-16073] Basic shape components (cube etc.) will now apply the correct override material to instances after being added through the component tree in the Blueprint editor.
change summary:
- modified the 'OnBasicShapeCreated' lambda in FComponentTypeRegistryData::AddBasicShapeComponents() to propagate the material override to all instances when the given component is an archetype (template) object.
Change 2997001 on 2016/06/01 by Ryan.Rauschkolb
Fixed Double Clicking a component in the results of Find-In-Blueprints does not select the component
#jira UE-30143
Change 2997521 on 2016/06/02 by Maciej.Mroz
[Blueprint Nativization]
- Added FilesToIncludeInModuleHeader config variable in BlueprintNativizationSettings. So some headers can be included in NativizedAssets.h
- Guids of nodes are no longer recreated when Blueprint is duplicated for "C++ compilation". Previously child bp used variable names based on original parent class, but nativized parent class had guids recreated.
Change 2997522 on 2016/06/02 by Maciej.Mroz
Native implementation of NOEXPORT FInterpCurvePoint structures. (It's necessary for Blueprint nativization)
Change 2997638 on 2016/06/02 by Maciej.Mroz
Improvements for Blueprint Nativization:
- Overridden names in nativized code have proper escape characters (in generated code).
- OnlyDefaultConstructorDeclared metadata is replaced by ObjectInitializerConstructorDeclared
- Arrays of nativized anum have the following form: TArray<Enum> (previously it was TArray<TEnumAsByte<Enum>>)
- warning C4883 is disabled in .generated.cpp files for nativized module
Change 2997639 on 2016/06/02 by Maciej.Mroz
Minor improvements in Ocean gameplay code. Required for Blueprint Nativization.
#jira UE-28945 Failure packaging Nativized Ocean
Change 2997656 on 2016/06/02 by Maciej.Mroz
Various improvements in BlueprintCompilerCppBackend:
- Fixed interface cast
- Fixed TSwitchValue issue (when used with literals)
- Fixed improper name for NativeBlueprintEvent (when calling parent's implementation)
- Fixed bitfield getter code.
- Reduce code size (less UsedAssets, less ReferencedConvertedFields, cached UEnums)
- operator == is generated for nativized structs
- Fixed AssedId (AssetPtr) constructor in nativized code.
- Fixed arrays of noexport struct
- Fixed missing headers for native single cast delegate signature.
- Fixed issue when default constructor (in native) is missing (constructor with FObjectInitialized, wont be used automatically). See "ObjectInitializerConstructorDeclared" metadata.
Change 2997691 on 2016/06/02 by Maciej.Mroz
operator == in FText. It is required for some functions in TArray<FText>
Change 2997793 on 2016/06/02 by Ben.Cosh
Added support for BaseAsyncTask nodes, fixed a problem with instance mapping and turned off the debug instance filter
#Jira UE-30703 - Crash using blueprint profiler on AI pawn using nav mesh
#Proj BlueprintProfiler, Kismet
Change 2997901 on 2016/06/02 by Maciej.Mroz
Back out changelist 2997691
Change 2998038 on 2016/06/02 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2998052 on 2016/06/02 by Ryan.Rauschkolb
Fixed Comment bubbles not remembering changes after losing focus
#jira UE-20012
Change 2998450 on 2016/06/02 by Phillip.Kavan
[UE-31550] Fix crash on load of a Blueprint class containing a bitmask variable with missing enum type metadata.
change summary:
- modified FBlueprintEditorUtils::ValidateBlueprintVariableMetadata() to check for presence of bitmask enum type metadata on a variable before trying to validate it.
Change 2999763 on 2016/06/03 by Mike.Beach
Guarding against a crash with an ensure - attempting to catch why this is happening by logging more info, as we're unable to repro it. Guarding against nodes which reference malformed (TRASH) classes.
#jira UE-26761
Change 2999768 on 2016/06/03 by Maciej.Mroz
#jira UE-31592, UE-31593
This is just workaound. FReferenceFinder::FindReferences doesn;t find Enum variable in UByteProperty.
Change 2999770 on 2016/06/03 by Maciej.Mroz
[Blueprint Nativization]
Workaround for missing ==operator in native structures. The generated code uses special version of array funtions.
Change 2999798 on 2016/06/03 by Mike.Beach
Guarding against malformed Blueprints (ones without valid "authoratative" class) used as context for the node menu. Baffling how we'd get into this scenario, but this adds ensures to hopefully give us clues and stabalize the editor.
#jira UE-31522
Change 2999941 on 2016/06/03 by Mike.Beach
Correcting mistake in previously attempted fix (CL 2781229). Now using weak ptr IsValid checks to guard against destroyed nodes in deferred graph actions (TWeakObjectPtr::Get() does not check IsValid before returning).
#jira UE-23371
Change 3001731 on 2016/06/06 by Phillip.Kavan
[UE-30638] BP profiler will no longer crash at runtime while profiling events that call functions on an external target.
change summary:
- modified FBlueprintProfiler::ProcessEventProfilingData() to only remove 'Class' and 'Instance' signals on new events.
- modified FScriptEventPlayback::NodeSignalHelper struct to include a new 'BlueprintContext' field.
- modified FScriptEventPlayback::Process() to handle midstream context switches by updating the Blueprint/Function context on 'Class' and/or 'Instance' signals.
- modified FScriptEventPlayback::Process() to cache and reference the current Blueprint context within the cached NodeSignalHelper while handling processed events.
Change 3002075 on 2016/06/06 by Maciej.Mroz
Improved FScriptBuilderBase::EmitTermExpr in KismetCompilerVMBackend.
Literal expression can be emitted without known desitination property.
#jira UE-28443 Set Boolean (by ref) crashes the editor on compile
Change 3002096 on 2016/06/06 by Ben.Cosh
This change expands the way that the blueprint profiler detects event nodes during mapping to include other non function graphs.
#Jira UE-30716 - Blueprint Profiler crashes if function in another graph is called
#Proj BlueprintProfiler
Change 3002108 on 2016/06/06 by Ben.Cosh
Adds a new default option to average the blueprint level stats in the profiler.
#Jira UE-31386 - BP Profiler - Timings reported with "Show Instances" off (in the tree view) are not averaged
#Proj Kismet, BlueprintProfiler
- The controls were also getting a bit messy so I tidied them all up into a re-usable toolbar for convenience going forward.
Change 3002782 on 2016/06/06 by samuel.proctor
Test assets for Interface testing
Change 3003826 on 2016/06/07 by Ben.Cosh
A few minor visual improvements for the blueprint profiler.
#Proj Kismet, BlueprintProfiler, EditorStyle
- Updated the actor icon to match the world outliner and added some functionality to draw attention to stale/deleted actors.
- Updated the pure node icon.
Change 3004067 on 2016/06/07 by samuel.proctor
New test asset for blueprint interfaces
Change 3004069 on 2016/06/07 by samuel.proctor
Updating asset for Interface testing
Change 3004275 on 2016/06/07 by Ryan.Rauschkolb
Fixed issue where Toggle Comment Bubble button for Reroute nodes would not rever tthe comment bubble to constant visibility
#jira UE-23733
Change 3004329 on 2016/06/07 by Dan.Oconnor
EdGraphPin is no longer a UObject, this will improve load times significantly on projects with large number of blueprints, but content does need to be resaved in order to see the improvement in load time. UObject counts are also greatly reduced.
Change 3004418 on 2016/06/07 by Maciej.Mroz
KismetCompilerVMBackend: Fixed issue, when a byte property has no enum specified (for examle parameter from EqualEqual_ByteByte) but the enum is needed to parse a literal value.
Change 3004496 on 2016/06/07 by Dan.Oconnor
Disabling expensive pin allocation tracking
Change 3004649 on 2016/06/07 by Mike.Beach
Preventing a new warning from being generated on trace point exceptions (trace point exceptions are used to hook into the debugger, and don't represent errors).
#jira UE-31236
Change 3004667 on 2016/06/07 by Dan.Oconnor
Removed my debugging logic
Change 3004848 on 2016/06/07 by Dan.Oconnor
Fix spammy ensure
Change 3004871 on 2016/06/07 by Phillip.Kavan
[UE-24950] No longer including components instanced as default subobjects of and attached to components instanced by construction script in the IWCE component tree view.
change summary:
- modified SSCSEditor::UpdateTree() to exclude child components instanced in native code as "nested" DSOs and parented to non-natively-constructed (e.g. Blueprint) components; these instances are no longer being shown in IWCE in order to avoid confusion, as they're not currently mutable at the instance level, will always be parented to something that is visible in the tree, and they're also not currently shown in the Blueprint editor's component tree view (because they're not stored in the CDO).
- modified FSceneComponentData's ctor to exclude child components instanced in native code as nested DSOs from the AttachedInstancedComponents array; this allows child components instanced as nested DSOs to be disposed of along with the constructed parent instance when re-running construction scripts.
Change 3005203 on 2016/06/07 by Dan.Oconnor
Fix for undo/redo/serialization issues with ed graph pin change. When serialization logic was applied incrementally our attempts to keep LinkedTo symetrical and aggressively clear destroyed nodes caused problems
#jira UE-31750
Change 3005441 on 2016/06/08 by Maciej.Mroz
#jira UE-31625 Crash in nativized Orion
AssembleReferenceTokenStream is called for Dynamic Classes:
- in ConstructDynamicType() (when class is explicitly loaded)
- in __CustomDynamicClassInitialization() (when CDO is created)
Change 3005540 on 2016/06/08 by Ben.Cosh
This adds the ability to track profiler instances between editor and PIE instances and displays the current status through the icon coloring.
#Jira UE-30705 - Blueprint profiler stats lost if instance destroyed during PIE
#Proj BlueprintProfiler, Kismet
- The jira was already fixed but I think this change improves the instance status clarity
Change 3006196 on 2016/06/08 by Dan.Oconnor
Copy/paste logic for pin connections got lost in the shuffle
#jira UE-31747
Change 3006416 on 2016/06/08 by Phillip.Kavan
[UE-31735] Fix potential loss of GetClassDefaults node output pin links on load (due to dependency load order).
change summary:
- modified UK2Node_GetClassDefaults::GetInputClass() to redirect to the generated skeleton class only if it's valid. this ensures that output pins will be reallocated during node reconstruction even if the dependent Blueprint's skeleton class has not yet been generated on load.
Change 3006522 on 2016/06/08 by Dan.Oconnor
Under rare circumstances a deprecated pin comes in that is outered to the transient package
#jira UE-31779
Change 3006576 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
#jira UE-31796
Change 3006610 on 2016/06/08 by Phillip.Kavan
[UE-31743] Fix data loss issue when loading a serialized non-native component class instance that's owned by an Actor-based Blueprint class instance.
change summary:
- modified FObjectInitializer::InitProperties() to disable fast path initialization for non-native class types when the default data does not equate to the non-native CDO (as is also done within the native path). this is necessary because the optimized property list that we generate at load time to support fast path initialization of Blueprint class instances is only applicable to the generated CDO.
Change 3006824 on 2016/06/08 by Dan.Oconnor
More undo/redo fixes, this time fixes for when transaction buffer changes # of pins, thus destabalizing the LinkedTo arrays
#jira UE-31794
Change 3006828 on 2016/06/08 by Dan.Oconnor
Fix for non-editor builds
Change 3006857 on 2016/06/08 by Dan.Oconnor
Investigating shutdown ensure, traced back to a static UEdGraphPin
Change 3006907 on 2016/06/08 by Dan.Oconnor
Noneditor build fix
Change 3006929 on 2016/06/08 by Dan.Oconnor
Deferring DeprecatedPins destruction until after UBlueprint has had a chance to fix up its watched pins, this is a better fix for #jira UE-31779
Change 3007133 on 2016/06/09 by Ben.Cosh
Fix for issue in the profiler asserting creating pins that don't have unique names.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
- I believe this was recently introduced with the changes to UEdGraphPin's
Change 3007964 on 2016/06/09 by Dan.Oconnor
Fix for PinHelpers::UnresolvedPins being left with stale entries by undo/redo
#jira UE-31829
Change 3007996 on 2016/06/09 by Ryan.Rauschkolb
Added 'empty' keyword to Array Clear Node.
#jira UE-12356
Change 3008007 on 2016/06/09 by Ryan.Rauschkolb
Added 'negate' keyword to boolean NOT node
#jira UE-12490
Change 3008011 on 2016/06/09 by Ryan.Rauschkolb
Added Vector2D * Vector2D multiplication node
#jira UE-31503
Change 3008014 on 2016/06/09 by Ryan.Rauschkolb
Fixed Cannot connect Make Array node output to MakeArray input with split pins
#jira UE-28530
Change 3008243 on 2016/06/09 by Dan.Oconnor
Fix for creation of FWeakGraphPinPtr from a pin that had been destroyed, client logic is still a bit broken in the case of the ClassDefaults node, but we're back to 'safe'
#jira UE-31841
Change 3008289 on 2016/06/09 by Dan.Oconnor
Editor transaction saves all state before applying undo/redo buffers when using 'bFlip' flow. This prevents messing with the object graph in the middle of saving state that will be restored later
#jira UE-31794
Change 3008422 on 2016/06/09 by Dan.Oconnor
Correct usage of GIsTransacting, replaced with Ar.IsTransacting() to correctly handle the case where we serialize after transacting but during the transaction (for instance, recompile blueprint in post undo, which we do quite a bit it turns out)
#jira UE-31857
Change 3009164 on 2016/06/10 by Ryan.Rauschkolb
Making changes to default values in the structure editor will now make changes to the structure without rebuilding the default values panel.
#jira UE-21141,UE-23723
Change 3009165 on 2016/06/10 by Ryan.Rauschkolb
Fixed Structure Default value editor collapses after undoing an alteration of a default value
#jira UE-31741
Change 3009181 on 2016/06/10 by Ryan.Rauschkolb
Fixed issue where modifying a default value in a Widget Blueprint would cause the Details Panel to refresh
#jira UE-30014
Change 3009313 on 2016/06/10 by Mike.Beach
Addressing issues with function return nodes in multiple ways:
- Preventing users from deleting return nodes for overriden/inherited functions.
- Also making sure that we create terminals for out params when the return node is disconnected (and pruned).
- Lastly, ensuring that new return nodes adhere to the function's signature (for cases, like where you copy/paste a return node from a different function).
#jira UE-31418
Change 3009595 on 2016/06/10 by Dan.Oconnor
EdGraphPinReference using PinId to resolve itself again, may create issues resolving pins created in compile
#jira UE-31879
Change 3009774 on 2016/06/10 by Dan.Oconnor
Fix for bad logic in RemovePin introduced in 3004329, just a bad reading of the logic, missed an early return
#jira UE-31906
Change 3009988 on 2016/06/10 by Dan.Oconnor
Prefer to use existing pins (based on PinId) when undoing/redoing pin serialization
#jira UE-31888
Change 3010050 on 2016/06/10 by Dan.Oconnor
Fixed missing call to ssuper class's PostEditUndo, fixed UBehaviorTreeGraph::PostEditUndo accessing Pins before they have been resolved
#jira UE-31892
Change 3010071 on 2016/06/10 by Dan.Oconnor
Fix for pasting when owning node has whitespace in result of GetPathName
#jira UE-31898
#coderview Bob.Tellez
Change 3010244 on 2016/06/11 by Dan.Oconnor
Fix for trivial copy/paste error, causes crash when copying/pasting nodes with text default values, part of UE-31870
Change 3010630 on 2016/06/13 by Dan.Oconnor
No longer relying on path name for pin resolution, path is unstable across graphs
#jira UE-31870
Change 3010647 on 2016/06/13 by Dan.Oconnor
PR #2496: Updated KismetMathLibrary comparison descriptions for FDateTime and FTimespan. (Contributed by CelPlays)
#jira UE-31928
Change 3011175 on 2016/06/13 by Ben.Cosh
Updates the Blueprint Profiler so that it can correctly map entry/exit from tunnels based on instance.
#Jira UE-30106 - Compiling QA_PhysVelocitySettleTest with the blueprint profiler results in a crash/assert
#Proj Kismet, BlueprintProfiler
- Ensured that the trace paths contain the macro instance exec nodes
- Selectively update stats in the tunnel exit site nodes based on valid exit sites to prevent cyclic updates.
- Updated the comments in map tunnel entry to spare peoples sanity when trying to understand what that function does.
Change 3011271 on 2016/06/13 by Ben.Cosh
This adds support for inherited blueprint classes to the blueprint profiler.
#Jira UE-31833 - The Blueprint profiler asserts when using a FlipFlop macro.
#Jira UE-31752 - Crash compiling various Orion assets for blueprints profiling, ScriptExecNode.IsValid() failed
#Proj BlueprintProfiler
Change 3011556 on 2016/06/13 by Ryan.Rauschkolb
Fixed Crash when breaking link to a split pin in MakeArray that is an array type
#jira UE-31919
Change 3011624 on 2016/06/13 by Dan.Oconnor
Fix for missing entries in MessageLog's source pin identification map. Bob T had originally populated this correctly, but somehow i lost it while iterating.
#jira UE-31955
Change 3011984 on 2016/06/13 by Dan.Oconnor
Sanitizing parentpin's subpins when destroying a pin
#jira UE-21392
Change 3012894 on 2016/06/14 by Phillip.Kavan
[UE-30922] Ensure that customized defaults are propagated to new instances at construction time during non-Actor-based Blueprint class reinstancing.
change summary:
- modified FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() to use the reinstanced archetype object as the template object during construction of the new instance for non-Actor-based Blueprint class types.
#jira UE-30922
Change 3013037 on 2016/06/14 by Ryan.Rauschkolb
Fixed Crash when connecting to a split pin in a MakeArray node that has no connections
#jira UE-31917
Change 3014846 on 2016/06/15 by Dan.Oconnor
No longer using FText::IsLetter to parse math expression nodes, that function is very slow. $x is now a valid math expression variable name (genereated a compile error prior to this change)
#jira FORT-23753
Change 3015014 on 2016/06/15 by Dan.Oconnor
Removing poorly implement IsLetter function
Change 3015142 on 2016/06/15 by Dan.Oconnor
More intentional about removing subpins, prevents stale iterator on split pin collapse
#jira UE-32072
Change 3016326 on 2016/06/16 by Ryan.Rauschkolb
Fixed MakeArray node does not reset to wildcard when breaking links with split struct pins that have default values
#jira UE-32016
Change 3016494 on 2016/06/16 by Ryan.Rauschkolb
Fixed Crash when dragging a component into the Event Graph that's inherited from a C++ class
#jira UE-31876
Change 3016557 on 2016/06/16 by Dan.Oconnor
Explicit copy/move of string data for FText, removes some redundant copying and object construction/destruction [which could be optimzed away], saves 2-3 seconds in my 80s load asset benchmark
#jira FORT-23753
Change 3016577 on 2016/06/16 by Ryan.Rauschkolb
Fixed compiler warning for hidden member variable in FBlueprintVarActionDetails::GetVariableReplicationType
Change 3016906 on 2016/06/16 by Dan.Oconnor
Back out changelist 3016557
This will be done by Jamie.Dale in Dev-Editor
Change 3018081 on 2016/06/17 by Phillip.Kavan
[UE-31832] PR #2486: Expose UInheritableComponentHandler::GetAllTemplates() outside of editor (Contributed by Bogustus)
#jira UE-31832
Change 3018402 on 2016/06/17 by Dan.Oconnor
Missing include
Change 3018426 on 2016/06/17 by Ryan.Rauschkolb
Fixed MakeArray node with split pins and no connections does not paste correctly
#jira UE-32148
Change 3018452 on 2016/06/17 by Mike.Beach
Moving the patching of instanced sub-objects out of CPFUO (where you can't rely on the target to be a replacement for the source) to FBlueprintEditorUtils::PatchCDOSubobjectsIntoExport(), and making it so PatchCDOSubobjectsIntoExport() is called regularly for Blueprint regeneration (on load).
#jira UE-32158
Change 3018456 on 2016/06/17 by Dan.Oconnor
Fix for static analysis warning, this null check does nothing
Change 3018595 on 2016/06/17 by Mike.Beach
Fix for shadowed variable warning in CIS.
Change 3018699 on 2016/06/17 by Mike.Beach
Making MinimumAreaRectangle callable in Blueprints without world context (which is only needed for debug drawing).
Change 3019734 on 2016/06/20 by Phillip.Kavan
[UE-32064] Clone associated component template(s) when duplicating Blueprint function graphs containing one or more Add Component nodes.
change summary:
- added a UK2Node_AddComponent::PostDuplicate() override
- moved UK2Node_AddComponent::PostPasteNode() logic into a helper method that's now called from both PostDuplicate() and PostPasteNode() overrides.
notes:
- will prevent getting into the scenario described in UE-31831
#jira UE-32064
Change 3020635 on 2016/06/20 by Dan.Oconnor
Fix for bad cast in FCompilerResultsLog::Append, could cause crashes in clients of this function (math expressions nodes occasionally do when they fail to compile)
Change 3020894 on 2016/06/21 by Maciej.Mroz
#2522: Interface UProperties can ExposeOnSpawn (in Blueprints) (Contributed by MichaelSchoell)
Change 3020958 on 2016/06/21 by Ben.Cosh
This improves the way key events are detected in the blueprint profiler, preventing duplicate event entries when pressed and released are both wired. It also catches a bug with the compiler instrumentation flag when compiling.
#Jira UE-32270 - Input key events generate extra instrumentation data per key press
#Jira UE-32266 - Recompiling blueprints with instrumentation can fail to add instrumentation.
#Proj BlueprintProfiler, UnrealEd
Change 3021316 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where Copy/Paste of event nodes would not retain link information
Change 3021826 on 2016/06/21 by Phillip.Kavan
[UE-31831] Fix up AddComponent nodes on load if they are not associated with a unique template object.
change summary:
- added external linkage to UK2Node_AddComponent::MakeNewComponentTemplate(), and switched it to be a public API
- modified FBlueprintEditorUtils::UpdateComponentTemplates() (as this is already called on Blueprint load) to detect/warn and correct non-unique templates
#jira UE-31831
Change 3022047 on 2016/06/21 by Ryan.Rauschkolb
Fixed issue where copy/paste of return nodes would not preserve value or link data
#jira UE-26937
Change 3022619 on 2016/06/22 by Maciej.Mroz
#jira UE-30858 Nativized Orion - Some particle effects are not rendering
A static/persistent information (the mechanism is similar to AssetRegistrySearchable) about DynamicClass is added.
It's necessary since DynamicClasses are not handled as regular assets by AssetRegistry.
Fixed GameplayCueManager. Nativized cues can be found.
This is an early version of the feature. Amount of stored persistent data can be extended (but it would increase memory-usage).
Change 3022654 on 2016/06/22 by Maciej.Mroz
FBackendHelperStaticSearchableValues -fixed too strict ensure
Change 3023067 on 2016/06/22 by Maciej.Mroz
#jira UE-32083 Nativize Blueprints removes blueprint functionality in packaged project
Config settings from super class are not applied (at runtime) to nativized Blueprints . So all "config" properties are filled in constructor.
Change 3023222 on 2016/06/22 by Ryan.Rauschkolb
Fixed MakeArray node elements break when editing struct elements
#jira UE-21392
Change 3023405 on 2016/06/22 by Mike.Beach
Making sure sub-objects get instanced for Blueprint CDOs that had their FObjectInitializer deferred (happens when the super CDO hasn't been fully serialized). By the time the deferred FObjectInitializer is ran, the sub-objects have been assigned a RF_NeedLoad flag (where they normally wouldn't have one right after construction, when the initialization is usually ran).
#jira UE-31897
Change 3023992 on 2016/06/22 by Mike.Beach
Fixed an issue where hovering on/off a reroute node (toggling the comment bubble visibility) would create extraneous undo transactions.
#jira UE-31859
[CL 3025946 by Mike Beach in Main branch]
2016-06-23 19:35:24 -04:00
VarProperty - > PropertyFlags & = ~ ( CPF_DisableEditOnTemplate ) ;
Merging //UE4/Release-4.11 to //UE4/Main (up to CL#2852902)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
2016-02-05 11:54:00 -05:00
}
}
2014-03-14 14:13:41 -04:00
}
}
2014-04-23 20:18:55 -04:00
static void InnerCompileStruct ( UUserDefinedStruct * Struct , const class UEdGraphSchema_K2 * K2Schema , class FCompilerResultsLog & MessageLog )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
check ( Struct ) ;
2014-03-14 14:13:41 -04:00
const int32 ErrorNum = MessageLog . NumErrors ;
2014-04-26 11:11:00 -04:00
Struct - > SetMetaData ( FBlueprintMetadata : : MD_Tooltip , * FStructureEditorUtils : : GetTooltip ( Struct ) ) ;
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
UUserDefinedStructEditorData * EditorData = CastChecked < UUserDefinedStructEditorData > ( Struct - > EditorData ) ;
2014-08-08 11:13:17 -04:00
2014-04-23 20:18:55 -04:00
CreateVariables ( Struct , K2Schema , MessageLog ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 20:18:55 -04:00
Struct - > Bind ( ) ;
Struct - > StaticLink ( true ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 20:18:55 -04:00
if ( Struct - > GetStructureSize ( ) < = 0 )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
LogError (
Struct ,
MessageLog ,
FText : : Format (
LOCTEXT ( " StructurEmpty_ErrorFmt " , " Structure '{0}' is empty " ) ,
FText : : FromString ( Struct - > GetFullName ( ) )
) . ToString ( )
) ;
2014-04-23 20:18:55 -04:00
}
2014-03-14 14:13:41 -04:00
2015-04-08 14:54:45 -04:00
FString DefaultInstanceError ;
EditorData - > RecreateDefaultInstance ( & DefaultInstanceError ) ;
if ( ! DefaultInstanceError . IsEmpty ( ) )
{
LogError ( Struct , MessageLog , DefaultInstanceError ) ;
}
2014-03-14 14:13:41 -04:00
const bool bNoErrorsDuringCompilation = ( ErrorNum = = MessageLog . NumErrors ) ;
2014-04-23 20:18:55 -04:00
Struct - > Status = bNoErrorsDuringCompilation ? EUserDefinedStructureStatus : : UDSS_UpToDate : EUserDefinedStructureStatus : : UDSS_Error ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 20:18:55 -04:00
static bool ShouldBeCompiled ( const UUserDefinedStruct * Struct )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
if ( Struct & & ( EUserDefinedStructureStatus : : UDSS_UpToDate = = Struct - > Status ) )
2014-03-14 14:13:41 -04:00
{
return false ;
}
return true ;
}
2014-06-24 15:14:30 -04:00
static void BuildDependencyMapAndCompile ( const TArray < UUserDefinedStruct * > & ChangedStructs , FCompilerResultsLog & MessageLog )
2014-03-14 14:13:41 -04:00
{
struct FDependencyMapEntry
{
2014-04-23 20:18:55 -04:00
UUserDefinedStruct * Struct ;
TSet < UUserDefinedStruct * > StructuresToWaitFor ;
2014-03-14 14:13:41 -04:00
FDependencyMapEntry ( ) : Struct ( NULL ) { }
2014-06-24 15:14:30 -04:00
void Initialize ( UUserDefinedStruct * ChangedStruct , const TArray < UUserDefinedStruct * > & AllChangedStructs )
2014-03-14 14:13:41 -04:00
{
Struct = ChangedStruct ;
2014-04-23 20:18:55 -04:00
check ( Struct ) ;
2014-03-14 14:13:41 -04:00
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
for ( FStructVariableDescription & VarDesc : FStructureEditorUtils : : GetVarDesc ( Struct ) )
2014-03-14 14:13:41 -04:00
{
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
UUserDefinedStruct * StructType = Cast < UUserDefinedStruct > ( VarDesc . SubCategoryObject . Get ( ) ) ;
if ( StructType & & ( VarDesc . Category = = UEdGraphSchema_K2 : : PC_Struct ) & & AllChangedStructs . Contains ( StructType ) )
2014-03-14 14:13:41 -04:00
{
StructuresToWaitFor . Add ( StructType ) ;
}
}
}
} ;
TArray < FDependencyMapEntry > DependencyMap ;
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
for ( UUserDefinedStruct * ChangedStruct : ChangedStructs )
2014-03-14 14:13:41 -04:00
{
DependencyMap . Add ( FDependencyMapEntry ( ) ) ;
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
DependencyMap . Last ( ) . Initialize ( ChangedStruct , ChangedStructs ) ;
2014-03-14 14:13:41 -04:00
}
while ( DependencyMap . Num ( ) )
{
int32 StructureToCompileIndex = INDEX_NONE ;
for ( int32 EntryIndex = 0 ; EntryIndex < DependencyMap . Num ( ) ; + + EntryIndex )
{
if ( 0 = = DependencyMap [ EntryIndex ] . StructuresToWaitFor . Num ( ) )
{
StructureToCompileIndex = EntryIndex ;
break ;
}
}
check ( INDEX_NONE ! = StructureToCompileIndex ) ;
2014-04-23 20:18:55 -04:00
UUserDefinedStruct * Struct = DependencyMap [ StructureToCompileIndex ] . Struct ;
check ( Struct ) ;
2014-03-14 14:13:41 -04:00
2015-07-09 06:02:04 -04:00
FUserDefinedStructureCompilerInner : : CleanAndSanitizeStruct ( Struct ) ;
2014-04-23 20:18:55 -04:00
FUserDefinedStructureCompilerInner : : InnerCompileStruct ( Struct , GetDefault < UEdGraphSchema_K2 > ( ) , MessageLog ) ;
2014-03-14 14:13:41 -04:00
DependencyMap . RemoveAtSwap ( StructureToCompileIndex ) ;
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
for ( FDependencyMapEntry & MapEntry : DependencyMap )
2014-03-14 14:13:41 -04:00
{
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
MapEntry . StructuresToWaitFor . Remove ( Struct ) ;
2014-03-14 14:13:41 -04:00
}
}
}
} ;
2014-04-23 20:18:55 -04:00
void FUserDefinedStructureCompilerUtils : : CompileStruct ( class UUserDefinedStruct * Struct , class FCompilerResultsLog & MessageLog , bool bForceRecompile )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
if ( FStructureEditorUtils : : UserDefinedStructEnabled ( ) & & Struct )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
TArray < UUserDefinedStruct * > ChangedStructs ;
if ( FUserDefinedStructureCompilerInner : : ShouldBeCompiled ( Struct ) | | bForceRecompile )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:18:55 -04:00
ChangedStructs . Add ( Struct ) ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
TMap < UBlueprint * , FUserDefinedStructureCompilerInner : : FBlueprintUserStructData > BlueprintsToRecompile ;
2014-03-14 14:13:41 -04:00
for ( int32 StructIdx = 0 ; StructIdx < ChangedStructs . Num ( ) ; + + StructIdx )
{
2014-06-24 15:14:30 -04:00
UUserDefinedStruct * ChangedStruct = ChangedStructs [ StructIdx ] ;
if ( ChangedStruct )
{
2014-08-21 06:38:07 -04:00
FStructureEditorUtils : : BroadcastPreChange ( ChangedStruct ) ;
2014-06-24 15:14:30 -04:00
FUserDefinedStructureCompilerInner : : ReplaceStructWithTempDuplicate ( ChangedStruct , BlueprintsToRecompile , ChangedStructs ) ;
ChangedStruct - > Status = EUserDefinedStructureStatus : : UDSS_Dirty ;
}
2014-03-14 14:13:41 -04:00
}
// COMPILE IN PROPER ORDER
FUserDefinedStructureCompilerInner : : BuildDependencyMapAndCompile ( ChangedStructs , MessageLog ) ;
2014-04-23 20:18:55 -04:00
// UPDATE ALL THINGS DEPENDENT ON COMPILED STRUCTURES
2021-04-15 16:21:06 -04:00
TSet < UScriptStruct * > ChangedStructsSet ;
ChangedStructsSet . Reserve ( ChangedStructs . Num ( ) ) ;
Algo : : Copy ( ChangedStructs , ChangedStructsSet ) ;
2015-07-09 06:02:04 -04:00
TSet < UBlueprint * > BlueprintsThatHaveBeenRecompiled ;
2021-04-15 16:21:06 -04:00
FBlueprintEditorUtils : : FindScriptStructsInNodes ( ChangedStructsSet , [ & BlueprintsThatHaveBeenRecompiled , & BlueprintsToRecompile ] ( UBlueprint * Blueprint , UK2Node * Node )
2014-06-18 14:52:35 -04:00
{
2020-10-22 19:19:16 -04:00
// We need to recombine any nested subpins on this node, otherwise there will be an
// unexpected amount of pins during reconstruction.
2021-04-15 16:21:06 -04:00
FBlueprintEditorUtils : : RecombineNestedSubPins ( Node ) ;
if ( Blueprint )
2020-10-22 19:19:16 -04:00
{
2014-06-18 14:52:35 -04:00
// The blueprint skeleton needs to be updated before we reconstruct the node
// or else we may have member references that point to the old skeleton
2021-04-15 16:21:06 -04:00
if ( ! BlueprintsThatHaveBeenRecompiled . Contains ( Blueprint ) )
2014-06-18 14:52:35 -04:00
{
2021-04-15 16:21:06 -04:00
BlueprintsThatHaveBeenRecompiled . Add ( Blueprint ) ;
BlueprintsToRecompile . Remove ( Blueprint ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
// Reapply CDO data
2021-04-15 16:21:06 -04:00
FBlueprintEditorUtils : : MarkBlueprintAsStructurallyModified ( Blueprint ) ;
2014-06-18 14:52:35 -04:00
}
Node - > ReconstructNode ( ) ;
}
2014-03-14 14:13:41 -04:00
}
2021-04-15 16:21:06 -04:00
) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
for ( TPair < UBlueprint * , FUserDefinedStructureCompilerInner : : FBlueprintUserStructData > & Pair : BlueprintsToRecompile )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3803685)
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
2017-12-12 12:16:37 -05:00
FBlueprintEditorUtils : : MarkBlueprintAsStructurallyModified ( Pair . Key ) ;
2014-03-14 14:13:41 -04:00
}
2014-06-24 15:14:30 -04:00
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
for ( UUserDefinedStruct * ChangedStruct : ChangedStructs )
2014-06-24 15:14:30 -04:00
{
if ( ChangedStruct )
{
2014-08-21 06:38:07 -04:00
FStructureEditorUtils : : BroadcastPostChange ( ChangedStruct ) ;
2014-06-24 15:14:30 -04:00
ChangedStruct - > MarkPackageDirty ( ) ;
}
}
2014-03-14 14:13:41 -04:00
}
}
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
# undef LOCTEXT_NAMESPACE