You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
========================== 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
87 lines
3.0 KiB
C++
87 lines
3.0 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ModuleInterface.h"
|
|
#include "Paths.h" // for GetCleanFilename()
|
|
#include "ModuleManager.h" // for GetModuleChecked<>
|
|
#include "Blueprint/BlueprintSupport.h"
|
|
|
|
struct FNativeCodeGenInitData
|
|
{
|
|
// This is an array of pairs, the pairs are PlatformName/PlatformTargetDirectory. These
|
|
// are determined by the cooker:
|
|
TArray< TPair< FString, FString > > CodegenTargets;
|
|
|
|
// Optional Manifest ManifestIdentifier, used for child cook processes that need a unique manifest name.
|
|
// The identifier is used to make a unique name for each platform that is converted.
|
|
int32 ManifestIdentifier;
|
|
};
|
|
|
|
/**
|
|
*
|
|
*/
|
|
class IBlueprintNativeCodeGenModule : public IModuleInterface
|
|
{
|
|
public:
|
|
FORCEINLINE static void InitializeModule(const FNativeCodeGenInitData& InitData);
|
|
|
|
/**
|
|
* Utility function to reconvert all assets listed in a manifest, used to make fixes to
|
|
* the code generator itself and quickly test them with an already converted project.
|
|
*
|
|
* Not for use with any kind of incremental cooking.
|
|
*/
|
|
FORCEINLINE static void InitializeModuleForRerunDebugOnly(const TArray< TPair< FString, FString > >& CodegenTargets);
|
|
|
|
/**
|
|
* Wrapper function that retrieves the interface to this module from the
|
|
* module-manager (so we can keep dependent code free of hardcoded strings,
|
|
* used to lookup this module by name).
|
|
*
|
|
* @return A reference to this module interface (a singleton).
|
|
*/
|
|
static IBlueprintNativeCodeGenModule& Get()
|
|
{
|
|
return FModuleManager::LoadModuleChecked<IBlueprintNativeCodeGenModule>(GetModuleName());
|
|
}
|
|
|
|
static bool IsNativeCodeGenModuleLoaded()
|
|
{
|
|
return FModuleManager::Get().IsModuleLoaded(GetModuleName());
|
|
}
|
|
|
|
/**
|
|
* Creates a centralized point where the name of this module is supplied
|
|
* from (so we can avoid littering code with hardcoded strings that
|
|
* all reference this module - in case we want to rename it).
|
|
*
|
|
* @return The name of the module that this file is part of.
|
|
*/
|
|
static FName GetModuleName()
|
|
{
|
|
return TEXT("BlueprintNativeCodeGen");
|
|
}
|
|
|
|
virtual void Convert(UPackage* Package, ESavePackageResult ReplacementType, const TCHAR* PlatformName) = 0;
|
|
virtual void SaveManifest(int32 Id = -1) = 0;
|
|
virtual void MergeManifest(int32 ManifestIdentifier) = 0;
|
|
virtual void FinalizeManifest() = 0;
|
|
protected:
|
|
virtual void Initialize(const FNativeCodeGenInitData& InitData) = 0;
|
|
virtual void InitializeForRerunDebugOnly(const TArray< TPair< FString, FString > >& CodegenTargets) = 0;
|
|
};
|
|
|
|
void IBlueprintNativeCodeGenModule::InitializeModule(const FNativeCodeGenInitData& InitData)
|
|
{
|
|
IBlueprintNativeCodeGenModule& Module = FModuleManager::LoadModuleChecked<IBlueprintNativeCodeGenModule>(GetModuleName());
|
|
Module.Initialize(InitData);
|
|
}
|
|
|
|
void IBlueprintNativeCodeGenModule::InitializeModuleForRerunDebugOnly(const TArray< TPair< FString, FString > >& CodegenTargets)
|
|
{
|
|
IBlueprintNativeCodeGenModule& Module = FModuleManager::LoadModuleChecked<IBlueprintNativeCodeGenModule>(GetModuleName());
|
|
Module.InitializeForRerunDebugOnly(CodegenTargets);
|
|
}
|
|
|