2016-01-07 08:17:16 -05:00
|
|
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
2015-09-03 18:09:31 -04:00
|
|
|
|
|
|
|
|
#include "BlueprintNativeCodeGenPCH.h"
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
#include "AssetRegistryModule.h"
|
|
|
|
|
#include "BlueprintNativeCodeGenManifest.h"
|
|
|
|
|
#include "BlueprintNativeCodeGenModule.h"
|
|
|
|
|
#include "BlueprintNativeCodeGenUtils.h"
|
|
|
|
|
#include "IBlueprintCompilerCppBackendModule.h"
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
#include "Engine/Blueprint.h" // for EBlueprintType
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
* NativizationCookControllerImpl
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
|
|
namespace NativizationCookControllerImpl
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
// If you change this plugin name you must update logic in CookCommand.Automation.cs
|
|
|
|
|
static const TCHAR* DefaultPluginName = TEXT("NativizedAssets");
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
* FBlueprintNativeCodeGenModule
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
|
|
class FBlueprintNativeCodeGenModule : public IBlueprintNativeCodeGenModule
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
, public IBlueprintNativeCodeGenCore
|
2015-09-03 18:09:31 -04:00
|
|
|
{
|
|
|
|
|
public:
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
FBlueprintNativeCodeGenModule()
|
2015-09-03 18:09:31 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
//~ Begin IBlueprintNativeCodeGenModule interface
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
virtual void Convert(UPackage* Package, ESavePackageResult ReplacementType, const TCHAR* PlatformName) override;
|
|
|
|
|
virtual void SaveManifest(int32 Id = -1) override;
|
|
|
|
|
virtual void MergeManifest(int32 ManifestIdentifier) override;
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
virtual void FinalizeManifest() override;
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
protected:
|
|
|
|
|
virtual void Initialize(const FNativeCodeGenInitData& InitData) override;
|
|
|
|
|
virtual void InitializeForRerunDebugOnly(const TArray< TPair< FString, FString > >& CodegenTargets) override;
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
//~ End IBlueprintNativeCodeGenModule interface
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
//~ Begin FScriptCookReplacmentCoordinator interface
|
|
|
|
|
virtual EReplacementResult IsTargetedForReplacement(const UPackage* Package) const override;
|
|
|
|
|
virtual EReplacementResult IsTargetedForReplacement(const UObject* Object) const override;
|
|
|
|
|
virtual UClass* FindReplacedClass(const UClass* Class) const override;
|
|
|
|
|
//~ End FScriptCookReplacmentCoordinator interface
|
|
|
|
|
private:
|
|
|
|
|
FBlueprintNativeCodeGenManifest& GetManifest(const TCHAR* PlatformName);
|
|
|
|
|
|
|
|
|
|
TMap< FString, TUniquePtr<FBlueprintNativeCodeGenManifest> > Manifests;
|
|
|
|
|
|
|
|
|
|
TArray<FString> ExcludedAssetTypes;
|
|
|
|
|
TArray<FString> ExcludedBlueprintTypes;
|
|
|
|
|
TArray<FString> TargetPlatformNames;
|
2015-09-03 18:09:31 -04:00
|
|
|
};
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
void FBlueprintNativeCodeGenModule::Initialize(const FNativeCodeGenInitData& InitData)
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
GConfig->GetArray(TEXT("BlueprintNativizationSettings"), TEXT("ExcludedAssetTypes"), ExcludedAssetTypes, GEditorIni);
|
|
|
|
|
GConfig->GetArray(TEXT("BlueprintNativizationSettings"), TEXT("ExcludedBlueprintTypes"), ExcludedBlueprintTypes, GEditorIni);
|
|
|
|
|
|
|
|
|
|
IBlueprintNativeCodeGenCore::Register(this);
|
|
|
|
|
|
|
|
|
|
// Each platform will need a manifest, because each platform could cook different assets:
|
|
|
|
|
for (auto& Platform : InitData.CodegenTargets)
|
|
|
|
|
{
|
|
|
|
|
const TCHAR* TargetDirectory = *Platform.Value;
|
|
|
|
|
FString OutputPath = FPaths::Combine(TargetDirectory, NativizationCookControllerImpl::DefaultPluginName);
|
|
|
|
|
|
|
|
|
|
Manifests.Add(FString(*Platform.Key), TUniquePtr<FBlueprintNativeCodeGenManifest>(new FBlueprintNativeCodeGenManifest(NativizationCookControllerImpl::DefaultPluginName, OutputPath)));
|
|
|
|
|
|
|
|
|
|
TargetPlatformNames.Add(Platform.Key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IBlueprintCompilerCppBackendModule& BackEndModule = (IBlueprintCompilerCppBackendModule&)IBlueprintCompilerCppBackendModule::Get();
|
|
|
|
|
auto& ConversionQueryDelegate = BackEndModule.OnIsTargetedForConversionQuery();
|
|
|
|
|
auto ShouldConvert = [](const UObject* AssetObj)
|
|
|
|
|
{
|
|
|
|
|
if (IBlueprintNativeCodeGenCore::Get())
|
|
|
|
|
{
|
|
|
|
|
EReplacementResult ReplacmentResult = IBlueprintNativeCodeGenCore::Get()->IsTargetedForReplacement(AssetObj);
|
|
|
|
|
return ReplacmentResult == EReplacementResult::ReplaceCompletely;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
};
|
|
|
|
|
ConversionQueryDelegate.BindStatic(ShouldConvert);
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
void FBlueprintNativeCodeGenModule::InitializeForRerunDebugOnly(const TArray< TPair< FString, FString > >& CodegenTargets)
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
for (const auto& Platform : CodegenTargets)
|
|
|
|
|
{
|
|
|
|
|
// load the old manifest:
|
|
|
|
|
const TCHAR* TargetDirectory = *Platform.Value;
|
|
|
|
|
FString OutputPath = FPaths::Combine(TargetDirectory, NativizationCookControllerImpl::DefaultPluginName, *FBlueprintNativeCodeGenPaths::GetDefaultManifestPath());
|
|
|
|
|
Manifests.Add(FString(*Platform.Key), TUniquePtr<FBlueprintNativeCodeGenManifest>(new FBlueprintNativeCodeGenManifest(FPaths::ConvertRelativePathToFull(OutputPath))));
|
|
|
|
|
//FBlueprintNativeCodeGenManifest OldManifest(FPaths::ConvertRelativePathToFull(OutputPath));
|
|
|
|
|
// reconvert every assets listed in the manifest:
|
|
|
|
|
for (const auto& ConversionTarget : GetManifest(*Platform.Key).GetConversionRecord())
|
|
|
|
|
{
|
|
|
|
|
// load the package:
|
|
|
|
|
UPackage* Package = LoadPackage(nullptr, *ConversionTarget.Value.TargetObjPath, LOAD_None);
|
|
|
|
|
|
|
|
|
|
// reconvert it:
|
|
|
|
|
Convert(Package, ESavePackageResult::ReplaceCompletely, *Platform.Key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// reconvert every unconverted dependency listed in the manifest:
|
|
|
|
|
for (const auto& ConversionTarget : GetManifest(*Platform.Key).GetUnconvertedDependencies())
|
|
|
|
|
{
|
|
|
|
|
// load the package:
|
|
|
|
|
UPackage* Package = LoadPackage(nullptr, *ConversionTarget.Key.GetPlainNameString(), LOAD_None);
|
|
|
|
|
|
|
|
|
|
// reconvert it:
|
|
|
|
|
Convert(Package, ESavePackageResult::GenerateStub, *Platform.Key);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FBlueprintNativeCodeGenManifest& FBlueprintNativeCodeGenModule::GetManifest(const TCHAR* PlatformName)
|
|
|
|
|
{
|
|
|
|
|
FString PlatformNameStr(PlatformName);
|
|
|
|
|
TUniquePtr<FBlueprintNativeCodeGenManifest>* Result = Manifests.Find(PlatformNameStr);
|
|
|
|
|
check(Result->IsValid());
|
|
|
|
|
return **Result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FBlueprintNativeCodeGenModule::Convert(UPackage* Package, ESavePackageResult CookResult, const TCHAR* PlatformName)
|
|
|
|
|
{
|
|
|
|
|
if (CookResult != ESavePackageResult::ReplaceCompletely && CookResult != ESavePackageResult::GenerateStub)
|
|
|
|
|
{
|
|
|
|
|
// nothing to convert
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
// Find the struct/enum to convert:
|
|
|
|
|
UStruct* Struct = nullptr;
|
|
|
|
|
UEnum* Enum = nullptr;
|
|
|
|
|
TArray<UObject*> Objects;
|
|
|
|
|
GetObjectsWithOuter(Package, Objects, false);
|
|
|
|
|
for (auto Entry : Objects)
|
|
|
|
|
{
|
|
|
|
|
if (Entry->HasAnyFlags(RF_Transient))
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Struct = Cast<UStruct>(Entry);
|
|
|
|
|
if (Struct)
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Enum = Cast<UEnum>(Entry);
|
|
|
|
|
if (Enum)
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Struct == nullptr && Enum == nullptr)
|
|
|
|
|
{
|
|
|
|
|
check(false);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
IBlueprintCompilerCppBackendModule& BackEndModule = (IBlueprintCompilerCppBackendModule&)IBlueprintCompilerCppBackendModule::Get();
|
|
|
|
|
auto& BackendPCHQuery = BackEndModule.OnPCHFilenameQuery();
|
|
|
|
|
|
|
|
|
|
FBlueprintNativeCodeGenPaths TargetPaths = GetManifest(PlatformName).GetTargetPaths();
|
|
|
|
|
BackendPCHQuery.BindLambda([TargetPaths]()->FString
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
return TargetPaths.RuntimePCHFilename();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const IAssetRegistry& Registry = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry").Get();
|
|
|
|
|
|
|
|
|
|
if (CookResult == ESavePackageResult::GenerateStub)
|
|
|
|
|
{
|
|
|
|
|
FAssetData AssetInfo = Registry.GetAssetByObjectPath(*Struct->GetPathName());
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
FString FileContents;
|
|
|
|
|
TUniquePtr<IBlueprintCompilerCppBackend> Backend_CPP(IBlueprintCompilerCppBackendModuleInterface::Get().Create());
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
// Apparently we can only generate wrappers for classes, so any logic that results in non classes requesting
|
|
|
|
|
// wrappers will fail here:
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
FileContents = Backend_CPP->GenerateWrapperForClass(CastChecked<UClass>(Struct));
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
if (!FileContents.IsEmpty())
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
FFileHelper::SaveStringToFile(FileContents, *(GetManifest(PlatformName).CreateUnconvertedDependencyRecord(AssetInfo.PackageName, AssetInfo).GeneratedWrapperPath));
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
// The stub we generate still may have dependencies on other modules, so make sure the module dependencies are
|
|
|
|
|
// still recorded so that the .build.cs is generated correctly. Without this you'll get include related errors
|
|
|
|
|
// (or possibly linker errors) in stub headers:
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
GetManifest(PlatformName).GatherModuleDependencies(Package);
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
check(CookResult == ESavePackageResult::ReplaceCompletely);
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
// convert:
|
|
|
|
|
UField* ForConversion = Enum;
|
|
|
|
|
if (ForConversion == nullptr)
|
|
|
|
|
{
|
|
|
|
|
ForConversion = Struct;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FAssetData AssetInfo = Registry.GetAssetByObjectPath(*ForConversion->GetPathName());
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
FConvertedAssetRecord& ConversionRecord = GetManifest(PlatformName).CreateConversionRecord(*ForConversion->GetPathName(), AssetInfo);
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
TSharedPtr<FString> HeaderSource(new FString());
|
|
|
|
|
TSharedPtr<FString> CppSource(new FString());
|
|
|
|
|
|
|
|
|
|
FBlueprintNativeCodeGenUtils::GenerateCppCode(ForConversion, HeaderSource, CppSource);
|
|
|
|
|
bool bSuccess = !HeaderSource->IsEmpty() || !CppSource->IsEmpty();
|
|
|
|
|
// Run the cpp first, because we cue off of the presence of a header for a valid conversion record (see
|
|
|
|
|
// FConvertedAssetRecord::IsValid)
|
|
|
|
|
if (!CppSource->IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
if (!FFileHelper::SaveStringToFile(*CppSource, *ConversionRecord.GeneratedCppPath))
|
|
|
|
|
{
|
|
|
|
|
bSuccess &= false;
|
|
|
|
|
ConversionRecord.GeneratedCppPath.Empty();
|
|
|
|
|
}
|
|
|
|
|
CppSource->Empty(CppSource->Len());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ConversionRecord.GeneratedCppPath.Empty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bSuccess && !HeaderSource->IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
if (!FFileHelper::SaveStringToFile(*HeaderSource, *ConversionRecord.GeneratedHeaderPath))
|
|
|
|
|
{
|
|
|
|
|
bSuccess &= false;
|
|
|
|
|
ConversionRecord.GeneratedHeaderPath.Empty();
|
|
|
|
|
}
|
|
|
|
|
HeaderSource->Empty(HeaderSource->Len());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ConversionRecord.GeneratedHeaderPath.Empty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
check(bSuccess);
|
|
|
|
|
if (bSuccess)
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
GetManifest(PlatformName).GatherModuleDependencies(Package);
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
}
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
|
|
|
|
|
BackendPCHQuery.Unbind();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FBlueprintNativeCodeGenModule::SaveManifest(int32 Id )
|
|
|
|
|
{
|
|
|
|
|
for (auto& PlatformName : TargetPlatformNames)
|
|
|
|
|
{
|
|
|
|
|
GetManifest(*PlatformName).Save(Id);
|
|
|
|
|
}
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
void FBlueprintNativeCodeGenModule::MergeManifest(int32 ManifestIdentifier)
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
for (auto& PlatformName : TargetPlatformNames)
|
|
|
|
|
{
|
|
|
|
|
FBlueprintNativeCodeGenManifest& CurrentManifest = GetManifest(*PlatformName);
|
|
|
|
|
FBlueprintNativeCodeGenManifest OtherManifest = FBlueprintNativeCodeGenManifest(CurrentManifest.GetTargetPaths().ManifestFilePath() + FString::FromInt(ManifestIdentifier));
|
|
|
|
|
CurrentManifest.Merge(OtherManifest);
|
|
|
|
|
}
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FBlueprintNativeCodeGenModule::FinalizeManifest()
|
|
|
|
|
{
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
for(auto& PlatformName : TargetPlatformNames)
|
|
|
|
|
{
|
|
|
|
|
GetManifest(*PlatformName).Save(-1);
|
|
|
|
|
check(FBlueprintNativeCodeGenUtils::FinalizePlugin(GetManifest(*PlatformName)));
|
|
|
|
|
}
|
|
|
|
|
}
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2781504 on 2015/11/25 by Mike.Beach
Guarding against invalid nodes for deferred graph node actions (add, remove, select), by using TWeakObjectPtr instead of raw UEdGraphNode pointers.
#jira UE-23371
#codereview Dan.OConnor
Change 2781513 on 2015/11/25 by Michael.Schoell
Find-in-Blueprints optimized gathering.
Size of data has shrunk in the Asset Registry by up to one fifth the old size!
Performance moderately improved.
Load and save times of Blueprints increased, less redundant gathering of searchable data.
#jira UE-22928 - Optimize Find-in-Blueprints Gathering of Searchable Data
Change 2781517 on 2015/11/25 by Michael.Schoell
Marked FTimerHandle::Handle as a UPROPERTY(transient) so that Blueprints can check the equality of two instances of the structure.
#jira UE-23136 - Remove Item Node Removes All Objects in an Array
Change 2781804 on 2015/11/26 by Maciej.Mroz
Changed ConformImplementedEvents.
#jira UE-23738 BP_RiftMage_Ultimate fails to convert during cooking
#codereview Phillip.Kavan, Mike.Beach
Change 2781821 on 2015/11/26 by Ben.Cosh
This reinstates the blueprint debugging keymaps and adds additional functionality for step over and step out as key maps in the PIE world controls.
#UEBP-66 - Blueprint debug keymappings
#UE-16817 - Add step-in, step-over, and run until here functions for breakpoints
#UE-12481 - The F10 key doesn't work for stepping blueprint debugging
#Branch UE4
#Proj GraphEditor, Kismet, UnrealEd, CoreUObject, Slate
reviewedby chris.wood
Change 2781861 on 2015/11/26 by Maciej.Mroz
UE-23626 Converted tower defense game - you cannot click to place towers
CodeGenerator generates overriden exported names for events and functions.
#codereview Dan.Oconnor, Steve.Robb
Change 2782798 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: components from SCS calls AttachTo (with ParentSocket parameter).
#jira UE-23862 Pawns in TowerDefenseGame don't move in converted build
#codereview Phillip.Kavan, Mike.Beach, Dan.Oconnor
Change 2782881 on 2015/11/30 by Michael.Schoell
Fixed ensure when promoting function graphs from interfaces during interface removal.
#jira UE-23717 - Ensure removing an implemented interface when transfering functions
Change 2783041 on 2015/11/30 by Maciej.Mroz
BP C++ conversion: All variables from Event Graph are listed as class properties.
#jira UE-23629 Converted tower defense game - Cam scrolls to upper left when mouse leaves window
#codereview Mike.Beach, Dan.Oconnor
Change 2783080 on 2015/11/30 by Michael.Schoell
Removing an interface function's output parameters will no longer cause Blueprints implementing the function to error.
Functions expected as event overrides will accept function graph implementations and give a warning informing that it is unexpected.
All function graphs (interfaces, interface implementations, overrides) can be duplicated. Parent function calls will be removed.
Duplicating graphs will correct names of objects in child Blueprints.
Function overrides of interfaces expected as an event can be deleted.
Duplicating graphs while in PIE is no longer possible.
When removing an interface, the operation can now be canceled.
#jira UE-13335 - Inside a BP Interface, changing a Function output to an input will cause a compile error in the reference bp
Change 2783338 on 2015/11/30 by Michael.Schoell
New output pins on function result nodes will properly fill out with valid default values.
All invalid pins will auto-validate themselves on node reconstruction when opening the Blueprint.
#jira UE-1928 - BLUEPRINTS: Default value not supplied for output parameters of function
Change 2783742 on 2015/11/30 by Phillip.Kavan
[UE-15463] Add special-case handling for failed imports of BPGC-owned component archetype objects on level load.
change summary:
- modified FLinkerLoad::VerifyImport() to customize the load error messaging for missing component archetype objects
Change 2784652 on 2015/12/01 by Ben.Cosh
Fix for crash whilst undoing the creation of a macro and currently displaying the tooltip in the blueprint editor.
#UE-23955 - Adding a macro graph through MyBlueprint and then calling undo causes a crash updating the macro tooltip.
#Branch UE4
#Proj Kismet
#CodeReview Chris.Wood
Change 2784834 on 2015/12/01 by Michael.Schoell
Added functions to convert from string to: Vector, Vector2D, Rotator, Color.
#jira UE-23761 - GitHub 1795 : [KismetStringLibrary] Convert String Back Into Vector, Rotator, Float, Adding Support for 2 way conversion! ? Rama
PR #1795
2015-12-16 17:17:43 -05:00
|
|
|
UClass* FBlueprintNativeCodeGenModule::FindReplacedClass(const UClass* Class) const
|
|
|
|
|
{
|
|
|
|
|
// we're only looking to replace class types:
|
|
|
|
|
while (Class)
|
|
|
|
|
{
|
|
|
|
|
if (Class == UUserDefinedEnum::StaticClass())
|
|
|
|
|
{
|
|
|
|
|
return UEnum::StaticClass();
|
|
|
|
|
}
|
|
|
|
|
if (Class == UUserDefinedStruct::StaticClass())
|
|
|
|
|
{
|
|
|
|
|
return UScriptStruct::StaticClass();
|
|
|
|
|
}
|
|
|
|
|
if (Class == UBlueprintGeneratedClass::StaticClass())
|
|
|
|
|
{
|
|
|
|
|
return UDynamicClass::StaticClass();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Class = Class->GetSuperClass();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EReplacementResult FBlueprintNativeCodeGenModule::IsTargetedForReplacement(const UPackage* Package) const
|
|
|
|
|
{
|
|
|
|
|
// non-native packages with enums and structs should be converted, unless they are blacklisted:
|
|
|
|
|
UStruct* Struct = nullptr;
|
|
|
|
|
UEnum* Enum = nullptr;
|
|
|
|
|
TArray<UObject*> Objects;
|
|
|
|
|
GetObjectsWithOuter(Package, Objects, false);
|
|
|
|
|
for (auto Entry : Objects)
|
|
|
|
|
{
|
|
|
|
|
Struct = Cast<UStruct>(Entry);
|
|
|
|
|
Enum = Cast<UEnum>(Entry);
|
|
|
|
|
if (Struct || Enum)
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UObject* Target = Struct;
|
|
|
|
|
if (Target == nullptr)
|
|
|
|
|
{
|
|
|
|
|
Target = Enum;
|
|
|
|
|
}
|
|
|
|
|
return IsTargetedForReplacement(Target);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EReplacementResult FBlueprintNativeCodeGenModule::IsTargetedForReplacement(const UObject* Object) const
|
|
|
|
|
{
|
|
|
|
|
const UStruct* Struct = Cast<UStruct>(Object);
|
|
|
|
|
const UEnum* Enum = Cast<UEnum>(Object);
|
|
|
|
|
|
|
|
|
|
if (Struct == nullptr && Enum == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return EReplacementResult::DontReplace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (const UClass* BlueprintClass = Cast<UClass>(Struct))
|
|
|
|
|
{
|
|
|
|
|
if (UBlueprint* Blueprint = Cast<UBlueprint>(BlueprintClass->ClassGeneratedBy))
|
|
|
|
|
{
|
|
|
|
|
const EBlueprintType UnconvertableBlueprintTypes[] = {
|
|
|
|
|
//BPTYPE_Const, // WTF is a "const" Blueprint?
|
|
|
|
|
BPTYPE_MacroLibrary,
|
|
|
|
|
BPTYPE_LevelScript,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
EBlueprintType BlueprintType = Blueprint->BlueprintType;
|
|
|
|
|
for (int32 TypeIndex = 0; TypeIndex < ARRAY_COUNT(UnconvertableBlueprintTypes); ++TypeIndex)
|
|
|
|
|
{
|
|
|
|
|
if (BlueprintType == UnconvertableBlueprintTypes[TypeIndex])
|
|
|
|
|
{
|
|
|
|
|
return EReplacementResult::DontReplace;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
auto IsObjectFromDeveloperPackage = [](const UObject* Obj) -> bool
|
|
|
|
|
{
|
|
|
|
|
return Obj && Obj->GetOutermost()->HasAllPackagesFlags(PKG_Developer);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
auto IsDeveloperObject = [&](const UObject* Obj) -> bool
|
|
|
|
|
{
|
|
|
|
|
if (Obj)
|
|
|
|
|
{
|
|
|
|
|
if (IsObjectFromDeveloperPackage(Obj))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
const UStruct* StructToTest = Obj->IsA<UStruct>() ? CastChecked<const UStruct>(Obj) : Obj->GetClass();
|
|
|
|
|
for (; StructToTest; StructToTest = StructToTest->GetSuperStruct())
|
|
|
|
|
{
|
|
|
|
|
if (IsObjectFromDeveloperPackage(StructToTest))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (Object && (IsEditorOnlyObject(Object) || IsDeveloperObject(Object)))
|
|
|
|
|
{
|
|
|
|
|
UE_LOG(LogBlueprintCodeGen, Warning, TEXT("Object %s depends on Editor or Development stuff. Is shouldn't be cooked."), *GetPathNameSafe(Object));
|
|
|
|
|
return EReplacementResult::DontReplace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// check blacklists:
|
|
|
|
|
// we can't use FindObject, because we may be converting a type while saving
|
|
|
|
|
if ((Struct && ExcludedAssetTypes.Find(Struct->GetPathName()) != INDEX_NONE) ||
|
|
|
|
|
(Enum && ExcludedAssetTypes.Find(Enum->GetPathName()) != INDEX_NONE))
|
|
|
|
|
{
|
|
|
|
|
return EReplacementResult::GenerateStub;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EReplacementResult Result = EReplacementResult::ReplaceCompletely;
|
|
|
|
|
while (Struct)
|
|
|
|
|
{
|
|
|
|
|
// This happens because the cooker incorrectly cooks editor only packages. Specifically happens for the blackjack sample
|
|
|
|
|
// project due to a FStringAssetReference in BaseEditor.ini:
|
|
|
|
|
if (Struct->RootPackageHasAnyFlags(PKG_EditorOnly))
|
|
|
|
|
{
|
|
|
|
|
return EReplacementResult::DontReplace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (ExcludedBlueprintTypes.Find(Struct->GetPathName()) != INDEX_NONE)
|
|
|
|
|
{
|
|
|
|
|
Result = EReplacementResult::GenerateStub;
|
|
|
|
|
}
|
|
|
|
|
Struct = Struct->GetSuperStruct();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Result;
|
Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE(FBlueprintNativeCodeGenModule, BlueprintNativeCodeGen);
|