Files
UnrealEngineUWP/Engine/Source/Editor/BlueprintGraph/Private/K2Node_BaseAsyncTask.cpp

526 lines
23 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "K2Node_BaseAsyncTask.h"
#include "EdGraph/EdGraphPin.h"
#include "UObject/UnrealType.h"
#include "EdGraphSchema_K2.h"
#include "Misc/ConfigCacheIni.h"
#include "Kismet/KismetSystemLibrary.h"
#include "K2Node_CallFunction.h"
#include "K2Node_AddDelegate.h"
#include "K2Node_AssignmentStatement.h"
#include "K2Node_CreateDelegate.h"
#include "K2Node_CustomEvent.h"
#include "K2Node_IfThenElse.h"
#include "K2Node_MacroInstance.h"
#include "K2Node_Self.h"
#include "K2Node_TemporaryVariable.h"
#include "Kismet2/BlueprintEditorUtils.h"
#include "KismetCompiler.h"
#include "BlueprintNodeSpawner.h"
#include "BlueprintActionDatabaseRegistrar.h"
#define LOCTEXT_NAMESPACE "UK2Node_BaseAsyncTask"
UK2Node_BaseAsyncTask::UK2Node_BaseAsyncTask(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
, ProxyFactoryFunctionName(NAME_None)
, ProxyFactoryClass(NULL)
, ProxyClass(NULL)
, ProxyActivateFunctionName(NAME_None)
{
}
FText UK2Node_BaseAsyncTask::GetTooltipText() const
{
const FString FunctionToolTipText = UK2Node_CallFunction::GetDefaultTooltipForFunction(GetFactoryFunction());
return FText::FromString(FunctionToolTipText);
}
FText UK2Node_BaseAsyncTask::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
if (GetFactoryFunction() == nullptr)
{
return FText(LOCTEXT("UK2Node_BaseAsyncTaskGetNodeTitle", "Async Task: Missing Function"));
}
const FText FunctionToolTipText = UK2Node_CallFunction::GetUserFacingFunctionName(GetFactoryFunction());
return FunctionToolTipText;
}
bool UK2Node_BaseAsyncTask::IsCompatibleWithGraph(const UEdGraph* TargetGraph) const
{
bool bIsCompatible = false;
// Can only place events in ubergraphs and macros (other code will help prevent macros with latents from ending up in functions), and basicasync task creates an event node:
EGraphType GraphType = TargetGraph->GetSchema()->GetGraphType(TargetGraph);
if (GraphType == EGraphType::GT_Ubergraph || GraphType == EGraphType::GT_Macro)
{
bIsCompatible = true;
}
return bIsCompatible && Super::IsCompatibleWithGraph(TargetGraph);
}
void UK2Node_BaseAsyncTask::AllocateDefaultPins()
{
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
CreatePin(EGPD_Input, K2Schema->PC_Exec, TEXT(""), NULL, false, false, K2Schema->PN_Execute);
CreatePin(EGPD_Output, K2Schema->PC_Exec, TEXT(""), NULL, false, false, K2Schema->PN_Then);
bool bExposeProxy = false;
for (const UStruct* TestStruct = ProxyClass; TestStruct && !bExposeProxy; TestStruct = TestStruct->GetSuperStruct())
{
bExposeProxy = TestStruct->HasMetaData(TEXT("ExposedAsyncProxy"));
}
if (bExposeProxy)
{
CreatePin(EGPD_Output, K2Schema->PC_Object, TEXT(""), ProxyClass, false, false, FBaseAsyncTaskHelper::GetAsyncTaskProxyName());
}
UFunction* DelegateSignatureFunction = NULL;
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3355692) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3348195 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347729 for variable shadow warning caused by CL 3347393 Change 3347935 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347393 for a runtime asset crash Change 3340537 on 2017/03/09 by James.Brinkerhoff Hotfix from CL 3338679 for arrow keys not working to navigate between elements in the details panel Change 3335755 on 2017/03/07 by Ben.Marsh Pass bCreateStubIPA into PrepForUATPackageOrDeploy rather than setting it through a global configuration object (which is no longer accessible). Change 3334652 on 2017/03/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3331740 Change 3332441 on 2017/03/03 by James.Brinkerhoff Hotfix from CL 3296668 for assert when creating memory reports #jira OCN-6087: [CRASH] Crash after entering the memreport command into the command line. Change 3318933 on 2017/02/23 by Allan.Bentham Temp workaround for iOS metal sRGB capable render targets sRGB correcting twice. Change 3314064 on 2017/02/21 by Richard.Fawcett Implement randomized manifest filenames for Ocean. Change 3313139 on 2017/02/20 by James.Brinkerhoff Hotfix from CL 3262052 for UE-40782 Put back the skinxx workflow for the staticmesh Change 3292678 on 2017/02/08 by Brian.Zaugg Back out changelist 3292455 Change 3292455 on 2017/02/08 by Brian.Zaugg Back out changelist 3292268 Change 3292268 on 2017/02/08 by Allan.Bentham Restore DestStride output value when locking compressed textures. Change 3288925 on 2017/02/06 by Brian.Zaugg Change this error from a check to an error log: "Loading non-streamed mips from an external bulk file. This is not desireable." Change 3288441 on 2017/02/06 by James.Brinkerhoff Hotfix from CL 3255451 for UE-40384: Reference Viewer comment text is difficult to read #jira OCN-6059: CLONE - Comment boxes are turning opaque when the game is running Change 3285501 on 2017/02/03 by Allan.Bentham Fix for ring buffer not allocating sufficient space for large requests. Change 3280062 on 2017/01/31 by Max.Chen Sequencer: Find object in any package. This fixes an issue where bound objects can't be found. #jira UE-39459 Change 3279375 on 2017/01/31 by Brian.Zaugg Increase TaskGraph thread stack size for non-shipping builds to prevent stack overflow on iOS. Change 3279366 on 2017/01/31 by Brian.Zaugg Fix for iOS virtual keyboard. Change 3275965 on 2017/01/27 by Max.Chen Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence Copy from Release-4.15 #jira UE-40234 Change 3275963 on 2017/01/27 by Max.Chen Sequencer: Fixed crash caused by lingering persistent evaluation data Copy from Release-4.15 #jira UE-40064 Change 3275962 on 2017/01/27 by Max.Chen Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer Copy from Release-4.15 #jira UE-39882 Change 3275523 on 2017/01/27 by James.Brinkerhoff Fix issue with automation tool caused by a bad resolve Change 3274292 on 2017/01/26 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3269883 Change 3252898 on 2017/01/10 by James.Brinkerhoff Hotfix from CL 3187276 for UE-39071: Crash on adding Actor Reference property to a Struct Change 3248463 on 2017/01/05 by Aaron.McLeran Implementing UE-39421 fix into Ocean Change 3247933 on 2017/01/05 by James.Brinkerhoff Hotfix from CL 3246828 for UE-39249: Particle effects only render in one eye for VR Change 3242274 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209235 for UE-16688 - Selection and selection highlight doesn't work on child actors Change 3242273 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209232 for making the function GetComponents optionally include components in child actors Also fixed a circular dependency due to the hotfix (already applied in UE4 Main) Change 3240035 on 2016/12/19 by Jaren.Peterson MovieSceneEventTemplate - Renamed FEventData to FMovieSceneEventData to eliminate confusion and clear up a crash occuring in Ocean debug builds. Change 3236490 on 2016/12/15 by Chad.Garyet Updating packaged build to not make a stub. This was stopping all icons from making it into the .ipa and messing up the resolution settings. also cleaned up the local staging directories. Change 3231487 on 2016/12/12 by Brian.Zaugg Maintain aspect ratio when render target is clamped. Change 3229050 on 2016/12/09 by Brian.Zaugg #ocn - Hotfix from CL 3218104. Fixes code signing errors related to iCloud support. Change 3225632 on 2016/12/07 by Brian.Zaugg New Chair Entertainment Group iOS Distribution certificate .p12. Change 3224015 on 2016/12/06 by Brian.Zaugg #ocn - Hotfix from CL 3223546 fixes iOS audio crash after last merge from main. Change 3221665 on 2016/12/05 by James.Brinkerhoff Merging hotfixes from //UE4/Ocean-Staging to //Ocean/Main Hotfix from CL 3216832 for non-unity build failures Hotfix from CL 3217564 for fixing the FixDylib script being run on too many modules. Mac build farm is oversaturated right now. Change 3217759 on 2016/12/01 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ 3215855 Change 3214085 on 2016/11/29 by Casey.Spencer Removed logic in K2Node_BaseAsyncTask that excluded properties defined on super classes. Check with engine team prior to making change. [CL 3359832 by James Brinkerhoff in Main branch]
2017-03-23 02:04:59 -04:00
for (TFieldIterator<UProperty> PropertyIt(ProxyClass); PropertyIt; ++PropertyIt)
{
if (UMulticastDelegateProperty* Property = Cast<UMulticastDelegateProperty>(*PropertyIt))
{
CreatePin(EGPD_Output, K2Schema->PC_Exec, TEXT(""), NULL, false, false, *Property->GetName());
if (!DelegateSignatureFunction)
{
DelegateSignatureFunction = Property->SignatureFunction;
}
}
}
if (DelegateSignatureFunction)
{
for (TFieldIterator<UProperty> PropIt(DelegateSignatureFunction); PropIt && (PropIt->PropertyFlags & CPF_Parm); ++PropIt)
{
UProperty* Param = *PropIt;
const bool bIsFunctionInput = !Param->HasAnyPropertyFlags(CPF_OutParm) || Param->HasAnyPropertyFlags(CPF_ReferenceParm);
if (bIsFunctionInput)
{
UEdGraphPin* Pin = CreatePin(EGPD_Output, TEXT(""), TEXT(""), NULL, false, false, Param->GetName());
K2Schema->ConvertPropertyToPinType(Param, /*out*/ Pin->PinType);
}
}
}
bool bAllPinsGood = true;
UFunction* Function = ProxyFactoryClass ? ProxyFactoryClass->FindFunctionByName(ProxyFactoryFunctionName) : nullptr;
if (Function)
{
TSet<FString> PinsToHide;
[UE-2345] BP - enforce const-correctness in native const class method overrides this change introduces enforcement of 'const-correctness' into implemented function graphs. summary: if you have a function declared in C++ like this: UFUNCTION(BlueprintImplementableEvent) int32 MyFunctionThatReturnsSomeValue() const; if you implement that (BPIE) function in a Blueprint that's parented to that native class, it will now be flagged as 'const'. this makes any properties of 'self' read-only within the context of that graph, which means the compiler will emit an error if you try to set a property or otherwise call a non-const, non-static function with 'self' as the target. if there happens to already be an implemented const function in a Blueprint that was in place prior to this change, the compiler will emit a warning instead of an error, in order to allow existing Blueprints that may currently be "violating" const within the context of a const BPIE function to still compile, while still alerting to issues that should probably be addressed. notes: 1) this also applies to BlueprintNativeEvent (BPNE) implementations, and also when implementing BPIE/BPNE interface methods that are also declared as const 2) a const BPIE/BPNE function with no return value and no output parameters will be implemented as a "normal" impure function, and not as an event as in the non-const case 3) a const BPIE/BPNE function with a return value and/or output parameters will currently be implemented as a pure function, regardless of whether or not BlueprintCallable is specified 4) this CL also retains some consolidation of static function validation code that i had previously done, mostly to allow static functions to more easily be whitelisted for const function graphs #codereview Nick.Whiting, Michael.Noland [CL 2368059 by Phillip Kavan in Main branch]
2014-11-21 17:47:17 -05:00
FBlueprintEditorUtils::GetHiddenPinsForFunction(GetGraph(), Function, PinsToHide);
for (TFieldIterator<UProperty> PropIt(Function); PropIt && (PropIt->PropertyFlags & CPF_Parm); ++PropIt)
{
UProperty* Param = *PropIt;
const bool bIsFunctionInput = !Param->HasAnyPropertyFlags(CPF_OutParm) || Param->HasAnyPropertyFlags(CPF_ReferenceParm);
if (!bIsFunctionInput)
{
// skip function output, it's internal node data
continue;
}
const bool bIsRefParam = Param->HasAnyPropertyFlags(CPF_ReferenceParm) && bIsFunctionInput;
UEdGraphPin* Pin = CreatePin(EGPD_Input, TEXT(""), TEXT(""), NULL, false, bIsRefParam, Param->GetName());
const bool bPinGood = (Pin != NULL) && K2Schema->ConvertPropertyToPinType(Param, /*out*/ Pin->PinType);
if (bPinGood)
{
//Flag pin as read only for const reference property
Pin->bDefaultValueIsIgnored = Param->HasAllPropertyFlags(CPF_ConstParm | CPF_ReferenceParm) && (!Function->HasMetaData(FBlueprintMetadata::MD_AutoCreateRefTerm) || Pin->PinType.bIsArray);
const bool bAdvancedPin = Param->HasAllPropertyFlags(CPF_AdvancedDisplay);
Pin->bAdvancedView = bAdvancedPin;
if(bAdvancedPin && (ENodeAdvancedPins::NoPins == AdvancedPinDisplay))
{
AdvancedPinDisplay = ENodeAdvancedPins::Hidden;
}
K2Schema->SetPinDefaultValue(Pin, Function, Param);
if (PinsToHide.Contains(Pin->PinName))
{
Pin->bHidden = true;
Pin->DefaultValue = TEXT("0");
}
}
bAllPinsGood = bAllPinsGood && bPinGood;
}
}
Super::AllocateDefaultPins();
}
const FString& UK2Node_BaseAsyncTask::FBaseAsyncTaskHelper::GetAsyncTaskProxyName()
{
static const FString Name(TEXT("AsyncTaskProxy"));
return Name;
}
bool UK2Node_BaseAsyncTask::FBaseAsyncTaskHelper::ValidDataPin(const UEdGraphPin* Pin, EEdGraphPinDirection Direction, const UEdGraphSchema_K2* Schema)
{
check(Schema);
const bool bValidDataPin = Pin
&& (Pin->PinName != Schema->PN_Execute)
&& (Pin->PinName != Schema->PN_Then)
&& (Pin->PinType.PinCategory != Schema->PC_Exec);
const bool bProperDirection = Pin && (Pin->Direction == Direction);
return bValidDataPin && bProperDirection;
}
bool UK2Node_BaseAsyncTask::FBaseAsyncTaskHelper::CreateDelegateForNewFunction(UEdGraphPin* DelegateInputPin, FName FunctionName, UK2Node* CurrentNode, UEdGraph* SourceGraph, FKismetCompilerContext& CompilerContext)
{
const UEdGraphSchema_K2* Schema = CompilerContext.GetSchema();
check(DelegateInputPin && Schema && CurrentNode && SourceGraph && (FunctionName != NAME_None));
bool bResult = true;
// WORKAROUND, so we can create delegate from nonexistent function by avoiding check at expanding step
// instead simply: Schema->TryCreateConnection(AddDelegateNode->GetDelegatePin(), CurrentCENode->FindPinChecked(UK2Node_CustomEvent::DelegateOutputName));
UK2Node_Self* SelfNode = CompilerContext.SpawnIntermediateNode<UK2Node_Self>(CurrentNode, SourceGraph);
SelfNode->AllocateDefaultPins();
UK2Node_CreateDelegate* CreateDelegateNode = CompilerContext.SpawnIntermediateNode<UK2Node_CreateDelegate>(CurrentNode, SourceGraph);
CreateDelegateNode->AllocateDefaultPins();
bResult &= Schema->TryCreateConnection(DelegateInputPin, CreateDelegateNode->GetDelegateOutPin());
bResult &= Schema->TryCreateConnection(SelfNode->FindPinChecked(Schema->PN_Self), CreateDelegateNode->GetObjectInPin());
CreateDelegateNode->SetFunction(FunctionName);
return bResult;
}
bool UK2Node_BaseAsyncTask::FBaseAsyncTaskHelper::CopyEventSignature(UK2Node_CustomEvent* CENode, UFunction* Function, const UEdGraphSchema_K2* Schema)
{
check(CENode && Function && Schema);
bool bResult = true;
for (TFieldIterator<UProperty> PropIt(Function); PropIt && (PropIt->PropertyFlags & CPF_Parm); ++PropIt)
{
const UProperty* Param = *PropIt;
if (!Param->HasAnyPropertyFlags(CPF_OutParm) || Param->HasAnyPropertyFlags(CPF_ReferenceParm))
{
FEdGraphPinType PinType;
bResult &= Schema->ConvertPropertyToPinType(Param, /*out*/ PinType);
bResult &= (NULL != CENode->CreateUserDefinedPin(Param->GetName(), PinType, EGPD_Output));
}
}
return bResult;
}
bool UK2Node_BaseAsyncTask::FBaseAsyncTaskHelper::HandleDelegateImplementation(
UMulticastDelegateProperty* CurrentProperty, const TArray<FBaseAsyncTaskHelper::FOutputPinAndLocalVariable>& VariableOutputs,
UEdGraphPin* ProxyObjectPin, UEdGraphPin*& InOutLastThenPin,
UK2Node* CurrentNode, UEdGraph* SourceGraph, FKismetCompilerContext& CompilerContext)
{
bool bIsErrorFree = true;
const UEdGraphSchema_K2* Schema = CompilerContext.GetSchema();
check(CurrentProperty && ProxyObjectPin && InOutLastThenPin && CurrentNode && SourceGraph && Schema);
UEdGraphPin* PinForCurrentDelegateProperty = CurrentNode->FindPin(CurrentProperty->GetName());
if (!PinForCurrentDelegateProperty || (Schema->PC_Exec != PinForCurrentDelegateProperty->PinType.PinCategory))
{
FText ErrorMessage = FText::Format(LOCTEXT("WrongDelegateProperty", "BaseAsyncTask: Cannot find execution pin for delegate "), FText::FromString(CurrentProperty->GetName()));
CompilerContext.MessageLog.Error(*ErrorMessage.ToString(), CurrentNode);
return false;
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3042808) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3026763 on 2016/06/24 by Phillip.Kavan [UE-32259] Fix missing heat map coloration on pure nodes. change summary: - modified FScriptExecutionNode::RefreshStats() to ensure that child nodes are updated for 'standard' exec node types. #jira UE-32259 Change 3026829 on 2016/06/24 by Mike.Beach Mirroring CL 3025832 from Release-4.12 Guarding GetClassDefault nodes against asserts while loading cyclically dependent content. Regenerating one Blueprint could trigger a ReconstructNode() in a separate Blueprint (that had already been regenerated). However, not all objects in that Blueprint's package have been post-loaded, so object Rename() will assert is you try to reset loaders with it. #jira UE-32356 Change 3026888 on 2016/06/24 by Mike.Beach PR #2460: Functionality to flag blueprint as abstract (Contributed by Pierdek) Change 3027245 on 2016/06/24 by Phillip.Kavan [UEBP-180] Alternate treatment for Blueprint profiler tree view node expander icon (to differentiate from exec pin icons). change summary: - added SProfilerStatExpander (from BenC) - modified original to replace indicator icons w/ FontAwesome glyphs (they're a bit clearer) - see screenshot attached to JIRA #jira UEBP-180 Change 3027279 on 2016/06/24 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3027606 on 2016/06/25 by Dan.Oconnor Back out changelist 3027279, this change breaks custom events coupled to multicast delegate nodes (see ProjRocket.uasset in shooter game for an example) Change 3028731 on 2016/06/27 by Ben.Cosh Minor change to the spacing around the new expander icons for the blueprint profiler. #Jira UEBP-180 - Pin icons are too similar to the tree expander icons in the node execution graph display. #Proj Kismet Change 3028740 on 2016/06/27 by Ben.Cosh This change modifies the way the blueprint profiler detects and maps delegate events that are created at blueprint compile time. #Jira UE-32055 - Assert when profiling timelines in the blueprint profiler #Proj BlueprintProfiler, KismetCompiler, BlueprintGraph, LiveEditor, Kismet, Engine Change 3028844 on 2016/06/27 by Maciej.Mroz #jira UE-32470 Nativized Orion: Sparrow has no Rentless ability. Better way to find Placeholder classes in BlueprintNativeCodeGenModule. Change 3029573 on 2016/06/27 by Ryan.Rauschkolb Fixed issue where Preview Connection would be drawn incorrectly when an input and output pin share the same name #jira UE-32211 Change 3030335 on 2016/06/28 by Maciej.Mroz #jira UE-30858 Nativized Orion - Some particle effects are not rendering List of AssetRegistrySearchable properties, that should be stored for DynamicClasses in moved to .ini file. Added SearchDynamicClassCues function in GameplayCueManager.cpp Change 3030492 on 2016/06/28 by Ben.Cosh CIS Mac Build fix Change 3030494 on 2016/06/28 by Ben.Cosh This change reworks the way the blueprint profiler maps latent re-entry points to address problems that could be triggered when multiple re-entries happenned within close proximity. #Jira UE-32452 - Blueprint profiler asserts when a second latent entry is triggered #Proj BlueprintProfiler, CoreUObject, Engine, Kismet Change 3030612 on 2016/06/28 by Maciej.Mroz typo fixed Change 3031461 on 2016/06/28 by Dan.Oconnor Fixed for crash involving a stale UEdGraphPin after performing an undo/redo operation inolving UEdGraphNode(s) #jira UE-32553 Change 3031537 on 2016/06/28 by Ben.Cosh Fix for a problem introduced in CL 3030494 and recent graph pin changes that caused problems uniquely naming tunnel entry/exit pins. #Jira UE-32578 - Crash when profiling blueprint containing a for-loop #Proj BlueprintProfiler Change 3031556 on 2016/06/28 by Ben.Cosh This fixes a problem with the profiler tracking of PIE actor instances adding a mechanism to refresh the actor references when a subsequent PIE session is started. #Jira UE-32595 - Running two subsequent PIE sessions with a latent entry point causes an assert. #Proj BlueprintProfiler, Kismet Change 3031588 on 2016/06/28 by Ryan.Rauschkolb Fixed issue where unsupported pins could be added to custom Event nodes which can lead to a crash #jira UE-31148 Change 3031887 on 2016/06/28 by Dan.Oconnor Fix for crash caused by stale pin access in SGraphPin, also fixes 'double opacity' effect when ctrl+dragging off of a macro #jira UE-32604 Change 3031932 on 2016/06/28 by Dan.Oconnor Fix for major regression in pin value visibility #jira UE-32614 Change 3032568 on 2016/06/29 by Phillip.Kavan [UE-31681] Ensure that cached component data cache template objects are referenced during garbage collection. change summary: - modified AActor::AddReferencedObjects() to include CurrentTransactionAnnotation - added UChildActorComponent::AddReferencedObjects() to include CachedInstanceData - also added FChildActorComponentInstanceData::AddReferencedObjects() to include ComponentInstanceData (just in case some future task happens to trigger a reference gather during its lifetime) additional notes: - should also resolve UE-32558 #jira UE-31681 Change 3032998 on 2016/06/29 by Dan.Oconnor Fixing shutdown crash after LinkedTo lists are corrupted. An ensure couldn't fire when a node had already been destroyed. UE-32631 tracks the actual ensure. #jira UE-32634 Change 3033448 on 2016/06/29 by Ryan.Rauschkolb Discard Return Nodes that have no outputs when collapsing to function #jira UE-23381 Change 3034407 on 2016/06/30 by Phillip.Kavan [UE-32675] Fix no-editor compile issue. Change 3034691 on 2016/06/30 by Ryan.Rauschkolb Fixed issue where Macro nodes with ambiguous links could be collapsed into a function Change 3034701 on 2016/06/30 by Ryan.Rauschkolb Cleaned up UEdGraphSchema_K2::GetVariableTypeTree to use a filter rather than several booleans Change 3035093 on 2016/06/30 by Maciej.Mroz #jira UE-32683 BP_Hero Blueprint failing to compile in Orion - K2Node_CustomEvent_1050 is out of date Temporary fix. Change 3035440 on 2016/07/01 by Maciej.Mroz #jira UE-32706 Nativized Orion crash - Cannot find "Root" subobject in ABP_HeroPedestal_C... Make sure, the CDO of DynamicClass (and its subobjects) have AsyncLoading flag cleared. Change 3035442 on 2016/07/01 by Maciej.Mroz Added UDynamicClass::FindArchetype #jira UE-30667 Ground material in Agora incorrect in Nativized Orion Change 3036233 on 2016/07/01 by Dan.Oconnor Proper handling of null pin references in compiler results logs Change 3036541 on 2016/07/01 by Dan.Oconnor Fix for more assymetry in LinkedTo after undo/redo. This solution addresses both UE-32645 and UE-32553. The key to correct behavior is to explictly detect the case where only one of the two nodes in a peer (LinkedTo) relationship are in the transaction buffer. Added IsObjectTransacting to transaction interface to detect this. #jira UE-32645 Change 3036581 on 2016/07/02 by Dan.Oconnor Non-editor fix Change 3036632 on 2016/07/02 by Maciej.Mroz Removed too strict check in BlueprintNativeCodeGenModule Change 3036715 on 2016/07/02 by Maciej.Mroz #jira UE-32612 Odin emits a error when nativized - attempting to access a hidden boolean bitfield property - Private bitfield can be used as LHS expression in generated code. - Refactoring. Introduced ENativizedTermUsage. Change 3037014 on 2016/07/04 by Maciej.Mroz #jira UE-32729 Orion failing to package for PS4 with Nativization Make sure that temporary variable used in ternary operator: "context ? context->variable : temp-variable", has exactly the same type as the wanted variable. Change 3037300 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Fixup hardcoded function names in BP=>Cpp backend Change 3037303 on 2016/07/05 by Maciej.Mroz #jira UE-31756 Nativization - fixed hardcoded string. Change 3037307 on 2016/07/05 by Maciej.Mroz AutomationTool: Fixed issue: A nativized client was compiled with both client and server NativizedAssets plugins. Paths to nativized BP plugin is stored in a map. Change 3037712 on 2016/07/05 by Mike.Beach Adding a non-const version of MultiFindPointer() for TMultiMap. Change 3037790 on 2016/07/05 by Mike.Beach Fixing a bug where overridden components in Blueprints could load with cleared properties - this could happen in cyclically dependent parent/child Blueprints (where the child's component would be zeroed). In this case, the Blueprint's CDO would be deferred, so to solve this new issue we now defer the Blueprint's sub-object overrides as well. #jira UE-32693 Change 3038014 on 2016/07/05 by Ben.Cosh Refactor of the blueprint profiler tunnel mapping and playback to address issues blocking MVP #Jira UE-32056 - The blueprint profiler can still get hung up with cyclic links in the graph #Proj Kismet, BlueprintProfiler, KismetCompiler, BlueprintGraph, UnrealEd Change 3038533 on 2016/07/05 by Mike.Beach PR #2558: Stopping Zoom-to-Fit On User Input (Fixed) (Contributed by MichaelSchoell) Change 3038608 on 2016/07/05 by Dan.Oconnor Fix for crash when altering ConstructObjectFromClass nodes, removed now unused InvalidateAndTrash function from UEdGraphPin, removed subpin leak counter #jira FORT-26495 Change 3038770 on 2016/07/05 by Dan.Oconnor Hiding TThreadSingleton<FBlueprintExceptionTracker>::Get() to fix clang for windows link error #jira UE-31935 Change 3038841 on 2016/07/05 by Dan.Oconnor Simple null check to prevent crash after loading a blueprint to diff. The diff'd blueprint is ending up in other blueprint's DependentBlueprintsToRecompile, for now this is the safest fix #jira UE-31115 Change 3039179 on 2016/07/06 by Maciej.Mroz #jira UE-31987 Editor crashes when transforming actor after applying instances changes Selected (in Level editor) instance components are still selected after they are converted to regular components. Change 3039216 on 2016/07/06 by Maciej.Mroz #jira UE-31767 [CrashReport] UE4Editor_Engine!AActor::GetLevel() [actor.cpp:1663] FIxed unsafe code. Change 3040046 on 2016/07/06 by Ben.Cosh This fixes a problem found where tunnel instances inside tunnel graphs fail to map correctly in the blueprint profiler #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Proj BlueprintProfiler Change 3040061 on 2016/07/06 by Ben.Cosh fix for bad unshelve before submit in CL 3040046 - Phillip already reviewed this version of the file and not what was actually submitted. Change 3040346 on 2016/07/06 by Maciej.Mroz #jira UE-32840 //UE4/Dev-Blueprints: UE4_StaticAnalysis completed with Warnings - 2 Warnings Fix(?) for warning C28182 Change 3040349 on 2016/07/06 by Dan.Oconnor Updating test data Change 3040473 on 2016/07/06 by Dan.Oconnor Fix SMyBlueprint in blueprint diff tool so that kismet inspector is updated with the object selected in SMyBlueprint, needed to investigate UE-18200 Change 3040536 on 2016/07/06 by Dan.Oconnor Call to APITestFunction Change 3040565 on 2016/07/06 by Dan.Oconnor Clone saved GeneratedClass when not doing COL. Groundwork to fix for UE-17268. Change 3040603 on 2016/07/06 by Dan.Oconnor PR #2539: Option to disable Grid in the blueprint and material editor and change grid colors (Contributed by CelPlays) #jira UE-32497 Change 3040798 on 2016/07/07 by Maciej.Mroz Fixed warning C6011: Dereferencing NULL pointer 'Object'. Added some comments. #jira UE-32840 Change 3041185 on 2016/07/07 by Ben.Cosh This fixes problems with the blueprint profiler with name collisions for nodes in different graphs and improves nested tunnel detection. #Jira UE-32862 - Tunnel instances inside tunnels do not map correctly in the blueprint profiler #Jira UE-32889 - Name collisions can now occur in the blueprint profiler for stat nodes. #Proj BlueprintProfiler, Kismet Notes: This attempts to continue to address fall out from CL 3040046 to improve stability. Previously execution nodes were patched into the function contexts that called a tunnel instance. However this proved problematic after spotting a rare case where node names collide between between event and tunnel graphs and caused havok in the node mapping. This change moves to an approach that patches in tunnel contexts and any dependent contexts and instead attempts to locate critical path nodes using a new node search system making use of these child function contexts. CL 3040046 also modified TunnelContext's to be actually more representative of a tunnel instance context, I have updated naming conventions to reflect this for clarity. The changes here also add a single function context for tunnel graphs which contain the bulk of the nodes in the graph and the tunnel instance contexts reference this and make use of it to create non boundary / tunnel instance nodes so they are located in a single place for all instances of that tunnel graph. Change 3041603 on 2016/07/07 by Dan.Oconnor Fix for check failure: PreviousCDO != nullptr, when loading blueprints that have circularly dependent interfaces #jira UE-31639 Change 3042058 on 2016/07/07 by Dan.Oconnor Ensures that the correct ComponentClass is assigned to our template node. This pins are normally allocated lazilly in BlueprintActionFilterImpl::HasMatchingPin, so not a huge change #jira UE-32769 Change 3042468 on 2016/07/08 by Maciej.Mroz #jira UE-32882, UE-32887 Fixed Crash in UHT. Fixed "Ambiguous search" error, when delegate has owner class declared. Change 3042739 on 2016/07/08 by Maciej.Mroz Nativization. Included headers for native subobjects. Change 3042747 on 2016/07/08 by Maciej.Mroz Minor changes in Orion code, necessary to compile the project with nativized Blueprints Change 3042758 on 2016/07/08 by Maciej.Mroz "OrionGame.h" is included in NativizedAssets module. [CL 3043181 by Mike Beach in Main branch]
2016-07-08 14:59:19 -04:00
UK2Node_CustomEvent* CurrentCENode = CompilerContext.SpawnIntermediateEventNode<UK2Node_CustomEvent>(CurrentNode, PinForCurrentDelegateProperty, SourceGraph);
{
UK2Node_AddDelegate* AddDelegateNode = CompilerContext.SpawnIntermediateNode<UK2Node_AddDelegate>(CurrentNode, SourceGraph);
AddDelegateNode->SetFromProperty(CurrentProperty, false);
AddDelegateNode->AllocateDefaultPins();
bIsErrorFree &= Schema->TryCreateConnection(AddDelegateNode->FindPinChecked(Schema->PN_Self), ProxyObjectPin);
bIsErrorFree &= Schema->TryCreateConnection(InOutLastThenPin, AddDelegateNode->FindPinChecked(Schema->PN_Execute));
InOutLastThenPin = AddDelegateNode->FindPinChecked(Schema->PN_Then);
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
CurrentCENode->CustomFunctionName = *FString::Printf(TEXT("%s_%s"), *CurrentProperty->GetName(), *CompilerContext.GetGuid(CurrentNode));
CurrentCENode->AllocateDefaultPins();
bIsErrorFree &= FBaseAsyncTaskHelper::CreateDelegateForNewFunction(AddDelegateNode->GetDelegatePin(), CurrentCENode->GetFunctionName(), CurrentNode, SourceGraph, CompilerContext);
bIsErrorFree &= FBaseAsyncTaskHelper::CopyEventSignature(CurrentCENode, AddDelegateNode->GetDelegateSignature(), Schema);
}
UEdGraphPin* LastActivatedNodeThen = CurrentCENode->FindPinChecked(Schema->PN_Then);
for (auto OutputPair : VariableOutputs) // CREATE CHAIN OF ASSIGMENTS
{
UEdGraphPin* PinWithData = CurrentCENode->FindPin(OutputPair.OutputPin->PinName);
if (PinWithData == NULL)
{
/*FText ErrorMessage = FText::Format(LOCTEXT("MissingDataPin", "ICE: Pin @@ was expecting a data output pin named {0} on @@ (each delegate must have the same signature)"), FText::FromString(OutputPair.OutputPin->PinName));
CompilerContext.MessageLog.Error(*ErrorMessage.ToString(), OutputPair.OutputPin, CurrentCENode);
return false;*/
continue;
}
UK2Node_AssignmentStatement* AssignNode = CompilerContext.SpawnIntermediateNode<UK2Node_AssignmentStatement>(CurrentNode, SourceGraph);
AssignNode->AllocateDefaultPins();
bIsErrorFree &= Schema->TryCreateConnection(LastActivatedNodeThen, AssignNode->GetExecPin());
bIsErrorFree &= Schema->TryCreateConnection(OutputPair.TempVar->GetVariablePin(), AssignNode->GetVariablePin());
AssignNode->NotifyPinConnectionListChanged(AssignNode->GetVariablePin());
bIsErrorFree &= Schema->TryCreateConnection(AssignNode->GetValuePin(), PinWithData);
AssignNode->NotifyPinConnectionListChanged(AssignNode->GetValuePin());
LastActivatedNodeThen = AssignNode->GetThenPin();
}
bIsErrorFree &= CompilerContext.MovePinLinksToIntermediate(*PinForCurrentDelegateProperty, *LastActivatedNodeThen).CanSafeConnect();
return bIsErrorFree;
}
void UK2Node_BaseAsyncTask::ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph)
{
Super::ExpandNode(CompilerContext, SourceGraph);
const UEdGraphSchema_K2* Schema = CompilerContext.GetSchema();
check(SourceGraph && Schema);
bool bIsErrorFree = true;
// Create a call to factory the proxy object
UK2Node_CallFunction* const CallCreateProxyObjectNode = CompilerContext.SpawnIntermediateNode<UK2Node_CallFunction>(this, SourceGraph);
CallCreateProxyObjectNode->FunctionReference.SetExternalMember(ProxyFactoryFunctionName, ProxyFactoryClass);
CallCreateProxyObjectNode->AllocateDefaultPins();
if (CallCreateProxyObjectNode->GetTargetFunction() == nullptr)
{
const FString ClassName = ProxyFactoryClass ? ProxyFactoryClass->GetName() : LOCTEXT("MissingClassString", "Unknown Class").ToString();
const FString RawMessage = LOCTEXT("AsyncTaskError", "BaseAsyncTask: Missing function %s from class %s for async task @@").ToString();
const FString FormattedMessage = FString::Printf(*RawMessage, *ProxyFactoryFunctionName.GetPlainNameString(), *ClassName);
CompilerContext.MessageLog.Error(*FormattedMessage, this);
return;
}
bIsErrorFree &= CompilerContext.MovePinLinksToIntermediate(*FindPinChecked(Schema->PN_Execute), *CallCreateProxyObjectNode->FindPinChecked(Schema->PN_Execute)).CanSafeConnect();
for (auto CurrentPin : Pins)
{
if (FBaseAsyncTaskHelper::ValidDataPin(CurrentPin, EGPD_Input, Schema))
{
UEdGraphPin* DestPin = CallCreateProxyObjectNode->FindPin(CurrentPin->PinName); // match function inputs, to pass data to function from CallFunction node
bIsErrorFree &= DestPin && CompilerContext.MovePinLinksToIntermediate(*CurrentPin, *DestPin).CanSafeConnect();
}
}
UEdGraphPin* const ProxyObjectPin = CallCreateProxyObjectNode->GetReturnValuePin();
check(ProxyObjectPin);
UEdGraphPin* OutputAsyncTaskProxy = FindPin(FBaseAsyncTaskHelper::GetAsyncTaskProxyName());
bIsErrorFree &= !OutputAsyncTaskProxy || CompilerContext.MovePinLinksToIntermediate(*OutputAsyncTaskProxy, *ProxyObjectPin).CanSafeConnect();
// GATHER OUTPUT PARAMETERS AND PAIR THEM WITH LOCAL VARIABLES
TArray<FBaseAsyncTaskHelper::FOutputPinAndLocalVariable> VariableOutputs;
for (auto CurrentPin : Pins)
{
if ((OutputAsyncTaskProxy != CurrentPin) && FBaseAsyncTaskHelper::ValidDataPin(CurrentPin, EGPD_Output, Schema))
{
const FEdGraphPinType& PinType = CurrentPin->PinType;
UK2Node_TemporaryVariable* TempVarOutput = CompilerContext.SpawnInternalVariable(
Copying //UE4/Release-Staging-4.15 to //UE4/Dev-Main (Source: //UE4/Release-4.15 @ 3267632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3267632 on 2017/01/23 by Jurre.deBaare Marker syncs not working correctly in Blend Spaces #fix Ensure that SampleIndexWithMarkers is serialized #JIRA UE-40975 Change 3266915 on 2017/01/20 by Arciel.Rekman Fix Persona crash on Linux (UE-38790). - Static template variable got instantiated into multiple DSOs; probably exacerbated by --as-needed since this does not happen without it. #jira UE-38790 Change 3266785 on 2017/01/20 by Ian.Fox #OnlineSubsystemLive - Make usage of CachedUsers thread safe. Duplicates CL 3245390 #jira UE-40649 Change 3266762 on 2017/01/20 by Rolando.Caloca UE4.15 - Fix for reallocating scene color #jira UE-40633 Change 3266642 on 2017/01/20 by Lina.Halper Downgraded Warning to Info #jira: UE-40643 Change 3266532 on 2017/01/20 by Jeff.Campeau Fix multiplatform Windows includes defeating the safety check in MinWindows.h #jira UE-40778 #rn Fixed a compile warning on Xbox One when XboxOneMinApi.h was included before MinWindows.h. Change 3266523 on 2017/01/20 by Marc.Audy Fix case where child actor could avoid getting begin play call #jira UE-40960 Change 3266474 on 2017/01/20 by Peter.Sauerbrei fix for using an API not yet available in iOS 8 #jira UE-40698 Change 3266339 on 2017/01/20 by Frank.Fella Sequencer - Fix UI issues with multi-track section rows. + Don't show an empty sub-track when there are no sections. + Expand parent tracks by default. #Jira UE-40487 Change 3266283 on 2017/01/20 by Jeff.Fisher UE-40683 GearVR projects rendering black -Fix from Remi Palandri #jira UE-40683 #review-3265824 @nick.whiting @ryan.vance Change 3266264 on 2017/01/20 by Lina.Halper Downgraded warning and changed log message #jira: UE-40643 Change 3266239 on 2017/01/20 by Peter.Sauerbrei fix for virtual joystick not showing up on some devices #jira UE-40472 Change 3266084 on 2017/01/20 by Mitchell.Wilson Resaving level to have correct starting camera position. Saved in wrong position after fixing a bug. #jira UE-40887 Change 3266077 on 2017/01/20 by Matt.Kuhlenschmidt Fixed "Wait for Movies to Complete" flag being reversed #jira UE-40943 Change 3266076 on 2017/01/20 by Mitchell.Wilson Updating occulsion bounds method on P_spark_burst_2 so it is not occluded when spawned inside of the coin mesh in BP_Overview example. Updating some post process examples due to changes made with Post Process settings. Film and Scene Color are temporary fixes and are intended to be fully updated in 4.16 #jira UE-40830 UE-40887 Change 3266034 on 2017/01/20 by Benn.Gallagher Fixed crash when reimporting APEX destructibles from apb/x files caused by not allowing the renderer to flush destroy resource commands before emptying an array. #jira UE-40911 Change 3266027 on 2017/01/20 by Ian.Fox #OnlineSubsystemLive - Fix CreateSession and FindSession each permanently failing after first failure. Duplicates CL 3262175 #jira UE-39110 Change 3265906 on 2017/01/20 by Marcus.Wassmer Fix GPU particle AFR flickering and optimize injection transfers. Duplicate CL's 3260302, 3261252, 3265662, 3265678 #jira UE-40915 Change 3265873 on 2017/01/20 by Mark.Satterthwaite Duplicate CL #3262535: Make sure to set rasterizer state when rendering with a material in FSlateRHIRenderingPolicy::DrawElements #jira UE-40842 Change 3265857 on 2017/01/20 by Jamie.Dale Fixed font pathing issue that could happen in an out-of-source packaged build #jira UE-40855 Change 3265675 on 2017/01/20 by Matt.Kuhlenschmidt Move Dirt Mask Intensity to the correct post process category #jira UE-40851 Change 3265674 on 2017/01/20 by Rolando.Caloca UE4.15 - Revert #jira UE-40633 Change 3265647 on 2017/01/20 by Mitchell.Wilson Updating spawn location of the player pawn after unpossessing character in example 1.10. #jira UE-40870 Change 3265612 on 2017/01/20 by Alexis.Matte Prevent name clash warning when doing automation test #jira UE-40788 Change 3265553 on 2017/01/20 by Matthew.Griffin Fixed Shadow variable warning Change 3265366 on 2017/01/20 by Dmitriy.Dyomin Fixed: Vulkan crashes on Adreno Galaxy S7 #jira UE-40840 Change 3265294 on 2017/01/19 by Dmitriy.Dyomin Fixed typo which was causing assert on mobile #jira UE-40633 Change 3265111 on 2017/01/19 by Rolando.Caloca UE4.15 - Fix for scene color crash #jira UE-40633 Change 3264789 on 2017/01/19 by Josh.Adams - Redoing a fix from Dev-Plat for UI_BUILD_SHIPPING_EDITOR #jira UE-40798 Change 3264780 on 2017/01/19 by Rolando.Caloca UE4.15 - Add Morph compute GPU stat #jira UE-40891 Change 3264486 on 2017/01/19 by Mark.Satterthwaite Fix the crash on startup on Intel GPUs - this is due to Intel Metal forcing SM4 to avoid some drivers bugs in SM5 but I got the condition for initialisation in FMinimalDummyForwardLightingResources wrong so it's attempting to create a RWBuffer for SM4 which won't work. #jira UE-40863 Change 3264427 on 2017/01/19 by Rolando.Caloca UE4.15 - Track down crash #jira UE-40633 Change 3264393 on 2017/01/19 by Aaron.McLeran #jira UE-40850 Re-fixing UE-39650 again in 4.15. I hope this bug doesn't regress yet again! Change 3264364 on 2017/01/19 by Daniel.Wright In forward shading SceneCaptureSource modes Normal and BaseColor are replaced with SceneColorHDR as the GBuffer is not available. This is a silent failure for now as there's no good content error reporting mechanism for scene captures. #jira UE-39658 Change 3264284 on 2017/01/19 by Mark.Satterthwaite Duplicate CL #3264251: Modify some asserts in MetalRHI - technically using a store-action of ENoAction on Stencil buffers should make it invalid to restart a render-pass but on Mac it will work because ENoAction won't invalidate anything written. In future we need to use deferred store-actions in Metal so that we can "restart" passes while enforcing correct Load/Store actions. #jira UE-40803 Change 3264282 on 2017/01/19 by Benn.Gallagher CIS fix, bad expression that failed to compile Mac #jira UE-40716 Change 3264257 on 2017/01/19 by Mike.Beach Revising fix in UBlueprint::BeginCacheForCookedPlatformData(), saving off nativization data if the -nativizeAssets param is present (not just if it was enabled in packaging settings). #jira UE-40620 Change 3264242 on 2017/01/19 by Daniel.Wright [Copy] Sharing IndirectLightingCacheTextureSampler samplers #jira UE-40727 Change 3264191 on 2017/01/19 by Ori.Cohen Fix heightfield not working with traces underneath. #JIRA UE-39819 Change 3264139 on 2017/01/19 by Benn.Gallagher Removed collision between clothing in external skeletal mesh components, as clothing simulations could already be in flight and editing collisions while the simulation is running is not supported by APEX #jira UE-40716 Change 3264110 on 2017/01/19 by Max.Preussner MfMedia: Disabled plug-in on Windows 10, because it is currently broken #jira UE-406344 Change 3264108 on 2017/01/19 by Max.Preussner MfMedia: Fixed compile errors on Windows 10 #jira UE-40644 Change 3264099 on 2017/01/19 by Jamie.Dale Adding deprecation warning for 4.14 style PO export #jira UE-40592 Change 3264089 on 2017/01/19 by Matthew.Griffin Reworked DDC commandlet to make sure it actually calls BeginCacheForCookedPlatformData on assets Skip doing this for Engine content if -ProjectOnly is set as that takes a long time and isn't necessary for the way we use it #jira UE-39968 Change 3264065 on 2017/01/19 by James.Golding Fix ModifyCurve node not calling init/update in SourcePose #jira UE-40852 Change 3263729 on 2017/01/19 by Alexis.Matte Fix a bad condition when filling the material sorting array #jira UE-40814 Change 3263704 on 2017/01/19 by Jack.Porter Fix compile error in AndroidESDeferredOpenGL.cpp when " ES Deferred Shading Renderer" is enabled. #jira UE-40659 Change 3263627 on 2017/01/19 by Jack.Porter Fixed black textures when Vulkan is packaged for ETC1 #jira UE-40658 Change 3263554 on 2017/01/19 by Jack.Porter Fixes to HISMC LOD to use new screen size calculation. Solves issue where HISMC was always rendered at lowest LOD. #jira UE-38930 Change 3263535 on 2017/01/19 by Matthew.Griffin Removed unnecessary directories to always cook Problem was actually down to string asset references not being resolved in file set generation Change 3263534 on 2017/01/19 by Matthew.Griffin Added -SkipPublish parameter to BuildLauncherSample command so that we don't chunk and post preflights Change 3263267 on 2017/01/18 by Dan.Oconnor Fix for editing of TMap/TSet variables in structure editor, async tasks, and when using UK2Node_CommutativeAssociativeBinaryOperator. #jira UE-40428 Change 3263219 on 2017/01/18 by Dan.Oconnor Fix copy paste error found by UDN user Craig.Wright that could result in fatal bytecode execution #jira UE-19425 Change 3262980 on 2017/01/18 by Maciej.Mroz #jira UE-40394, UE-40395, UE-40426, UE-40484, UE-40770 Integrated cl 3262851, 3261613, 3260908 from Dev-Blueprint Change 3262908 on 2017/01/18 by Ori.Cohen When refreshing physics assets, don't do so on components that have no bodies. #JIRA UE-40764 Change 3262709 on 2017/01/18 by Matt.Kuhlenschmidt Fix a crash if a background blur widget ends up being negative or zero sized #jira UE-40820 Change 3262606 on 2017/01/18 by Marc.Audy Don't bother the user with force feedback based on where the unpossessed pawn is standing in the world while in simulate mode #jira UE-40785 Change 3262416 on 2017/01/18 by Marc.Audy Reenable audio threading #jira UE-00000 Change 3262125 on 2017/01/18 by Chris.Wood Fixed unnecessary truncate in SMenuAnchor::Tick that caused menu placement to wobble [UE-40293] - Dropdown selection box jitters when mouse is moved over top of it on Mac #jira UE-40293 Change 3262103 on 2017/01/18 by Jamie.Dale Merging some cooker fixes CL# 3262089 - Fixing RedirectCollector issues with projects outside the UE4 directory CL# 3262091 - Guarding against potentially invalid call to FString::Mid CL# 3262094 - Cook on the fly builds now resolve string asset references #jira UE-40790 Change 3262082 on 2017/01/18 by Chris.Bunner Accumulate used particle materials from final mesh material module, not first. #jira UE-39953 Change 3261996 on 2017/01/18 by Matthew.Griffin Allow Samples to be built in pre-flights if you are specifying an engine version Change 3261995 on 2017/01/18 by Matthew.Griffin Resolve string asset references after loading packages to ensure that we find all required files Change 3261934 on 2017/01/18 by Allan.Bentham Bump shader version to force changes in 3260307 to occur. #jira UE-39701 Change 3261842 on 2017/01/18 by Graeme.Thornton Manual copy of CL 3253580 from Dev-Core Added some validation of the class index in exportmap entries #jira UE-37873 Change 3261017 on 2017/01/17 by Mitchell.Wilson Resaving all levels to resolve short form string asset reference warnings. #jira UE-40732 Change 3260918 on 2017/01/17 by Andrew.Rodham Sequencer: Request unloaded levels to be loaded when being made visible through sequencer #jira UE-40082 Change 3260909 on 2017/01/17 by Ben.Marsh Fix error running "Clean" in installed build. #jira UE-40751 Change 3260757 on 2017/01/17 by Jeff.Fisher UE-39654 Crash when launching Google VR project -Via SwitchGameWindowToUseGameViewport we get an early ResizeViewport which does an early Draw. This calls GetStereoProjectionMatrix before the game has ticked and fetched the device info we use to build that matrix. -In this change we make the call to setup that information in the GoogleVRHMD constructor, to ensure it is done before anything tries to use it. -I also added some asserts. #jira UE-39654 #review-3260644 Change 3260637 on 2017/01/17 by Alexis.Matte Fix crash when importing skeletal mesh containing a texture or a material using the same name. #jira UE-40538 Change 3260630 on 2017/01/17 by Marc.Audy When installing a feature pack maintain the include of the template so that any properties inside it are not lost by replacing it with the project's PCH include Update all C++ feature packs to include the original project .h in the files that are copied in to the new project #jira UE-40730 Change 3260600 on 2017/01/17 by matt.barnes Test content for sequencer event tracks #jira UE-29618 Change 3260593 on 2017/01/17 by Mieszko.Zielinski Made FSupportedAreaData export as part of engine API #UE4 #jira UE-40739 Change 3260538 on 2017/01/17 by Marc.Audy Always display axes in debug info, but show -- for value when we don't yet know the ranges #jira UE-40700 Change 3260422 on 2017/01/17 by Marc.Audy Expose level streaming incremental unregister component cvars in the engine streaming section of the project settings #jira UE-10109 Change 3260392 on 2017/01/17 by Ben.Woodhouse Duplicated from CL 3260107: Fix FMonitoredProcess to prevent infinite loop in -nothreading mode #jira UE-40717 Change 3260358 on 2017/01/17 by Chris.Bunner Only validate tonemapper LUT input if actually hooked up. #jira UE-40467 Change 3260327 on 2017/01/17 by Frank.Fella PlatformMediaSource - Fix Validate to check all specified media sources, and change GetURL to get the url for the current platform when running uncooked. #jira UE-40709 Change 3260307 on 2017/01/17 by Allan.Bentham Restore metal compiler's shader source serialization code when the shader is to be compiled at runtime. #jira UE-39701 Change 3260276 on 2017/01/17 by Alex.Delesky #jira UE-40276 - Fixing an issue where a Standalone game launched from the editor cannot toggle fullscreen mode. Change 3260274 on 2017/01/17 by Chris.Wood Added check for null World ptr in AActor::PostEditChangeProperty to fix crash when pasting temporary Actors [UE-40492] - Crash after ejecting from PIE session and selecting a component in the details panel #jira UE-40492 Change 3260230 on 2017/01/17 by Ben.Woodhouse Duplicated from dev-rendering@3232283 D3D12 - downgrade root signature size warning to a log following a discussion with Microsoft. There's not much we can actually do about it, and it's not relevant to all hardware #jira UE-36999 Change 3260096 on 2017/01/17 by Thomas.Sarkanen Fixed crash when rendering out a level sequence with layered animations When a level contained sequences with layered animations that *werent* taking part in the render (i.e. they were not part of the current master sequence) then their instances were initialized but not ticked. When their components then got a call to evaluate their bone transforms, the cached blends were in an uninitialized state. #jira UE-40654 - Render Movie using separate process crashes capture process Change 3259875 on 2017/01/17 by Dmitriy.Dyomin Fixed: SunTemple is washed out in one color on some Android devices #jira UE-40689 Change 3259011 on 2017/01/16 by Max.Chen Matinee to Level Sequence: Make RegisterTrackConverters pure virtual #jira UE-37328 Change 3258992 on 2017/01/16 by Rolando.Caloca UE4.15 - Integrate fix for outlines (3258807) #jira UE-40690 Change 3258949 on 2017/01/16 by mason.seay Disabled TranslatedMass test #jira UE-29618 Change 3258860 on 2017/01/16 by Max.Preussner Media: Prevent loading of media plug-ins in console apps, such as game servers (OR-34819) #jira OR-34819 Change 3258846 on 2017/01/16 by Max.Preussner MfMedia: Fixed incorrect tracks being played in multi-track media sources (UE-39703) #jira UE-39703 Change 3258813 on 2017/01/16 by Benn.Gallagher Added error on import for APEX clothing files that either have no submeshes or have no submeshes with simulated vertices. #jira UE-40614 Change 3258771 on 2017/01/16 by James.Golding Skip fatal warning in UBodySetup::Serialize if duplicating (e.g. spawning component via SCS with a BodySetup in its template) #jira UE-40418 Change 3258747 on 2017/01/16 by Max.Chen Sequencer: AddUnique SequencerActorTag to prevent multiple tags being added when spawning/despawning. #jira UE-40665 Change 3258630 on 2017/01/16 by Jurre.deBaare CIS IfDef issue fix #JIRA UE-1234 Change 3258541 on 2017/01/16 by Phillip.Kavan [UE-40131] Revised fix that will work for "inclusive" BP nativization with data-only BPs. change summary: - revised code in UBlueprint::BeginCacheForCookedPlatformData() to also support the "inclusive" nativization method #jira UE-40131 Change 3258532 on 2017/01/16 by Max.Chen Sequencer: Fix max row index off by one error . This was always incorrect, but it was masked by the fact that FixRowIndices() was called on the track when the UI gets built. That function was removed from the node layer in CL #3252753 and therefore exposed this bug. #jira UE-40642 Change 3258505 on 2017/01/16 by Marc.Audy Improve messaging when installing vehicle and vehicle adv C++ feature packs #jira UE-40647 Change 3258478 on 2017/01/16 by Matt.Kuhlenschmidt PR #3131: UE-40567: Added nullcheck to FSplinePointDetails (Contributed by projectgheist) #jira UE-40567 Change 3258457 on 2017/01/16 by Jurre.deBaare SpeedTree Billboards rendering with Incorrect Material #fix Ensure that we add a section info entry for the billboard models/lods during SpeedTree importing #jira UE-39677 Change 3258442 on 2017/01/16 by Alexis.Matte Skeletalmesh import, make sure we increment the lod index when animation is not imported #jira UE-40640 Change 3258431 on 2017/01/16 by Jurre.deBaare Back out changelist 3258392 #fix issue was already resolved #jira UE-1234 Change 3258392 on 2017/01/16 by Jurre.deBaare Fix for non-unity CIS #JIRA UE-1234 Change 3258358 on 2017/01/16 by Matthew.Griffin Prevent warning from being shown when XMPP module is not built #jira UE-40616 (I guess LoadModule could be changed to LoadModuleChecked now if they do exist) Change 3258144 on 2017/01/15 by Marc.Audy Fix non-unity CIS errors #jira UE-00000 Change 3258141 on 2017/01/15 by zachary.wilson Adding testing content for Distance Field Indirect Shadows #jira UE-29618 Change 3258049 on 2017/01/14 by Nick.Shin UFE sent incorrect header data on missing file also, it seems that UFE was written to expect clients to close the connection -- (this should be closed manually -- which will flush the data and then close out the socket -- but, since this is a developer tool... leaving this as-is) first, 404 was not sending the required double newline after headers second, since connection are not closed manually (server side) send a dummy payload with content-length data #jira UE-39992 Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure" Change 3257984 on 2017/01/14 by Aaron.McLeran Attempting another fix for static analysis warning in CIS #jira UE-40645 Change 3257904 on 2017/01/14 by Aaron.McLeran Resolving static analysis warnings reported by CIS #jira UE-40645 Change 3257883 on 2017/01/14 by Aaron.McLeran Fixing build warning with CL 3257826 #jira UE-40645 Change 3257826 on 2017/01/13 by Aaron.McLeran Integrating fixes from Dev-Framework and Odin to Release-415 #jira UE-40645 Change 3257654 on 2017/01/13 by Marc.Audy Until plugins can drive their own dependencies vehicle and vehicle adv feature packs will not compile automatically and will pop up a message log informing the user of the actions they need to manually take. #jira UE-40466 Change 3257608 on 2017/01/13 by John.Pollard PC: Assertion Fail with UPackageMapClient::AddNetFieldExportGroup() viewing replays #jira OR-34522 Change 3257489 on 2017/01/13 by Mitchell.Wilson Removing preview mesh from multiple materials to resolve CIS warnings. #jira UE-40628 Change 3257485 on 2017/01/13 by Chris.Babcock Don't initialize FMinimalDummyForwardLightingResources for unneeded feature levels (below SM4) #jira UE-40602 #ue4 #android Change 3257444 on 2017/01/13 by Matt.Barnes Updating test assets for UEQATC-2967 #jira UE-29618 Change 3257324 on 2017/01/13 by Arciel.Rekman Linux: Update runtime CEF lib as well (UE-401413). - Followup to CL 3256081. #jira UE-40413 (Merging CL 3257241 from Dev-Platform to Release-4.15) Change 3257140 on 2017/01/13 by Lina.Halper Fix crash with deleting all poses #jira: UE-40537 Change 3257066 on 2017/01/13 by Jurre.deBaare CIS fix for game builds #jira UE-1234 Change 3257056 on 2017/01/13 by Ben.Zeigler #jira UE-40318 Fix crash in streamablemanager where callbacks would get called on a deleted manager. This is being rewritten in 4.16, so do a quick fix for 4.15 to avoid the crash Change 3256839 on 2017/01/13 by Jurre.deBaare Added conversion of HLOD transition screen size to new transition screen area values #fix During serialization patch up the values of transition screen size within the hierarchical lod setups #misc Updated the default value to a screen size to screen area equivalent #JIRA UE-40518 Change 3256761 on 2017/01/13 by Mieszko.Zielinski Fixed EQS debug rendering not clearing previously displayed labels if new request has no labels #UE4 #jira UE-40589 Change 3256177 on 2017/01/12 by Josh.Adams - Moved the MfMedia plugin outside of XboxOne directory, because it's a Windows plugin as well (that happens to also work on XboxOne - all public APIs) #jira UE-40391 Change 3256131 on 2017/01/12 by Jamie.Dale Fixing log spam when trying to load an empty font data #jira UE-40555 Change 3256081 on 2017/01/12 by Arciel.Rekman Fixed CEF compatibility problems on Ubuntu 14.04 (UE-40413). - Also deleted Debug version of it. - Change by yaakuro. #jira UE-40413 (Edigrating CL 3256065 from Dev-Platform to Release-4.15) Change 3256046 on 2017/01/12 by Jon.Nabozny Use PxConvexFlag::eSHIFT_VERTICES when cooking meshes to fix baked in transforms. #jira UE-39212 Change 3255939 on 2017/01/12 by mason.seay Rebuilt lighting #jira UE-29618 Change 3255912 on 2017/01/12 by Olaf.Piesche Replicating fix from 3246828 for #jira UE-39249 Change 3255909 on 2017/01/12 by Rolando.Caloca UE4.15 - Support for choosing discrete AMD GPU #jira UE-40546 Change 3255835 on 2017/01/12 by Martin.Wilson Fix newly added virtual bones not being on screen. #jira UE-40516 Change 3255774 on 2017/01/12 by Mark.Satterthwaite Merging 3251926 for Richard.Wallis: #jira UE-38828 Crash after Enabling Forward Shading on Mac and Creating/Editing Materials. Using TGlobalResource to avoid constant resource allocation. Prev fix (in CL 3239454) caused a crash in D3D11 with zero sized resource views. Change 3255771 on 2017/01/12 by Alexis.Matte Fix a crash when re-importing asset with no material #jira UE-40510 Change 3255746 on 2017/01/12 by Jon.Nabozny Change _DEBUG to PX_DEBUG in ConvexHullLib.cpp #jira UE-0000 Change 3255659 on 2017/01/12 by Jon.Nabozny Enable Shifting Vertices during Convex Hull cooking to prevent precision issues. (Copied CL-3249100 from Dev-Phyics-Upgrade to support new flag) #jira UE-39212 Change 3255617 on 2017/01/12 by Ori.Cohen Fix crash when computing mass for an async object. Using passed in rigid body instead of assuming SyncRigidActor #JIRA UE-40458 Change 3255536 on 2017/01/12 by Jamie.Dale Fixed crash when using an object picker against the 'Object' type This also optimizes some filter code to avoid filtering when it would be pointless (and just slows things down). #jira UE-40408 Change 3255451 on 2017/01/12 by Chris.Wood Fixed read only text color in SCommentBubble [UE-40384] - Reference Viewer comment text is difficult to read Also changed DetermineForegroundColor() method in EditableTextBox classes to fallback on ForegroundColorOverride if it is set and ReadOnlyForegroundColorOverride isn't set. #jira UE-40384 Change 3255448 on 2017/01/12 by Chris.Wood Removed blinking cursor/caret on read only editable text layouts. [UE-40502] - Flashing cursor/caret showing in read-only editable text layouts #jira UE-40502 Change 3255445 on 2017/01/12 by Marc.Audy Create the dynamic level streaming persistent object correctly outered to the World rather than the transient package to avoid GetWorld() crashing #jira UE-00000 Change 3255441 on 2017/01/12 by Jon.Nabozny Regenerate collision for the basic Cube mesh to fix resting issues and invalid verts. #jira UE-40478 Change 3255407 on 2017/01/12 by Yannick.Lange VREditor: - Fix: Assertion Failed crash after pressing F8 in PIE while Foliage Mode was selected - Fix: Assertion Failed crash after pressing F8 in PIE while Paint Mode was selected - Added extra checks for other possible future cases #jira UE-39786 UE-39789 Change 3255393 on 2017/01/12 by Chris.Bunner Duplicating CL 3255244: Removed test variable from MaterialExpressionVectorParameter. #jira UE-40517 Change 3255375 on 2017/01/12 by Steve.Robb CIS fix. #jira UE-39556 Change 3255334 on 2017/01/12 by samuel.proctor Corrected QA Container asset to remove pin warning. #jira UE-29618 Change 3255319 on 2017/01/12 by james.cobbett Fixing motion blur issue with test content for Pose Snapshots. #jira UE-29618 Change 3255247 on 2017/01/12 by Nick.Darnell Slate - Slate's Tab Manager is now a bit smarter about allowing Focus/BringToFront attention grabbing methods. In order to make the UI less jumpy it was restricted to only allowing alerts and bring to front to be triggered if you were on the window, or child window of the active application window. That can negatively impact cases where a user takes an action (clicks a link ro button saying open/goto this tab), that is on another window. To work around this limitation, the Tab Manager will also permit the action if Slate is currently processing user input, implying that the action being taken is in direct response to the user pressing a button and interacting with the UI. #jira UE-40313 Change 3255236 on 2017/01/12 by Phillip.Kavan [UE-40131] Non-native child BPs can now properly override a nativized parent BP's components in a cooked build with exclusive Blueprint class nativiation. - Mirrored from //UE4/Dev-Blueprints (CL# 3254024,3254391) #jira UE-40131 Change 3255216 on 2017/01/12 by Rolando.Caloca UE4.15 - Fix compile issue on Vulkan 1.0.37.0 or newer #jira UE-40506 Change 3255206 on 2017/01/12 by Steve.Robb Use outer walking IsA() implementation in editor to get around reinstancing and hot reload issues. #fyi mike.beach #jira UE-39556 Change 3255195 on 2017/01/12 by mason.seay Adjusted slope to fix platform discrepancy #jira UE-29618 Change 3255086 on 2017/01/12 by Jack.Porter Fix XboxOneShaderCompiler.cpp non-unity compilation #jira None Change 3255085 on 2017/01/12 by Jack.Porter Missing HTML5 changes from CL 3254907 #jira UE-39111 Change 3255031 on 2017/01/12 by Jack.Porter More iOS GoogleVR changes missing from CL 3254907 #jira UE-39111 Change 3254991 on 2017/01/12 by Jack.Porter Missing file from CL 3254907 #jira UE-39111 Change 3254907 on 2017/01/11 by Jack.Porter Android MSAA changes - use r.MobileMSAA cvar, support more than 2x, fix issues where targets other than scene color were created with MSAA #jira UE-39111 #jira UE-35849 #jira UEMOB-35 Change 3254810 on 2017/01/11 by Arciel.Rekman Linux: fix for crash on exit (UE-40488). #jira UE-40488 Change 3254617 on 2017/01/11 by Peter.Sauerbrei remake the fix for missing PhysXVehicle library in binary for IOS and TVOS #jira UE-39349 Change 3254489 on 2017/01/11 by mason.seay Other minor improvements to the map #jira UE-29618 Change 3254477 on 2017/01/11 by mason.seay Map tweaks to prevent the vehicle from getting stuck #jira UE-29618 Change 3254431 on 2017/01/11 by Mitchell.Wilson Rebuilt lighting on all StarterContent levels. #jira UE-40468 Change 3254333 on 2017/01/11 by mason.seay Adjusted lightmap on mesh to remove odd rendering splotches #jira UE-29618 Change 3254131 on 2017/01/11 by Rolando.Caloca UE4.15 - Missing dumped shaders #jira UE-40465 Change 3254126 on 2017/01/11 by Jeff.Fisher UE-40422 Vive Motion Controllers unable to Play Haptic Effect -Removed an unnecessary remapping of controllerindex to deviceid, they are the same now. #jira UE-40422 #review-3254084 Change 3254046 on 2017/01/11 by Mark.Satterthwaite Merging 3233811: Fix compiling QA-Material tessellation shaders that don't need to emit from Hull or sample in Domain the HSOut buffer which was confusing MetalBackend. #jira UE-39935 Change 3254021 on 2017/01/11 by james.cobbett Test content for Pose Snapshot testing #jira UE-29618 Change 3253993 on 2017/01/11 by Alexis.Matte Fix the morph target import #jira UE-40424 Change 3253948 on 2017/01/11 by mason.seay Fixed Level BP logic that was causing Access None error #jira UE-29618 Change 3253884 on 2017/01/11 by mason.seay Updated mesh colors on map. Disabled motion blur #jira UE-29618 Change 3253862 on 2017/01/11 by mason.seay Disabled Always Show Mobile Input (turned on by accident) #jira UE-29618 Change 3253859 on 2017/01/11 by Mark.Satterthwaite Merging 3252866: Fix Metal shader pipeline hash collisions caused by deferring MTLFunction construction until PrepareToDraw so that we may use Function-Constants to specialise the shader source without generating additional permutations. This is required to generate proper tessellation shaders which are specialised against the index-buffer usage & type (none, uint16, uint32). While we're here amend the hash functions to make better use of the existing hash functions to improve the distribution and hopefully reduce the possibility of collisions in future. #jira UE-40357 Change 3253854 on 2017/01/11 by Mark.Satterthwaite Merging 3252859: Fix the calculation of Metal tessellation struct alignment and size to use largest member size, so that we don't assert in debug or cause out-of-bounds access in development/shipping. #jira UE-40410 Change 3253853 on 2017/01/11 by Mark.Satterthwaite Merging 3237394: Add Metal-specific permutations of TBasePassHS - they affect the C++ definition on all platforms but are only cached or used on Metal - because the way we compile the combined VS+HS tessellation stage requires that the combined VS + HS HLSL code references the same resources, otherwise we get incorrect resouce bindings and subsequently fail to render properly. Long-term the Metal tessellation code will need to be refactored so that the vertex shader stage is emitted as a separate shader from the hull shader stage as this but will keep cropping back up and continue to complicate the engine. #jira UE-39799 Change 3253852 on 2017/01/11 by Mark.Satterthwaite Merging 3236850: Make changing the Metal Shader Version project setting prompt the user to restart for the changes to take effect. #jira UE-39801 Change 3253834 on 2017/01/11 by mason.seay Updated mobile input textures to be power of two #jira UE-29618 Change 3253807 on 2017/01/11 by Mark.Satterthwaite Merging 3232641 & 3236788 & 3233854 & 3249742 from Dev-Rendering: 3232641: - Eliminate redundant state changes in MetalRHI in the state cache. - Add a new debug level for setting buffers to nil prior to calls to set*Bytes so that the tool doesn't display incorrect data. - Make testing for validation & statistics features use the same EMetalFeatures API as everything else for consistency. - Cache the fallback depth-stencil texture in the state cache and ignore it for determining whether a pass can restart - if we are using this texture its contents are worthless anyway. 3236788: Fix 10.11.6 support (aka -nometalv2): the stencil view workaround necessitates a mid-render blit and the way things were setup resulted in the HasValidRenderTargets assert firing. Refactored the code to separate the concept or valid render-states in the cache from active render-states in the render-pass. Now it works as intended and will be needed for 4.15. 3233854: More information about texture type validation errors in Metal. 3249742: Fix missing GPU particles on Mac. Pointers getting reused is causing the blendstate equality operator to fail. Simple workaround until we have time for a proper fix. #jira UE-40200 Change 3253636 on 2017/01/11 by Chris.Wood Improved tracking of runtime and debugger attachment for analytics purposes. [UE-39780] - Change IsDebugger to WasDebuggerPresent in all crash/AS analytics [UE-39777] - Update MTBF IsDebugger state for every heartbeat [UE-39778] - UnrealWatchdog to send WasDebuggerPresent state for app if set [UE-39779] - UnrealWatchdog to send total run time of process Debugger state was previously read once at startup or once at the time of an event. Debugger is now checked during the heartbeat and doesn't reset flag when detached so we know if a session was ever debugged. Also reporting total run time in UnrealWatchdog. Watchdog still doesn't run when debugging but and will never show popups to a debugger user even when forced on with -forcewatchdog. #jira UE-39780, UE-39777, UE-39778, UE-39779 Change 3253281 on 2017/01/10 by Dan.Oconnor Typo fix caused parameter in local struct definition to shadow the local #jira UE-40027 Change 3253231 on 2017/01/10 by Dan.Oconnor Mirror of 3253220 These pins should infer together #jira UE-40427 Change 3253125 on 2017/01/10 by Uriel.Doyon Brought back CL 3242117 and 3238685, which got lost on the way: - Fix for possiblel check fail when changin mobility of actors. - Fix for possible check fail when processing streaming data. #jira UE-39996 Change 3252936 on 2017/01/10 by Marc.Audy CopyPropertiesForUnrelatedObjects needs to consider path not just name of subobjects when matching them up to copy properties and update references Ensure that a reinstanced child actor component ends up pointing at the correct child actor template #jira UE-40027 Change 3252886 on 2017/01/10 by Lina.Halper Fix for invalid AnimCurves when curve is added while running #jira: UE-39826 Change 3252753 on 2017/01/10 by Frank.Fella Sequencer - Change track rows to use separate track nodes in the display node tree, fixes key edit issues on animation and audio tracks. #jira UE-39836 Change 3252640 on 2017/01/10 by Lukasz.Furman fixed NavCollision losing user settings after any property change copy of 3252628 #jira UE-40388 Change 3252614 on 2017/01/10 by Daniel.Wright UStaticMeshComponent::InvalidateLightingCacheDetailed uses MarkRenderStateDirty. Massively speeds up duplication of HISMC with many instances (10+ minutes -> seconds), as InvalidateLightingCacheDetailed gets called for every instance. #jira UE-40406 Change 3252609 on 2017/01/10 by mason.seay Updated map with text actors for more visual clarity #jira UE-29618 Change 3252477 on 2017/01/10 by Daniel.Wright [Copy] Fixed race condition with FPrecomputedLightVolume::Data which was exposed when switching lighting scenarios #jira UE-39852 Change 3252451 on 2017/01/10 by Daniel.Wright Garbage collection calls UWorld>SendAllEndOfFrameUpdates() on all loaded worlds first so that deferred recreate render states happen before any UObjects are deleted * Fixes rendering thread crashes in the order of events of 1) SetMaterial 2) GC 3) Rendering command that dereferences the UMaterial #jira UE-30089 Change 3252418 on 2017/01/10 by Ben.Zeigler #jira UE-40390 Fix crash saving blueprint with an inherited DataTable/CurveTable reference. Delta serialization meant that the necessary name wasn't in the name table, so adding it manually now. Change 3252410 on 2017/01/10 by Max.Chen Sequencer : Filter sections on select in range Copy from Dev-Sequencer #jira UE-37854 Change 3252385 on 2017/01/10 by Max.Chen Sequencer: Update auto tangents when setting key time. This fixes a bug where dragging keys with auto tangents doesn't recompute tangents properly. #jira UE-39923 Change 3252360 on 2017/01/10 by Allan.Bentham Remove incorrect assert for iOS. #jira UE-40385 Change 3252297 on 2017/01/10 by mason.seay Test assets for suspending cloth simulation #jira UE-29618 Change 3252125 on 2017/01/10 by Mieszko.Zielinski Fallout fix after removal of BlackboardKeyUtils::CalculateComparisonResult declaration from the AIModule #UE4 #jira UE-40099 Change 3251987 on 2017/01/10 by Allan.Bentham Fix HQ DoF #jira UE-35548 Change 3251856 on 2017/01/10 by Jack.Porter Fixed Get Instances Overlapping Box blueprint function due to issue with FBox constructor. Added MakeBox and MakeBox2D kismet native functions Fixed box overlap test ignoring instance scale #jira UE-34409 Change 3251519 on 2017/01/09 by Daniel.Wright [Copy] Fixed GLandscapeLayerUsageMaterial getting GC'ed #jira UE-40055 Change 3251146 on 2017/01/09 by Lina.Halper Fix on stable track data carrying over to pose asset - decided to clean up track data in anim sequence since we don't really need that data anymore #jira: UE-40351 #code review: Martin.Wilson Change 3251056 on 2017/01/09 by Lina.Halper fixed crash when pose node contains stale data when updating source. #jira: UE-40258 #code review; Thomas.Sarkanen Change 3251035 on 2017/01/09 by Mitchell.Wilson Removed preview mesh in M_GodRay to resolve CIS warning. Relinked textures used in two materials to resolve CIS warnings. #jira UE-40350 Change 3250959 on 2017/01/09 by Mitchell.Wilson Updating master sequence playback end time so the final audio track can be heard. Updating multiple shots to resolve issues with audio not playing back properly. #jira UE-40321 UE-40335 Change 3250896 on 2017/01/09 by Andrew.Rodham Sequencer: Fixed level visibility not working in PIE #jira UE-40082 Change 3250895 on 2017/01/09 by Andrew.Rodham Sequencer: Fixed evaluation of overlapping audio and skeletal aninmation sections - Audio and skeletal animation sections now continue to support legacy evaluation order. Overlapping sections of the same priority on the same row will be filtered out such that only the section with the latest start time will be evaluated. #jira UE-40320 Change 3250830 on 2017/01/09 by Ben.Woodhouse Duplicated from //ue4/Release-4.14 CL 3238182 Disable timestamp queries on pre-Maxwell nvidia hardware. Local testing suggests that this is the major cause of instability in the UE4.14 release. It's possible that we could be more targeted by only excluding Fermi and older hardware, but identifying fermi hardware by device ID is difficult in practice, since the range overlaps with Kepler. #jira UE-38818 Change 3250790 on 2017/01/09 by Lauren.Ridge Fixing backspace on VR Editor numberpad menu. #jira UE-39770 Change 3250681 on 2017/01/09 by Ben.Woodhouse Duplicated from dev-rendering@3249296: XB1/Fast semantics: Add missing L1/L2 cache flush on transition to readable (or RW). The missing cache flush was causing indeterminism when reading from a texture shortly after writing to it as a render target. This fixes bloom and diffuse irradiance issues The bug has been there for a while, but CL 3227787 (drawclear early out) caused it to manifest #jira UE-39727 #jira UE-40238 Change 3250680 on 2017/01/09 by Ben.Woodhouse Duplicated from dev-rendering@3238664 Fix dbuffer decal rendering issues in fullscreen on PC. Also fixes crash in editor when viewing dbuffer materials. Pass clearcolor in RT params for system textures to workaround a bug with ClearColorTexture not working in fullscreen mode on DX11. Make sure dbuffer targets are bound if we're rendering mesh decals #jira UT-6891 #jira UE-39842 #jira UE-39949 Change 3250609 on 2017/01/09 by Steve.Robb Maximum number of stats-using threads increased to 512. #jira UE-38153 Change 3250604 on 2017/01/09 by Andrew.Rodham Sequencer: Fixed incorrect seed being used when generating new animation type IDs for object properties #jira UE-40327 Change 3250589 on 2017/01/09 by Matthew.Griffin Changed publish symbols node to use runtime dependencies instead of manually including the whole PhysX folder Avoids unused configs and VS2013 files #jira UE-39171 Change 3250578 on 2017/01/09 by Matthew.Griffin Removed art tools from released build now that they are available separately on the Marketplace Change 3250282 on 2017/01/07 by Mieszko.Zielinski Fixed UNavigationSystem::bNavigationAutoUpdateEnabled getting ignored by recent addition to related condition in UNavigationSystem #UE4 Reported by UT team. Replication of a fix from Dev-Framework that didn't make it to 4.15 stream #jira UE-40324 Change 3250276 on 2017/01/07 by Mieszko.Zielinski Fixed not being able to add elements to UAIPerceptionStimuliSourceComponent.RegisterAsSourceForSenses for instances manually placed on the map #UE4 #jira UE-31711 Change 3250219 on 2017/01/07 by Mieszko.Zielinski Extended comment to AISenseConfig_Sight::PeripheralVisionAngleDegrees to make it clear how it works #UE4 #jira UE-31731 Change 3250147 on 2017/01/07 by Andrew.Rodham Added missing includes #jira UE-40019 Change 3250096 on 2017/01/06 by Nick.Shin refetch on timed out GET/POST requests correction to: UE_MakeHTTPDataRequest #jira UE-39992 Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure" Change 3249963 on 2017/01/06 by Mieszko.Zielinski removed unused and undefined BlackboardKeyUtils::CalculateComparisonResult #UE4 #jira UE-40099 Change 3249829 on 2017/01/06 by Alexis.Matte turn on the material name clash feature for the content browser importer. #jira UE-40298 Change 3249791 on 2017/01/06 by andrew.porter QAGame: Added level blueprint logic to QA-Sequencer that lets tester override sequence bindings #jira UE-29618 Change 3249755 on 2017/01/06 by Jamie.Dale Some fixes for object reference detection and notification when deleting assets #jira UE-40121 Change 3249727 on 2017/01/06 by James.Golding #jira UE-40242 Change 3249707 on 2017/01/06 by Mitchell.Wilson Removing preview mesh with incorrect path from materials to resolve warnings in CIS. #jira UE-40311 Change 3249543 on 2017/01/06 by Michael.Dupuis #jira UE-40299: validate if UISettings is valid Change 3249506 on 2017/01/06 by Alexis.Matte Make sure we use the correct LodIndex when importing a new LOD in case a previous LOD import fail. #jira UE-40240 Change 3249477 on 2017/01/06 by Ori.Cohen Fix incorrect warning when moving kinematic objects during simulation. #JIRA UE-40290 Change 3249472 on 2017/01/06 by Andrew.Rodham Sequencer: Undo now works as expected when editing the properties of a key #jira UE-40019 Change 3249390 on 2017/01/06 by Mitchell.Wilson Removing preview meshes with improper path from materials to resolve CIS warnings in landscape mountains sample. #jira UE-40300 Change 3249317 on 2017/01/06 by Alexis.Matte Fix a crash when loading skeletalmesh with no section #jira UE-40249 Change 3249294 on 2017/01/06 by Mitchell.Wilson Updated defaultengine.ini for Match 3 to resolve warnings in CIS. ServerDefaultMap and TransitionMap had invalid paths. #jira UE-40295 Change 3249213 on 2017/01/06 by Chris.Bunner Fixed up logic for windowed/fullscreen output display selection when working with HDR. Now selects the most appropriate display if HDR enabled, else current monitor window is on. FullscreenDisplay commandline functions regardless of HDR support. #jira OR-33525, OR-33536, OR-33540, OR-33520 Change 3249135 on 2017/01/06 by Martin.Wilson Fix root motion issues on additive animations. - Fix scale issue on resetting root bone - Fix loss of root motion when animation is additive. #jira UE-40232 Change 3248522 on 2017/01/05 by Alexis.Matte Fix a crash when reimporting morph target. Also fix a crash when initiating ColorVertexBuffer with NULL value #jira UE-40201 Change 3248271 on 2017/01/05 by Andrew.Rodham Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence #jira UE-40234 Change 3248092 on 2017/01/05 by Ben.Marsh UBT: Remove the [Obsolete] attribute from methods in TargetRules; the [ObsoleteOverride] attribute gives a much better (and more concise) warning with specific instructions on how to resolve it. Change 3248091 on 2017/01/05 by Marcus.Wassmer Tick renderthreadtickables in -onethread to avoid leaks. #jira UE-40248 Change 3248063 on 2017/01/05 by Marc.Audy Route FAudioDevice::StopAllSounds to the audio thread if called on the game thread #jira UE-40243 Change 3247995 on 2017/01/05 by Maciej.Mroz NativizationSummary object is always present. manually merged cl#3247985 from Dev-Blueprints #jira UE-40035 Change 3247873 on 2017/01/05 by Chad.Garyet Adding "Generate QA Labels" buildgraph node and automation script. Port of createNewLabel and createMinimumLabel python scripts into UAT #jira UEB-725 Change 3247855 on 2017/01/05 by Nick.Shin refetch on timed out GET/POST requests #jira UE-39992 Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure" Change 3247737 on 2017/01/05 by Marc.Audy static mesh component instance data now correclty inherits from pritive component instance data instead of skipping it and inheriting directly from scene component instance data #jira UE-40053 Change 3247723 on 2017/01/05 by mason.seay Asset for suspend cloth bug #jira UE-29618 Change 3247708 on 2017/01/05 by Mitchell.Wilson Updating project settings to disable dbuffer decals to resolve rendering issues in Showdown while using -game -vr #jira UE-40195 Change 3247652 on 2017/01/05 by Martin.Wilson Fixes for animation notifies window -Fix notify not being removed from skeleton -Fix crash where editor is not refreshed after notify removal #jira UE-40154 Change 3247638 on 2017/01/05 by mason.seay Test assets for cloth suspension #jira UE-29618 Change 3247630 on 2017/01/05 by Alexis.Matte Prevent crash when the import fail and we have no staticmesh created #jira UE-40024 Change 3247556 on 2017/01/05 by Ben.Marsh Fix non-unity compile error. Change 3247547 on 2017/01/05 by Jurre.deBaare Crash while using the Delete Button in the HLOD Outliner while a Generated Proxy Mesh is opened in the Static Mesh Editor #fix Unify path for both delete cluster options in the outliner UI #jira UE-40066 Change 3247539 on 2017/01/05 by Benn.Gallagher Fixed serialization crash for simplified skeletal meshes leading to corrupted assets that crash on load after skin weight buffer changes. #jira UE-40199 Change 3247515 on 2017/01/05 by Allan.Bentham Fix inverted planar reflections when mobileLDR Fixed incorrect gamma 2 planar reflection rendering when mobileLDR #jira UE-32868 Change 3247502 on 2017/01/05 by Dmitriy.Dyomin Fixed: Single digit frame rate when sculpting landscape foliage. #jira UE-39532 Change 3247232 on 2017/01/04 by Ben.Marsh Remove private include from public header. Prevents compiling samples from installed build of the engine without private headers. #jira UE-40135, UE-40137, UE-40139, UE-40140, UE-40141, UE-40142, UE-40143, UE-40144 Change 3247002 on 2017/01/04 by Chris.Babcock Changed Vulkan hitchy pipeline log message verbosity #jira UE-38354 #ue4 #android #dontbackcopy Change 3246927 on 2017/01/04 by matt.barnes Updating QAGame content to facilitate UEQATC-2969 #jira UE-29618 Change 3246894 on 2017/01/04 by Mike.Beach Mirroring CL 3245322 from Dev-BP Fixed a crash when implementing a native interface in a BP #jira UE-40155, UE-40203 Change 3246830 on 2017/01/04 by Chris.Bunner Allow AllocGBuffer call when in simple-forward so dummy uniform buffer creation can occur. #jira UE-39756 Change 3246816 on 2017/01/04 by Jon.Nabozny Fix Anim Notifies Tab not opening in Animation Editor. #JIRA UE-40134 Change 3246804 on 2017/01/04 by Ori.Cohen Touch engine file to trigger re-link. #JIRA UE-40156 Change 3246709 on 2017/01/04 by mason.seay Updated map #jira UE-29618 Change 3246606 on 2017/01/04 by Ori.Cohen Fix for sweeps taking too long time (OR-32839). - Exhaustive investigation uncovered apparent numerical problems in this code (when compiling with clang 3.9.x with -ffast-math). - Current solution can result in overshoot for certain trace extents, but they are not expected to be a practical problem in Unreal. - NVidia is aware and will investigate a better solution. #tests Compiled Linux server with the changed PhysX and continuously ran bot matches for about a day. #JIRA UE-40156 Change 3246571 on 2017/01/04 by Marc.Audy Look at the body instance's desired collision enabled value rather than the primitive component's current collision enabled value when determining whether physics state should be created #jira UE-39994 Change 3246527 on 2017/01/04 by tim.gautier QAGame: BP_MediaPlayer now displays the name of the MediaPlayer plugin currently in use during playback #jira UE-29618 Change 3246480 on 2017/01/04 by mason.seay Map update #jira UE-29618 Change 3246470 on 2017/01/04 by Ori.Cohen Guard against infinitely thin geometry which fixes some nans. This showed up as issues in various projects #JIRA UE-00000 Change 3246413 on 2017/01/04 by Jon.Nabozny Cube asset did not have Tri Meshes. Reimported to fix the issue. -- Copied from 3233164 -- #jira UE-39657 Change 3246388 on 2017/01/04 by Jon.Nabozny Set 'p.MoveIgnoreFirstBlockingOverlap' to be enabled by default (3158732). This causes collision behavior to remain unchanged unless people opt in to the new behavior. -- Copied from 3239735 (bot health fixed by a different CL) -- #jira UE-39387 Change 3246352 on 2017/01/04 by Jon.Nabozny Fix FPredictProjectilePathParams to use a valid default value for TraceChannel. This requires the use of a new bool bTraceWithChannel which is enabled by default. -- Copied from 3239765 -- #JIRA UE-39726 Change 3246341 on 2017/01/04 by Ori.Cohen Allow vehicles to inherit from PawnMovementComponent and only use the pawn/ai capabilities when a Pawn owner is used. #JIRA UE-39508 Change 3246178 on 2017/01/04 by Andrew.Rodham Sequencer: When playback stops naturally, the play position is set to the boundary that caused playback to stop (the end if playing forwards, the start if playing backwards) - This is to reconcile the movie scene sequence player with previous behaviour #jira UE-40076 Change 3246102 on 2017/01/04 by Benn.Gallagher Fixed single threaded physics dispatcher triggering checks from clothing when running with a CPU with two or fewer cores. #jira UE-39811 Change 3246100 on 2017/01/04 by Benn.Gallagher Fixed ensure triggered when using root motion with sub instances Fixed crash reinstancing an active anim class that had subinstances #jira UE-39582 #jira UE-39579 Change 3246092 on 2017/01/04 by Marc.Audy PR #3082: Improve comment for UInputComponent (Contributed by Soleone) #jira UE-40098 Change 3246084 on 2017/01/04 by Matthew.Griffin Remove bad files Change 3246076 on 2017/01/04 by Matt.Kuhlenschmidt Fixed all non-editable text properties having a double disabled effect. The text box is read only which prevents edting but still allows copying text from it. This feature had regressed and the disabled effect on top of the read only effect made it too difficult to see the text. #jira UE-39652 Change 3246043 on 2017/01/04 by Steve.Robb Use of CastChecked instead of Cast in implementations of IStructSerializerBackend::WriteProperty. This is both more efficient and will hopefully make it easier to diagnose the issue. #jira UE-39872 Change 3246032 on 2017/01/04 by Martin.Wilson Change FindBoneIndex to FindRawBoneIndex (final bone maps are not built until after all adding is done so they will not be found) #jira UE-40105 Change 3246016 on 2017/01/04 by Andrew.Rodham Editor: Insert/Duplicate/Delete menu on array properties now only closes itself on click, rather than all menus - This allows us to edit such properties on context menus #jira UE-39998 Change 3246005 on 2017/01/04 by Thomas.Sarkanen Fixed asset attachment issues in Skeleton Tree Assets were being attached uniquely, so only one asset could be attached to a bone/socket. However the calling code didnt know that the unique attachment function just gave up, so the item just got added to the bottom of the tree. The attachment filter was not set correctly to allow for bone attatchments, so only sockets could be attached to. The attach parent name was not initialized, so assets could not be deleted one at a time. #jira UE-40040 - With multiple Preview assets on one bone, only one appears in Skeleton Tree #jira UE-40041 - Preview assets appear at the bottom of the skeleton tree Change 3246002 on 2017/01/04 by Andrew.Rodham Sequencer: Fixed actor tick prerequisites not getting set up correctly for master sequences #jira UE-39975 Change 3245979 on 2017/01/04 by Andrew.Rodham Sequencer: Fixed scrubbing audio tracks not working propertly #jira UE-40048 Change 3245978 on 2017/01/04 by Andrew.Rodham Sequencer: Fixed dropping a level onto a level visibility section not marking the track as changed, and not correctly creating a transaction #jira UE-39998 Change 3245977 on 2017/01/04 by Andrew.Rodham Sequencer: Fixed crash caused by lingering persistent evaluation data #jira UE-40064 Change 3245971 on 2017/01/04 by Dmitriy.Dyomin Fixed: Using Set World Origin Location will cause the player pawn to stutter #jira UE-40022 Change 3245725 on 2017/01/03 by Matt.Barnes Further improvments on test assets for UEQATC-2963 #jira UE-29618 Change 3245658 on 2017/01/03 by Arciel.Rekman Linux: fix ARM32 build (UE-39913). #jira UE-39913 (Redoing CL 3240982 from Dev-Platform in Release-4.15) Change 3245577 on 2017/01/03 by Mason.Seay More vehicle updates #jira UE-29618 Change 3245556 on 2017/01/03 by Matt.Barnes Updating test content for UEQATC-2963 #jira UEQATC-2963 Change 3245461 on 2017/01/03 by mason.seay Updating Inertia Tensor Scale to improve Vehicle Handling #jira UE-40013 Change 3245442 on 2017/01/03 by Jeff.Fisher UEVR-495 Assert when switching to 2d mode. sceHmdReprojectionStart failing. -There was a race condition between switching output modes on the render thread and sceHmdReprojectionStart on the RHI thread. The flush fixes that. The reprojection would simply have failed that frame previously in shipping which would not matter much as we are switching output modes anyway. #jira UEVR-495 #review-3245374 Change 3245427 on 2017/01/03 by Jeff.Fisher UEVR-456 check if we are using camera before doing camera disconnected dialog on PSVR -If the tracker is active, but we are tracking nothing (ie we have the morpheus hmd tracking plugin, and started up with it, but switched to 2d mode) don't pop up the camera setup warning until we start trying to track something again. -This is useful for apps that have 2d and vr modes. #jira UEVR-456 #review-3245372 Change 3245329 on 2017/01/03 by mason.seay Level and vehicle tweaks #jira UE-29618 Change 3245275 on 2017/01/03 by Chris.Babcock Added EngineVersion to AndroidManfiest.xml metadata #jira UE-40123 #ue4 #android Change 3245235 on 2017/01/03 by Guillaume.Abadie Cherry picks CL 3234813 from Dev-Rendering: Fixes texture mask static lighting when using GBuffer selective outputs. #jira UE-39527 Change 3245183 on 2017/01/03 by Chris.Babcock Added missing #undef LOCTEXT_NAMESPACE to some files (contributed by projectgheist) #jira UE-40103 #PR #3085 #ue4 #android Change 3245120 on 2017/01/03 by mason.seay Missed some assets #jira UE-29618 Change 3245116 on 2017/01/03 by mason.seay Mass fucntional test #jira UE-29618 Change 3245049 on 2017/01/03 by Ben.Marsh PR #3086: Fixed ScriptGeneratorPlugin #includes (Contributed by projectgheist) Change 3244924 on 2017/01/03 by Ben.Zeigler #jira UE-40057 Fix regression in public access for SwapPlayerControllers, from GitHub #3072 Change 3244831 on 2017/01/03 by Mitchell.Wilson Fixed hole in collision around level. #jira UE-39576 Change 3244817 on 2017/01/03 by Matthew.Griffin Change check for files being under engine directory to avoid problems with relative paths #jira UE-40096 Change 3244801 on 2017/01/03 by Andrew.Rodham Editor: Fixed color picker not working when opened from a details panel on a context menu - When a color picker is opened from a details panel that's on a context menu, it now opens as a sub menu - Added the ability to find an open menu from a widget path to FSlateApplication #jira UE-39932 Change 3244776 on 2017/01/03 by Matt.Kuhlenschmidt Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices. #jira UE-7388 Change 3244672 on 2017/01/03 by Ben.Marsh Search all directories containing universal CRT installations from the registry, rather than assuming that the first one found will contain the universal CRT version we want to use. Attempt to fix issues described in PR #3059. Change 3244668 on 2017/01/03 by Thomas.Sarkanen Added "Reimport Animation" and "Export to FBX" to the animation editor toolbar Options were in the asset menu before. #jira UE-39643 - Missing "Reimport" option for animation assets Change 3244667 on 2017/01/03 by Thomas.Sarkanen Reduced default URO distances in-line with new LOD calculations New values should give (roughly) the same effect as the older values with the older system. #jira UE-39939 - URO LOD distance factors different with the new screen size metric Change 3244654 on 2017/01/03 by Matthew.Griffin Added functionality to specify Loading Phase for plugin templates Changed Blueprint Library Template so that it loads pre loading screen and can be linked correctly in blueprints that use it #jira UE-38826 Change 3244631 on 2017/01/03 by Dmitriy.Dyomin Fixed: TM_Landscape_LOD Folder does not Live Update contents after generating LODs with Create Per Package Asset #jira UE-37368 Change 3244548 on 2017/01/02 by Jack.Porter Fix for Post-process Materials rendering incorrectly in editor mobile preview after viewport is resized #jira UE-39905 Change 3244389 on 2016/12/30 by Phillip.Kavan [UE-39816] Fix broken pin links caused by renaming interface function input/output parameters prior to compiling the interface, but after renaming the function itself. Mirrored from //UE4/Dev-Blueprints (CL# 3244388). #jira UE-39816 Change 3244248 on 2016/12/29 by laz.matech Saved the new sublevel in the persistent level and set it to hidden by default #jira UE-29618 Change 3244213 on 2016/12/29 by laz.matech Added a sublevel to QA-Sequencer map #jira UE-29618 Change 3243857 on 2016/12/27 by samuel.proctor Altered Container asset to have proper console input #jira UE-29618 Change 3243852 on 2016/12/27 by Mason.Seay Forgot config file #jira UE-29618 Change 3243847 on 2016/12/27 by mason.seay Improved mobile input #jira UE-29618 Change 3243536 on 2016/12/24 by Phillip.Kavan [UE-39944] Extend the GetClassDefaults node to include output pin exceptions for TSet/TMap properties (i.e. mirror safeguards already in place for TArray). Mirrored from //UE4/Dev-Blueprints (CL# 3243210). #jira UE-39944 Change 3243535 on 2016/12/24 by Phillip.Kavan [UE-39816] Renaming interface input/output parameters will no longer cause broken pin links at interface function call sites in Blueprints that are currently loaded. Mirrored from //UE4/Dev-Blueprints (CL# 3243207). #jira UE-39816 Change 3243534 on 2016/12/24 by Phillip.Kavan [UE-39733] Fix incorrect graph pin value display names for user-defined enum types. Mirrored from //UE4/Dev-Blueprints (CL# 3239965). #jira UE-39733 Change 3243532 on 2016/12/24 by Phillip.Kavan [UE-39854] Fix nativized assets build error when there are no native code dependencies. Mirrored from //UE4/Dev-Blueprints (CL# 3239778). #jira UE-39854 Change 3243529 on 2016/12/24 by Phillip.Kavan [UE-38999] Dump component tree node hierarchy to the output log on error state during widget generation. Mirrored from //UE4/Dev-Blueprints (CL# 3239289). #jira UE-38999 Change 3243442 on 2016/12/23 by mason.seay QAGame cleanup - Replacing copy pose from mesh test assets #jira UE-29618 Change 3243215 on 2016/12/22 by Dmitriy.Dyomin Fixed: Switching to ES2 feature level preview renders black in editor #jira UE-40009 Change 3243185 on 2016/12/22 by Ryan.Vance #jira UEVR-478 Integrating 3235308 Mono changes from DevVR. Change 3243183 on 2016/12/22 by Ryan.Vance #jira UEVR-455 Integrating 3243173 post present call back implementation from 4.14.1 Change 3243182 on 2016/12/22 by Ryan.Vance #jira UE-39269 Working around a nullptr deref in the Oculus runtime. Change 3243153 on 2016/12/22 by mason.seay WIP map update #jira UE-29618 Change 3243128 on 2016/12/22 by andrew.porter QAGame: Adding Actor Sequence test content for a crash. #jira UE-29618 Change 3243117 on 2016/12/22 by Jeff.Fisher UE-34004 GitHub 2659 : Implement support for OpenVR controller roles. -Rather than assigning unreal hands to controllers in the order the controllers are connected assign unreal hands to match the ones the API is using. -We now defer setting up controllers that are disconnected. This lets connected controllers, that may have hand preference from steam, occupy their desired hands first. If a controller is connected later and does not have a role it is assigned to an unoccupied hand or to the right hand. -This can still end up ignoring role in the following circumstance (and I can get it to do this): get one controller to prefer'right' and the other to have no preference. Power off the 'right' prefering controller. Start the game with only the no-preference controller on. The game will put that controller in the right slot, because the api gives it no other hints. Then power on the controller that preferred 'right'. That controller will now be assigned left, because right is occupied. I don't see a way around that without the ability to switch which hand a controller is associated with at runtime. -This does not yet handle starting with 2 controllers, disconnecting one, then connecting a third controller well. That did not work before either. A new Jira was created for that. #2659 #jira UE-34004 #review-3231154 Change 3243093 on 2016/12/22 by mason.seay Some tweaks to vehicle levels #jira UE-29618 Change 3243084 on 2016/12/22 by andrew.porter QAGame: Cleaned up Sequencer_OverrideBindings #jira UE-29618 Change 3243009 on 2016/12/22 by andrew.porter QAGame: Renaming actor in Sequencer_OverrideBindings. #jira UE-29618 Change 3243003 on 2016/12/22 by andrew.porter QAGame: Removing override bindings from level sequence #jira UE-29618 Change 3242996 on 2016/12/22 by andrew.porter QAGame: Slight tweak to QA-Sequencer. #jira UE-29618 Change 3242982 on 2016/12/22 by Marc.Audy Properly reenable stats sounds in both game and level editor #jira UE-40015 Change 3242959 on 2016/12/22 by mason.seay Test map for vehicles and moving meshes #jira UE-29618 Change 3242934 on 2016/12/22 by andrew.porter QAGame: Adding test content to QA-Sequencer for Override Bindings #jira UE-29618 Change 3242870 on 2016/12/22 by Mason.Seay QAGame footprint reduction: Clearing out content (were in for old bug reports) #jira UE-29618 Change 3242799 on 2016/12/22 by tim.gautier QAGame - Adding the following assets for Sequencer Event Track testing: -TM-Sequencer_EventTrack + BuildData -QA_LightStruct -Sequencer_EventTrack #jira UE-29618 Change 3242792 on 2016/12/22 by samuel.proctor Correcting Container test asset for proper output #jira UE-29618 Change 3242727 on 2016/12/22 by Dmitriy.Dyomin Fixed: LoadLevelIntstance returns a reference that can't be used to send an interface message #jira UE-40005 Change 3242666 on 2016/12/22 by Dmitriy.Dyomin Fixed: Packaging Android app for Mali Graphics Debugger v4.3.0 fails #jira UE-39534 Change 3242373 on 2016/12/21 by Ori.Cohen Allow vehicles to override inertia tensor after any mass properties have changed. #JIRA UE-39566 Change 3242323 on 2016/12/21 by Josh.Adams - Somehow my last change just got completely lost in the edigrate shuffle. Or something. I have no idea! Rdoing it #jira UE-39966 Change 3242286 on 2016/12/21 by mason.seay Vehicle Assets and Maps #jira UE-29618 Change 3242284 on 2016/12/21 by Marc.Audy Fix "stat sounds" not working after PIE completes and a new one is begun #jira UE-32743 #jira UE-39511 Change 3242281 on 2016/12/21 by Ori.Cohen Fix multi select being very slow in phat #JIRA UE-39559 Change 3242229 on 2016/12/21 by Ben.Marsh Fixup workspace for building PhysX. Change 3242227 on 2016/12/21 by Marc.Audy Properly update listener position for stat sounds #jira UE-38850 Change 3242218 on 2016/12/21 by Ori.Cohen Fix physx html5 compilation APEX issue. #JIRA UE-39566 Change 3242174 on 2016/12/21 by Ori.Cohen Fix incorrect moment of inertia for convex elements with translation. #JIRA UE-39566 Change 3242145 on 2016/12/21 by Ori.Cohen Port 4.14 hotfix for vehicle stability #JIRA UE-38710 Change 3242139 on 2016/12/21 by Ori.Cohen Port 4.14 hotfix: Fix crash when setting collision trace in construction script. #JIRA UE-39341 Change 3242088 on 2016/12/21 by Alexis.Matte Fix the drag and drop material on level instance to drop on the correct material slot Fix the serialization of the staticmesh property FMeshSectionInfoMap #jira UE-39952 Change 3242081 on 2016/12/21 by Andrew.Rodham Sequencer: Make details view focused when resetting inner struct contents to ensure that focus path is valid. #jira UE-39851 Change 3242079 on 2016/12/21 by Andrew.Rodham Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer #jira UE-39882 Change 3242078 on 2016/12/21 by Andrew.Rodham Sequencer: Fixed crash when deactivating a section in sequencer #jira UE-39880 Change 3242026 on 2016/12/21 by Josh.Adams - Fixed compile errors in tools after NVNRHI move #jira UE-39966 Change 3241994 on 2016/12/21 by andrew.porter QAGame: Disabled auto play on Sequencer_AnimNotify. #jira UE-29618 Change 3241989 on 2016/12/21 by Mitchell.Wilson Resolving CIS warnings in Content examples. Fixed up redirectors. Moved a texture from developer folder into project and relinked in POM_Debug material. Fixed up BP Commentary Box which was failing to compile. Updated spawn rate on Pulse Ring so it works as intended. #jira UE-39984 Change 3241986 on 2016/12/21 by mason.seay Vehicle Landscape Test map (mainly for crash investigation) #jira UE-29618 Change 3241914 on 2016/12/21 by Josh.Adams - Removed invalid and confusing .ini settings #jira UE-39982 Change 3241902 on 2016/12/21 by Josh.Adams - Moved NVNRHI stuff out of RHI.Build.cs #jira UE-39966 Change 3241889 on 2016/12/21 by andrew.porter QAGame: Added new level sequence to QA-Sequencer level #jira UE-29618 Change 3241884 on 2016/12/21 by Alexis.Matte Make sure the color grading cursor follow the mouse by using the exponent value when painting the cursor. #jira UE-39834 Change 3241869 on 2016/12/21 by andrew.porter QAGame: Adding test content for Sequencer Animation Notifies #jira UE-29618 Change 3241809 on 2016/12/21 by Chris.Wood Fix non-unity build errors in UnrealWatchdog. [UE-39940] - GitHub 3054 : Added EngineBuildSettings.h to UnrealWatchdog.cpp PR #3054: Added EngineBuildSettings.h to UnrealWatchdog.cpp (Contributed by ryanjon2040) #jira UE-39940 Change 3241806 on 2016/12/21 by Marc.Audy Don't unload and then reload streaming levels that are marked to be hidden. #jira UE-39883 Change 3241802 on 2016/12/21 by Marc.Audy Add new object flag RF_NeedInitialization to indicate that ~FObjectInitalizer and PostInitProperties have not been executed for the object Do not allow Modify calls on Objects that have not been initialized #jira UE-39731 Change 3241790 on 2016/12/21 by Marc.Audy Don't rerun construction scripts when an actor has seamless traveled from another level #jira UE-39699 Change 3241789 on 2016/12/21 by Marc.Audy Check Owner has a valid world before trying to access Scene (4.14.2) #jira UE-39560 Change 3241786 on 2016/12/21 by Marc.Audy Fixed crash when seamless travelling in PIE from levels other than the current editor level with a streaming sublevel shared with the current editor level #jira UE-39407 Change 3241781 on 2016/12/21 by Mitchell.Wilson Fixed up redirectors for SkeletalMesh and Personal Walkthroughs. #jira UE-30953 Change 3241747 on 2016/12/21 by mason.seay Tag Query test map and assets #jira UE-29618 Change 3240938 on 2016/12/20 by Ben.Marsh Remaking QFE fixes from 4.14 branch. Change 3240740 on 2016/12/20 by Ben.Marsh Update branch name for analytics. [CL 3272229 by Matthew Griffin in Main branch]
2017-01-25 16:23:41 -05:00
this, PinType.PinCategory, PinType.PinSubCategory, PinType.PinSubCategoryObject.Get(), PinType.bIsArray, PinType.bIsSet, PinType.bIsMap, PinType.PinValueType);
bIsErrorFree &= TempVarOutput->GetVariablePin() && CompilerContext.MovePinLinksToIntermediate(*CurrentPin, *TempVarOutput->GetVariablePin()).CanSafeConnect();
VariableOutputs.Add(FBaseAsyncTaskHelper::FOutputPinAndLocalVariable(CurrentPin, TempVarOutput));
}
}
// FOR EACH DELEGATE DEFINE EVENT, CONNECT IT TO DELEGATE AND IMPLEMENT A CHAIN OF ASSIGMENTS
UEdGraphPin* LastThenPin = CallCreateProxyObjectNode->FindPinChecked(Schema->PN_Then);
UK2Node_CallFunction* IsValidFuncNode = CompilerContext.SpawnIntermediateNode<UK2Node_CallFunction>(this, SourceGraph);
const FName IsValidFuncName = GET_FUNCTION_NAME_CHECKED(UKismetSystemLibrary, IsValid);
IsValidFuncNode->FunctionReference.SetExternalMember(IsValidFuncName, UKismetSystemLibrary::StaticClass());
IsValidFuncNode->AllocateDefaultPins();
UEdGraphPin* IsValidInputPin = IsValidFuncNode->FindPinChecked(TEXT("Object"));
bIsErrorFree &= Schema->TryCreateConnection(ProxyObjectPin, IsValidInputPin);
UK2Node_IfThenElse* ValidateProxyNode = CompilerContext.SpawnIntermediateNode<UK2Node_IfThenElse>(this, SourceGraph);
ValidateProxyNode->AllocateDefaultPins();
bIsErrorFree &= Schema->TryCreateConnection(IsValidFuncNode->GetReturnValuePin(), ValidateProxyNode->GetConditionPin());
bIsErrorFree &= Schema->TryCreateConnection(LastThenPin, ValidateProxyNode->GetExecPin());
LastThenPin = ValidateProxyNode->GetThenPin();
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3355692) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3348195 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347729 for variable shadow warning caused by CL 3347393 Change 3347935 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347393 for a runtime asset crash Change 3340537 on 2017/03/09 by James.Brinkerhoff Hotfix from CL 3338679 for arrow keys not working to navigate between elements in the details panel Change 3335755 on 2017/03/07 by Ben.Marsh Pass bCreateStubIPA into PrepForUATPackageOrDeploy rather than setting it through a global configuration object (which is no longer accessible). Change 3334652 on 2017/03/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3331740 Change 3332441 on 2017/03/03 by James.Brinkerhoff Hotfix from CL 3296668 for assert when creating memory reports #jira OCN-6087: [CRASH] Crash after entering the memreport command into the command line. Change 3318933 on 2017/02/23 by Allan.Bentham Temp workaround for iOS metal sRGB capable render targets sRGB correcting twice. Change 3314064 on 2017/02/21 by Richard.Fawcett Implement randomized manifest filenames for Ocean. Change 3313139 on 2017/02/20 by James.Brinkerhoff Hotfix from CL 3262052 for UE-40782 Put back the skinxx workflow for the staticmesh Change 3292678 on 2017/02/08 by Brian.Zaugg Back out changelist 3292455 Change 3292455 on 2017/02/08 by Brian.Zaugg Back out changelist 3292268 Change 3292268 on 2017/02/08 by Allan.Bentham Restore DestStride output value when locking compressed textures. Change 3288925 on 2017/02/06 by Brian.Zaugg Change this error from a check to an error log: "Loading non-streamed mips from an external bulk file. This is not desireable." Change 3288441 on 2017/02/06 by James.Brinkerhoff Hotfix from CL 3255451 for UE-40384: Reference Viewer comment text is difficult to read #jira OCN-6059: CLONE - Comment boxes are turning opaque when the game is running Change 3285501 on 2017/02/03 by Allan.Bentham Fix for ring buffer not allocating sufficient space for large requests. Change 3280062 on 2017/01/31 by Max.Chen Sequencer: Find object in any package. This fixes an issue where bound objects can't be found. #jira UE-39459 Change 3279375 on 2017/01/31 by Brian.Zaugg Increase TaskGraph thread stack size for non-shipping builds to prevent stack overflow on iOS. Change 3279366 on 2017/01/31 by Brian.Zaugg Fix for iOS virtual keyboard. Change 3275965 on 2017/01/27 by Max.Chen Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence Copy from Release-4.15 #jira UE-40234 Change 3275963 on 2017/01/27 by Max.Chen Sequencer: Fixed crash caused by lingering persistent evaluation data Copy from Release-4.15 #jira UE-40064 Change 3275962 on 2017/01/27 by Max.Chen Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer Copy from Release-4.15 #jira UE-39882 Change 3275523 on 2017/01/27 by James.Brinkerhoff Fix issue with automation tool caused by a bad resolve Change 3274292 on 2017/01/26 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3269883 Change 3252898 on 2017/01/10 by James.Brinkerhoff Hotfix from CL 3187276 for UE-39071: Crash on adding Actor Reference property to a Struct Change 3248463 on 2017/01/05 by Aaron.McLeran Implementing UE-39421 fix into Ocean Change 3247933 on 2017/01/05 by James.Brinkerhoff Hotfix from CL 3246828 for UE-39249: Particle effects only render in one eye for VR Change 3242274 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209235 for UE-16688 - Selection and selection highlight doesn't work on child actors Change 3242273 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209232 for making the function GetComponents optionally include components in child actors Also fixed a circular dependency due to the hotfix (already applied in UE4 Main) Change 3240035 on 2016/12/19 by Jaren.Peterson MovieSceneEventTemplate - Renamed FEventData to FMovieSceneEventData to eliminate confusion and clear up a crash occuring in Ocean debug builds. Change 3236490 on 2016/12/15 by Chad.Garyet Updating packaged build to not make a stub. This was stopping all icons from making it into the .ipa and messing up the resolution settings. also cleaned up the local staging directories. Change 3231487 on 2016/12/12 by Brian.Zaugg Maintain aspect ratio when render target is clamped. Change 3229050 on 2016/12/09 by Brian.Zaugg #ocn - Hotfix from CL 3218104. Fixes code signing errors related to iCloud support. Change 3225632 on 2016/12/07 by Brian.Zaugg New Chair Entertainment Group iOS Distribution certificate .p12. Change 3224015 on 2016/12/06 by Brian.Zaugg #ocn - Hotfix from CL 3223546 fixes iOS audio crash after last merge from main. Change 3221665 on 2016/12/05 by James.Brinkerhoff Merging hotfixes from //UE4/Ocean-Staging to //Ocean/Main Hotfix from CL 3216832 for non-unity build failures Hotfix from CL 3217564 for fixing the FixDylib script being run on too many modules. Mac build farm is oversaturated right now. Change 3217759 on 2016/12/01 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ 3215855 Change 3214085 on 2016/11/29 by Casey.Spencer Removed logic in K2Node_BaseAsyncTask that excluded properties defined on super classes. Check with engine team prior to making change. [CL 3359832 by James Brinkerhoff in Main branch]
2017-03-23 02:04:59 -04:00
for (TFieldIterator<UMulticastDelegateProperty> PropertyIt(ProxyClass); PropertyIt && bIsErrorFree; ++PropertyIt)
{
bIsErrorFree &= FBaseAsyncTaskHelper::HandleDelegateImplementation(*PropertyIt, VariableOutputs, ProxyObjectPin, LastThenPin, this, SourceGraph, CompilerContext);
}
if (CallCreateProxyObjectNode->FindPinChecked(Schema->PN_Then) == LastThenPin)
{
CompilerContext.MessageLog.Error(*LOCTEXT("MissingDelegateProperties", "BaseAsyncTask: Proxy has no delegates defined. @@").ToString(), this);
return;
}
// Create a call to activate the proxy object if necessary
if (ProxyActivateFunctionName != NAME_None)
{
UK2Node_CallFunction* const CallActivateProxyObjectNode = CompilerContext.SpawnIntermediateNode<UK2Node_CallFunction>(this, SourceGraph);
CallActivateProxyObjectNode->FunctionReference.SetExternalMember(ProxyActivateFunctionName, ProxyClass);
CallActivateProxyObjectNode->AllocateDefaultPins();
// Hook up the self connection
UEdGraphPin* ActivateCallSelfPin = Schema->FindSelfPin(*CallActivateProxyObjectNode, EGPD_Input);
check(ActivateCallSelfPin);
bIsErrorFree &= Schema->TryCreateConnection(ProxyObjectPin, ActivateCallSelfPin);
// Hook the activate node up in the exec chain
UEdGraphPin* ActivateExecPin = CallActivateProxyObjectNode->FindPinChecked(Schema->PN_Execute);
UEdGraphPin* ActivateThenPin = CallActivateProxyObjectNode->FindPinChecked(Schema->PN_Then);
bIsErrorFree &= Schema->TryCreateConnection(LastThenPin, ActivateExecPin);
LastThenPin = ActivateThenPin;
}
// Move the connections from the original node then pin to the last internal then pin
bIsErrorFree &= CompilerContext.MovePinLinksToIntermediate(*FindPinChecked(Schema->PN_Then), *LastThenPin).CanSafeConnect();
bIsErrorFree &= CompilerContext.CopyPinLinksToIntermediate(*LastThenPin, *ValidateProxyNode->GetElsePin()).CanSafeConnect();
if (!bIsErrorFree)
{
CompilerContext.MessageLog.Error(*LOCTEXT("InternalConnectionError", "BaseAsyncTask: Internal connection error. @@").ToString(), this);
}
// Make sure we caught everything
BreakAllNodeLinks();
}
bool UK2Node_BaseAsyncTask::HasExternalDependencies(TArray<class UStruct*>* OptionalOutput) const
{
const UBlueprint* SourceBlueprint = GetBlueprint();
const bool bProxyFactoryResult = (ProxyFactoryClass != NULL) && (ProxyFactoryClass->ClassGeneratedBy != SourceBlueprint);
if (bProxyFactoryResult && OptionalOutput)
{
OptionalOutput->AddUnique(ProxyFactoryClass);
}
const bool bProxyResult = (ProxyClass != NULL) && (ProxyClass->ClassGeneratedBy != SourceBlueprint);
if (bProxyResult && OptionalOutput)
{
OptionalOutput->AddUnique(ProxyClass);
}
const bool bSuperResult = Super::HasExternalDependencies(OptionalOutput);
return bProxyFactoryResult || bProxyResult || bSuperResult;
}
FName UK2Node_BaseAsyncTask::GetCornerIcon() const
{
return TEXT("Graph.Latent.LatentIcon");
}
FText UK2Node_BaseAsyncTask::GetMenuCategory() const
{
UFunction* TargetFunction = GetFactoryFunction();
return UK2Node_CallFunction::GetDefaultCategoryForFunction(TargetFunction, FText::GetEmpty());
}
void UK2Node_BaseAsyncTask::GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const
{
// actions get registered under specific object-keys; the idea is that
// actions might have to be updated (or deleted) if their object-key is
// mutated (or removed)... here we use the node's class (so if the node
// type disappears, then the action should go with it)
UClass* ActionKey = GetClass();
// to keep from needlessly instantiating a UBlueprintNodeSpawner, first
// check to make sure that the registrar is looking for actions of this type
// (could be regenerating actions for a specific asset, and therefore the
// registrar would only accept actions corresponding to that asset)
if (ActionRegistrar.IsOpenForRegistration(ActionKey))
{
UBlueprintNodeSpawner* NodeSpawner = UBlueprintNodeSpawner::Create(GetClass());
check(NodeSpawner != nullptr);
ActionRegistrar.AddBlueprintAction(ActionKey, NodeSpawner);
}
}
UFunction* UK2Node_BaseAsyncTask::GetFactoryFunction() const
{
if (ProxyFactoryClass == nullptr)
{
UE_LOG(LogBlueprint, Error, TEXT("ProxyFactoryClass null in %s. Was a class deleted or saved on a non promoted build?"), *GetFullName());
return nullptr;
}
UFunction* FactoryFunction = ProxyFactoryClass->FindFunctionByName(ProxyFactoryFunctionName);
check(FactoryFunction);
return FactoryFunction;
}
void UK2Node_BaseAsyncTask::ValidateNodeDuringCompilation(class FCompilerResultsLog& MessageLog) const
{
UEdGraphSchema_K2 const* K2Schema = GetDefault<UEdGraphSchema_K2>();
if(UObject const* SourceObject = MessageLog.FindSourceObject(this))
{
// Lets check if it's a result of macro expansion, to give a helpful error
if(UK2Node_MacroInstance const* MacroInstance = Cast<UK2Node_MacroInstance>(SourceObject))
{
// Since it's not possible to check the graph's type, just check if this is a ubergraph using the schema's name for it
if(!(GetGraph()->HasAnyFlags(RF_Transient) && GetGraph()->GetName().StartsWith(K2Schema->FN_ExecuteUbergraphBase.ToString())))
{
MessageLog.Error(*LOCTEXT("AsyncTaskInFunctionFromMacro", "@@ is being used in Function '@@' resulting from expansion of Macro '@@'").ToString(), this, GetGraph(), MacroInstance);
}
}
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin //Orion/Dev-General @ 2861092) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2861045 on 2016/02/09 by Marcus.Wassmer Fix debug editor crash from async compute creating commands when it shouldn't. #rb none #test debug editor Change 2861030 on 2016/02/09 by Michael.Noland Engine: Added support for debugging safe zones (visualization on any platform and simulation on platforms that don't natively provide safe zone information) r.DebugSafeZone.Mode controls the debug visualization overlay (0..2, default 0) - 0: Do not display the safe zone overlay - 1: Display the overlay for the title safe zone - 2: Display the overlay for the action safe zone r.DebugSafeZone.OverlayAlpha controls how opaque the debug visualization overlay is (0..1, default 0.3) On platforms that don't natively support safe zones, you can simulate a safe zone for quick/easy testing in the editor: - r.DebugSafeZone.TitleRatio controls the title safe zone margins returned in FDisplayMetrics - r.DebugActionZone.ActionRatio controls the action safe zone margins returned in FDisplayMetrics - These both range from 0..1, and default to 1 indicating 100% of the display is safe. A typical test value would be 0.9 #codereview josh.adams #rb marcus.wassmer #tests Tested on Win64 uncooked and PS4 cooked (front-end and game) Change 2860923 on 2016/02/09 by Andrew.Grant Fix client warning about HTTPChunkInstaller module not existing #rb none #tests ran Win64 client Change 2860852 on 2016/02/09 by Daniel.Wright Fixed crash enabling capsule direct shadows in BP #rb Nick.Penwarden #tests Editor Change 2860842 on 2016/02/09 by Marcus.Wassmer MallocLeakDetection proxy #rb Steve.Robb #test PS4/PC testing all commands. Change 2860744 on 2016/02/09 by Josh.Markiewicz #UE4 - fixed possible crash when refresh auth with invalid response #rb sam.zamani #tests login flow #codereview justin.sargent, joe.wilcox, pter.knepley, ben.zeigler Change 2860739 on 2016/02/09 by Laurent.Delayen Sync Markers - Reset SyncGroups every frame. - ::GetSyncGroupPosition() makes sure there is a valid MarkerSyncContext. => Fixes SyncGroup returning 'valid' positions for TransitionLeaders that were not in between sync markers. #rb martin.wilson #codereview lina.halper #tests new riftmage and kurohane networked in PIE Change 2860736 on 2016/02/09 by Daniel.Lamb Fixed issue with iterative cook on the fly invalidating cooked content all the time. #rb Marcus.Wassmer #test Cook on the fly iterative ps4 Change 2860598 on 2016/02/09 by Joe.Graf Simple log category change to match existing log messages in LoadMap #rb: n/a #test: loading, cooking, game Change 2860559 on 2016/02/09 by Zak.Middleton #orion - Add flag to AIController to control whether it copies the Pawn rotation to ControlRotation if there is no focus point. #rb Lukasz.Furman #tests PIE ded server AI with lanes Change 2860462 on 2016/02/09 by Marc.Audy Build system improvements * Added details to Empty manifest file save error * Removed redundent pseudo-dependencies from -showdependency output * Monolithic Kinds now a set and branch hacker can specify kind not to build #rb Ben.Marsh #tests Preflight Change 2860434 on 2016/02/09 by David.Ratti NaN checks: -Targeting mode checks in orion code -Changed the AActor::SetTransform NaN check so that the logging is included in the NaN ensure (rather than getting cut off from the log afterwards). #rb FrankG #tests golden path vs bots Change 2860390 on 2016/02/09 by Michael.Trepka Adjust 3D rendering resolution so that it stays approximately the same when user switches display modes #rb none #tests Tested editor build on PC Change 2860364 on 2016/02/09 by Justin.Sargent Removed unused editor-only functions causing compiler errors when compiling the game. #rb keli #tests none Change 2860242 on 2016/02/09 by Justin.Sargent Made a number of DialogueWave quality of life improvements to the editor and specifically SoundCue editing. New right-click option on SoundWaves to create a DialogueWave [CL 2863630 by Andrew Grant in Main branch]
2016-02-11 14:39:50 -05:00
TMap<FString, FAsyncTaskPinRedirectMapInfo> UK2Node_BaseAsyncTask::AsyncTaskPinRedirectMap;
bool UK2Node_BaseAsyncTask::bAsyncTaskPinRedirectMapInitialized = false;
UK2Node::ERedirectType UK2Node_BaseAsyncTask::DoPinsMatchForReconstruction(const UEdGraphPin* NewPin, int32 NewPinIndex, const UEdGraphPin* OldPin, int32 OldPinIndex) const
{
if (GConfig && ProxyClass)
{
// Initialize remap table from INI
if (!bAsyncTaskPinRedirectMapInitialized)
{
bAsyncTaskPinRedirectMapInitialized = true;
FConfigSection* PackageRedirects = GConfig->GetSectionPrivate(TEXT("/Script/Engine.Engine"), false, true, GEngineIni);
for (FConfigSection::TIterator It(*PackageRedirects); It; ++It)
{
if (It.Key() == TEXT("K2AsyncTaskPinRedirects"))
{
FString ProxyClassString;
FString OldPinString;
FString NewPinString;
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2926658 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2910454 on 2016/03/15 by Zak.Middleton #ue4 - Properly exclude zero-distance MTD results in ComponentEncroachesBlockingGeometry_WithAdjustment() in the presense of multiple overlaps. #rb Jeff.Farris #jira UE-24327 UDN: https://udn.unrealengine.com/questions/270574/jeff-farris-hack-for-physx-mtd.html Change 2910548 on 2016/03/15 by Zak.Middleton #ue4 - Handle MTD computation returning NaN direction when there is a "contact" with zero distance. Change 2912311 on 2016/03/16 by Marc.Audy Properly handle overlaps in C++ in documentation code and UE4 to Unity doc #rb Martin.Wilson Change 2913086 on 2016/03/17 by Marc.Audy Adding ability to have 9 parameters to a dynamic delegate Change 2913101 on 2016/03/17 by Marc.Audy Fix some of the loctext error messages Change 2913102 on 2016/03/17 by Thomas.Sarkanen Console usability improvements Display console autocompletion commands from the lexicographically first element up to either the total number of commands or MAX_AUTOCOMPLETION_LINES, whichever is least. The previous behaviour started the list "in the middle" and hid the first elements if there were too many matches. Thus "[ab ac ad]" with "aa" hidden now becomes "[aa ab ac]" with "ad" hidden. To make scrolling work as expected, the input handling of the up and down arrow keys has been reversed so that the cursor iterates forward starting from the top with the down arrow key, and goes back up with the up arrow key. Command history is still accessed with the up arrow key. This commit also undoes one of the most evil uses of operator overloading I've ever seen, on par with "#define true false" but more subtle Color console autocomplete entries to denote their type: command, CVar or other (manual autocompletion entries). CVars are further divided into writeable and read-only variables. Assume that manual console autocompletion entries are commands. This makes the autocompletion list colors more consistent and less noisy Automatically select (but don't complete) a command on console character input. To prevent the autocomplete from becoming too trigger happy, no longer automatically complete commands for arbitrary key inputs that we happen to have a match for Allow cycling through console commands with the tab key Discriminate between first time and repeated tab presses and only scroll through autocomplete entries on the latter Fix off-by-one error in console: "x more matches" line was being shown when the number of autocomplete elements was equal to MAX_AUTOCOMPLETION_LINES Fix an off-by-one error that was causing the topmost console command to not be shown if there was an autocomplete scroll region Show the currently selected autocomplete entry faded out behind the user's typed input Slightly increase brightness of the normal input text colour to better distinguish between the typed and autocompleted parts of the input line Left-justify command descriptions in the console autocompletion box Detect overflow of console autocomplete lines on low resolutions and decrease the space used for description justification to compensate Make the console input, history and autocomplete colours user configurable Add console background transparency. Configurable, set to 15% by default Add missing closing quote to the console dump HTML template #github #2061: Console usability improvements from Mattiwatti Change 2913104 on 2016/03/17 by Thomas.Sarkanen Added indicator displayed on animation nodes when they use the 'fast path' Added checkbox that can be used to audit Blueprint fast-path usage. Switched almost all animation node widgets to derive from new SAnimationGraphNode. This creates the overlay widget that indicates whether this node is using a more optimal path. #doc Also added documentation tooltips and UDN doc files/images for the fast path systems. #jira UE-24698 - Add icon to pins in anim graph to indicate 'fast mode' access #rb Martin.Wilson Change 2913306 on 2016/03/17 by Marc.Audy Cleaning up GetResourceSize - Made many call Super::GetResourceSize - Removed trivial implementations - Fixed HierarchicalInstanceStaticMeshComponent double counting an array Change 2913535 on 2016/03/17 by Lukasz.Furman fixed broken behavior tree graph data after subnode undo #ue4 UE-28198 Change 2913608 on 2016/03/17 by Lukasz.Furman fixed behavior tree execution indices after undoing move in editor #ue4 UE-26705 Change 2913847 on 2016/03/17 by Lukasz.Furman added new automation test for UE-28309 #ue4 Change 2913849 on 2016/03/17 by Lukasz.Furman fixed behavior tree skipping over branch when restart request comes during AbortCurrentTask call #ue4 UE-28309 Change 2913895 on 2016/03/17 by Marc.Audy Added 'self' argument to Actor and PrimitiveComponent delegates that didn't already supply one Fixed up all C++ uses of these delegates #jira UE-23122 #rb Zak.Middleton Change 2914743 on 2016/03/18 by Thomas.Sarkanen Editing of primitive data in PhAT [CL 2926677 by Marc Audy in Main branch]
2016-03-29 16:33:59 -04:00
FParse::Value(*It.Value().GetValue(), TEXT("ProxyClassName="), ProxyClassString);
FParse::Value(*It.Value().GetValue(), TEXT("OldPinName="), OldPinString);
FParse::Value(*It.Value().GetValue(), TEXT("NewPinName="), NewPinString);
Copying //UE4/Orion-Staging to //UE4/Main (Origin //Orion/Dev-General @ 2861092) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2861045 on 2016/02/09 by Marcus.Wassmer Fix debug editor crash from async compute creating commands when it shouldn't. #rb none #test debug editor Change 2861030 on 2016/02/09 by Michael.Noland Engine: Added support for debugging safe zones (visualization on any platform and simulation on platforms that don't natively provide safe zone information) r.DebugSafeZone.Mode controls the debug visualization overlay (0..2, default 0) - 0: Do not display the safe zone overlay - 1: Display the overlay for the title safe zone - 2: Display the overlay for the action safe zone r.DebugSafeZone.OverlayAlpha controls how opaque the debug visualization overlay is (0..1, default 0.3) On platforms that don't natively support safe zones, you can simulate a safe zone for quick/easy testing in the editor: - r.DebugSafeZone.TitleRatio controls the title safe zone margins returned in FDisplayMetrics - r.DebugActionZone.ActionRatio controls the action safe zone margins returned in FDisplayMetrics - These both range from 0..1, and default to 1 indicating 100% of the display is safe. A typical test value would be 0.9 #codereview josh.adams #rb marcus.wassmer #tests Tested on Win64 uncooked and PS4 cooked (front-end and game) Change 2860923 on 2016/02/09 by Andrew.Grant Fix client warning about HTTPChunkInstaller module not existing #rb none #tests ran Win64 client Change 2860852 on 2016/02/09 by Daniel.Wright Fixed crash enabling capsule direct shadows in BP #rb Nick.Penwarden #tests Editor Change 2860842 on 2016/02/09 by Marcus.Wassmer MallocLeakDetection proxy #rb Steve.Robb #test PS4/PC testing all commands. Change 2860744 on 2016/02/09 by Josh.Markiewicz #UE4 - fixed possible crash when refresh auth with invalid response #rb sam.zamani #tests login flow #codereview justin.sargent, joe.wilcox, pter.knepley, ben.zeigler Change 2860739 on 2016/02/09 by Laurent.Delayen Sync Markers - Reset SyncGroups every frame. - ::GetSyncGroupPosition() makes sure there is a valid MarkerSyncContext. => Fixes SyncGroup returning 'valid' positions for TransitionLeaders that were not in between sync markers. #rb martin.wilson #codereview lina.halper #tests new riftmage and kurohane networked in PIE Change 2860736 on 2016/02/09 by Daniel.Lamb Fixed issue with iterative cook on the fly invalidating cooked content all the time. #rb Marcus.Wassmer #test Cook on the fly iterative ps4 Change 2860598 on 2016/02/09 by Joe.Graf Simple log category change to match existing log messages in LoadMap #rb: n/a #test: loading, cooking, game Change 2860559 on 2016/02/09 by Zak.Middleton #orion - Add flag to AIController to control whether it copies the Pawn rotation to ControlRotation if there is no focus point. #rb Lukasz.Furman #tests PIE ded server AI with lanes Change 2860462 on 2016/02/09 by Marc.Audy Build system improvements * Added details to Empty manifest file save error * Removed redundent pseudo-dependencies from -showdependency output * Monolithic Kinds now a set and branch hacker can specify kind not to build #rb Ben.Marsh #tests Preflight Change 2860434 on 2016/02/09 by David.Ratti NaN checks: -Targeting mode checks in orion code -Changed the AActor::SetTransform NaN check so that the logging is included in the NaN ensure (rather than getting cut off from the log afterwards). #rb FrankG #tests golden path vs bots Change 2860390 on 2016/02/09 by Michael.Trepka Adjust 3D rendering resolution so that it stays approximately the same when user switches display modes #rb none #tests Tested editor build on PC Change 2860364 on 2016/02/09 by Justin.Sargent Removed unused editor-only functions causing compiler errors when compiling the game. #rb keli #tests none Change 2860242 on 2016/02/09 by Justin.Sargent Made a number of DialogueWave quality of life improvements to the editor and specifically SoundCue editing. New right-click option on SoundWaves to create a DialogueWave [CL 2863630 by Andrew Grant in Main branch]
2016-02-11 14:39:50 -05:00
UClass* RedirectProxyClass = FindObject<UClass>(ANY_PACKAGE, *ProxyClassString);
if (RedirectProxyClass)
{
FAsyncTaskPinRedirectMapInfo& PinRedirectInfo = AsyncTaskPinRedirectMap.FindOrAdd(OldPinString);
TArray<UClass*>& ProxyClassArray = PinRedirectInfo.OldPinToProxyClassMap.FindOrAdd(NewPinString);
ProxyClassArray.AddUnique(RedirectProxyClass);
}
}
}
}
// See if these pins need to be remapped.
if (FAsyncTaskPinRedirectMapInfo* PinRedirectInfo = AsyncTaskPinRedirectMap.Find(OldPin->PinName))
{
if (TArray<UClass*>* ProxyClassArray = PinRedirectInfo->OldPinToProxyClassMap.Find(NewPin->PinName))
{
for (UClass* RedirectedProxyClass : *ProxyClassArray)
{
if (ProxyClass->IsChildOf(RedirectedProxyClass))
{
return UK2Node::ERedirectType_Name;
}
}
}
}
}
return Super::DoPinsMatchForReconstruction(NewPin, NewPinIndex, OldPin, OldPinIndex);
}
#undef LOCTEXT_NAMESPACE