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

462 lines
17 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "DelegateNodeHandlers.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "EdGraphSchema_K2.h"
#include "K2Node_BaseMCDelegate.h"
#include "K2Node_CallDelegate.h"
#include "K2Node_ClearDelegate.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "K2Node_CreateDelegate.h"
#include "EdGraphUtilities.h"
#include "Engine/BlueprintGeneratedClass.h"
#include "KismetCompiler.h"
#define LOCTEXT_NAMESPACE "DelegateNodeHandlers"
struct FKCHandlerDelegateHelper
{
static void CheckOutputsParametersInDelegateSignature(const UFunction* SignatureFunc, const UK2Node * DelegateNode, FCompilerResultsLog& MessageLog)
{
FKismetCompilerUtilities::DetectValuesReturnedByRef(SignatureFunc, DelegateNode, MessageLog);
}
static FMulticastDelegateProperty* FindAndCheckDelegateProperty(FKismetFunctionContext& Context, UK2Node_BaseMCDelegate * DelegateNode, FCompilerResultsLog& MessageLog, const UEdGraphSchema_K2* Schema)
{
check(NULL != DelegateNode);
UEdGraphPin* Pin = Schema->FindSelfPin(*DelegateNode, EEdGraphPinDirection::EGPD_Input);
UStruct* DelegateScope = Pin ? Context.GetScopeFromPinType(Pin->PinType, Context.NewClass) : NULL;
// Early out if we have no pin. That means the delegate is no longer valid, and we need to terminate gracefully
if (!Pin || !DelegateScope)
{
MessageLog.Error(*LOCTEXT("NoDelegateProperty", "Event Dispatcher has no property @@").ToString(), DelegateNode);
return NULL;
}
// Don't use DelegateNode->GetProperty(), because we don't want any property from skeletal class
UClass* PropertyOwnerClass = CastChecked<UClass>(DelegateScope);
FMulticastDelegateProperty* BoundProperty = NULL;
for (TFieldIterator<FMulticastDelegateProperty> It(PropertyOwnerClass); It; ++It)
{
FMulticastDelegateProperty* Prop = *It;
if (DelegateNode->GetPropertyName() == Prop->GetFName())
{
BoundProperty = Prop;
break;
}
}
if (!BoundProperty)
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
if (!FKismetCompilerUtilities::IsMissingMemberPotentiallyLoading(Context.Blueprint, DelegateNode->DelegateReference.GetMemberParentClass()))
{
FString const OwnerName = PropertyOwnerClass->GetName();
FString const PropName = DelegateNode->GetPropertyName().ToString();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3283640) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229011 on 2016/12/09 by Steve.Robb Licensee version updated in FWorldTileInfo::Read(). https://udn.unrealengine.com/questions/325874/fworldtileinfo-not-passing-fileversionlicenseeue4.html Change 3230493 on 2016/12/12 by Robert.Manuszewski Adding a check against assembling the reference token stream while streaming without locking GC. Change 3230515 on 2016/12/12 by Steve.Robb GetStaticEnum and GetStaticStruct removed. Various generated code tidy-ups. Change 3230522 on 2016/12/12 by Steve.Robb UHT no longer complains about bases with different prefixes. References to obsolete DependsOn removed. Change 3230528 on 2016/12/12 by Steve.Robb ReferenceChainSearch tidyups. Change 3234235 on 2016/12/14 by Robert.Manuszewski PR #2695: fix comments (Contributed by wyhily2010) Change 3234237 on 2016/12/14 by Robert.Manuszewski PR #2614: [GenericPlatformFile] New Function, GetTimeStampLocal, returns file time stamp in local time instead of UTC  Rama (Contributed by EverNewJoy) Change 3236214 on 2016/12/15 by Robert.Manuszewski PR# 1988 : Allow absolute path in -UserDir=<Path> argument (contributed by bozaro) Change 3236582 on 2016/12/15 by Robert.Manuszewski Allow commandline use in shipping builds #jira UE-24613 Change 3236591 on 2016/12/15 by Robert.Manuszewski Removed unnecessary console variable logspam #jira UE-24614 Change 3236737 on 2016/12/15 by Steve.Robb Fixes to non-contiguous enums in OSS. Change 3239686 on 2016/12/19 by Chris.Wood Fixed CompressionHelper method UE4CompressFileGZIP() that leaked a file handle when a compression error occurred (CRP v1.2.12) [UE-39910] - CrashReportProcess leaks file handles and doesn't cleanup folders after compression fails during output to S3 Change 3240687 on 2016/12/20 by Chris.Wood Improved CrashReportProcess retry logic to avoid stuck threads when CRW fails to add crashes (CRP 1.2.13) [UE-39941] - Improve CrashReportProcess retry logic when CR website returns failed response to AddCrash Request Change 3246347 on 2017/01/04 by Steve.Robb Readability, debuggability and standards improvements. Change 3249122 on 2017/01/06 by Steve.Robb Generic FPaths::Combine, allowing a mix of string argument types and unlimited arity. Change 3249580 on 2017/01/06 by Steve.Robb Fix for TArray::HeapSort when array contains pointers. See: https://answers.unrealengine.com/questions/545533/bug-heapsort-with-tarray-of-pointers-fails-to-comp.html Change 3250593 on 2017/01/09 by Robert.Manuszewski PR #3046: UE-39578: Added none to invalid filenames (Contributed by projectgheist) Change 3250596 on 2017/01/09 by Robert.Manuszewski PR #3094: Fixing typo in comments for LODColoration in BaseEngine.ini - UE-40196 (Contributed by sanjay-nambiar) Change 3250599 on 2017/01/09 by Robert.Manuszewski PR #3096: Fixed Log message in ExclusiveLoadPackageTimeTracker : UE-37583 (Contributed by sanjay-nambiar) Change 3250863 on 2017/01/09 by Steve.Robb Build configuration option to force the use of the Debug version of UnrealHeaderTool. Change 3250994 on 2017/01/09 by Ben.Zeigler Remove bad or redundant ini redirects. These did not work with the old system but were silently ignored, my new system throws warnings about them Change 3251000 on 2017/01/09 by Ben.Zeigler #jira UE-39599 Add FCoreRedirects which replaces and unifies the redirect systems in LinkerLoad, K2Node, Enum, and TaggedProperty. This fixes various bugs and makes things uniform. It will parse the previous ini files, or load out of a [CoreRedirects] section in any loaded ini file The old redirect system can be re-enabled by setting USE_CORE_REDIRECTS to 0 in CoreRedirects.h. This will be removed eventually Some refactors to pass in information needed by the new system that the old system didn't need Add LoadTimeVerbose stats for processing redirects and enable that group during -LoadTimeFile Change 3253580 on 2017/01/11 by Graeme.Thornton Added some validation of the class index in exportmap entries #jira UE-37873 Change 3253777 on 2017/01/11 by Graeme.Thornton Increase SerialSize and SerialOffset in FObjectExport to 64bits, to handle super large files #jira UE-39946 Change 3257750 on 2017/01/13 by Ben.Zeigler Fix issue where incorrectly set up animation node redirects (were ActiveClassRedirects, should have been ActiveStructRedirects) didn't work in the new redirect system because it validated more. Added backward compatibilty code and fixed some conflicts in the ini. Change 3261176 on 2017/01/17 by Ben.Zeigler #jira UE-40746 Fix redundant ini redirect #jira UE-40725 Fix section of Match3 defaultengine.ini that appears to have been accidentally duplicated from baseengine.ini several years ago Change 3261915 on 2017/01/18 by Steve.Robb Fixes to localized printf formats. Change 3262142 on 2017/01/18 by Ben.Zeigler Remove runtime code for old ActiveClassRedirects and related systems. It was already disabled and the old ini format is still parsed and converted to FCoreRedirects at runtime so there should be no functionality change. Merged the deprecated tagged property and enum redirect ini parsing into LinkerLoad, and remove the RemapImports step entirely as it's part of FixupImportMap. Change 3263596 on 2017/01/19 by Gil.Gribb UE4 - Fixed many bugs with the event driven loader and allowed it to work at boot time. Change 3263597 on 2017/01/19 by Gil.Gribb UE4 - Allowed UnrealPak to do a better job with EDL pak files when the order provided is old or from the cooker. Several minor tweaks to low level async IO stuff in support of switch experiments. Change 3263922 on 2017/01/19 by Gil.Gribb UE4 - Fixed a bug with nativized blueprints that was introduced with the boot time EDL changes. Change 3264131 on 2017/01/19 by Robert.Manuszewski Simple app to test hard to repro bugs Change 3264849 on 2017/01/19 by Ben.Zeigler Change FParse::Value to treat ) like , for parsing to handle config parsing struct format. This fixes cases where lines end with bool or FName variables that aren't written out quoted: +ClassRedirects=(OldName="LandscapeProxy",NewName="LandscapeStreamingProxy",InstanceOnly=True) Change 3265232 on 2017/01/19 by Ben.Zeigler #jira UE-39599 Finish class redirect refactor by cleaning up BaseEngine.ini Move plugin-specific redirects to new plugin ini files Move all redirects from BaseEngine.ini prior to 4.11 to native registration in FCoreRedirects. Needed to split up functions to avoid long compile times Move all redirects after 4.11 to new ini format Some related blueprint fixup code changes, these weren't cooperating well with some ini redirects Change 3265490 on 2017/01/20 by Steve.Robb Prevent engine reinstancing on hot reload. #jira UE-40765 Change 3265593 on 2017/01/20 by Gil.Gribb UE4 - Stored a copy of the callback in async read request so that we don't need to worry about lifetime so we can capture variables as needed. Also fixed race in audio streaming. Change 3266003 on 2017/01/20 by Gil.Gribb UE4 - Fixed bug which would cause a fatal error when cooking subobjects that were pending kill. Change 3267433 on 2017/01/22 by Gil.Gribb UE4 - Fixed a bug with EDL at boot time which caused a fatal error with unfired imports. Change 3267677 on 2017/01/23 by Steve.Robb Fix for whitespace before UCLASS() causing compile errors. #jira UE-24110 Change 3267685 on 2017/01/23 by Steve.Robb First pass of fixes to printf-style calls to only use TCHAR[] specifiers. Change 3267746 on 2017/01/23 by Steven.Hutton Resolve offline work Changes to repositories to support better handling of db connections. Change 3267865 on 2017/01/23 by Steve.Robb Clarification of TArray::FindLastByPredicate() and FString::FindLastCharByPredicate(). #fyi nick.darnell Change 3268075 on 2017/01/23 by Gil.Gribb UE4 - Fixed another bug with RF_PendingKill subobjects and the new loader. Change 3268447 on 2017/01/23 by Gil.Gribb Fortnite - Removed calls to ::StaticClass() before main starts; this is not allowed. Change 3269491 on 2017/01/24 by Gil.Gribb UE4 - Cancelling async loading with the EDL loader now prints a warning and does a flush instead. Change 3269492 on 2017/01/24 by Gil.Gribb UE4 - Suppressed a few EDL cook wanrings. Change 3270085 on 2017/01/24 by Gil.Gribb UE4 - Remove pak highwater spam. Change 3270089 on 2017/01/24 by Gil.Gribb UE4 - fix random bug with memory counting and some vertex buffer Change 3271246 on 2017/01/25 by Chris.Wood Fixed CrashReportProcess pipeline for Mac and Linux crashes lacking machine Ids (CRP v1.2.14) [UE-40605] - Machine ID is not being shown on the crashreporter website Change 3271827 on 2017/01/25 by Steve.Robb C4946 warning disabled in third party headers (triggers in Clang/LLVM). Change 3271874 on 2017/01/25 by Steve.Robb Fix for missing error check after header preparsing. Change 3271911 on 2017/01/25 by Steve.Robb ObjectMacros.h now automatically included by generated headers. #fyi jamie.dale Change 3273125 on 2017/01/26 by Steve.Robb Check to ensure that a .generated.h header is included by headers which have exported types, to avoid crazy compiler errors. #fyi james.golding Change 3273209 on 2017/01/26 by Steve.Robb UnrealCodeAnalyzer compilation fixes. Change 3274917 on 2017/01/27 by Steve.Robb GC disabled when recompiling child BPs, as is already the case for the parent (CL# 2731120). Now-unused field removed. Change 3279091 on 2017/01/31 by Ben.Marsh UBT: Remove code paths which assume relative paths based on a particular CWD. Use the absolute paths stored in UnrealBuildTool.RootDirectory/UnrealBuildTool.EngineDirectory instead. Change 3279195 on 2017/01/31 by Gil.Gribb Turned EDL on for orion Change 3279493 on 2017/01/31 by Ben.Zeigler #jira UE-41341 Redo redirector fixups that got undone in merge from Main Change 3280284 on 2017/01/31 by Ben.Zeigler #jira UE-41357 Fix typo in vehicle redirect. Also fix base crash when converting old content with nodes that don't exist. Fix issues with loading plugin ini files. They weren't properly "diffing" against the base/default source file so my redirect typo fix didn't propagate. Some general config system refactors on Josh's advice, and make base.ini optional if reading out of a non-standard engine directory Engine plugin ini are now BasePlugin.ini, game plugins are still DefaultPlugin.ini. Fix crash when loading old content pointing to nonexistent node type. It will still error/ensure but won't crash. Change 3280299 on 2017/01/31 by Gil.Gribb possibly fix edl at boot with orion server....though was no-repro Change 3280386 on 2017/01/31 by Ben.Zeigler Header include fixes for -nopch, fixes incremental build Change 3280557 on 2017/01/31 by Ben.Zeigler Fix Config crash. FConfigFile's copy constructor is apparently not safe and resulted in garbage memory in some cases Change 3280817 on 2017/02/01 by Steve.Robb Unused SmartCastProperty removed. Change 3280897 on 2017/02/01 by Chris.Wood Improved CRP shutdown code to abort AddCrash requests when cancel is requested (CRP v1.2.15) [UE-41338] - Fix CRP shutdown when website isn't accepting new crashes Also, improved shutdown code to try to avoid occassional exception when writing out the report index. Looks like it isn't shutting down worker threads cleanly sometimes. Added more logging to this too. Change 3280989 on 2017/02/01 by Gil.Gribb New unrealpak binaries Change 3281416 on 2017/02/01 by Michael.Trepka Updated UnrealPak binaries for Mac Change 3282457 on 2017/02/01 by Ben.Zeigler #jira UE-41425 Protect against issues with streamable manager requests recursively completing by caching the array locally. This code is safer in general in my local version so just doing a quick fix for now Change 3282619 on 2017/02/01 by Arciel.Rekman Linux: update UnrealPak. [CL 3283649 by Ben Marsh in Main branch]
2017-02-02 14:41:50 -05:00
MessageLog.Error(*FText::Format(LOCTEXT("DelegateNotFoundFmt", "Could not find an event-dispatcher named \"{0}\" in '{1}'.\nMake sure '{2}' has been compiled for @@"), FText::FromString(PropName), FText::FromString(OwnerName), FText::FromString(OwnerName)).ToString(), DelegateNode);
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
}
return NULL;
}
{
// MulticastDelegateProperty from NewClass may have empty signature, but property from skeletal class should have it.
const UFunction* OrgSignature = DelegateNode->GetDelegateSignature();
if(const UEdGraphPin* DelegatePin = DelegateNode->GetDelegatePin())
{
const UFunction* PinSignature = FMemberReference::ResolveSimpleMemberReference<UFunction>(DelegatePin->PinType.PinSubCategoryMemberReference);
if (!OrgSignature || !PinSignature || !OrgSignature->IsSignatureCompatibleWith(PinSignature))
{
MessageLog.Error(*LOCTEXT("WrongDelegate", "Wrong Event Dispatcher. Refresh node @@").ToString(), DelegateNode);
return NULL;
}
}
CheckOutputsParametersInDelegateSignature(OrgSignature, DelegateNode, MessageLog);
}
return BoundProperty;
}
static FBPTerminal* CreateInnerTerm(FKismetFunctionContext& Context, UEdGraphPin* SelfPin, UEdGraphPin* NetPin, FMulticastDelegateProperty* BoundProperty, UK2Node_BaseMCDelegate * DelegateNode, FCompilerResultsLog& MessageLog)
{
check(SelfPin && NetPin && BoundProperty && DelegateNode);
FBPTerminal* Term = new FBPTerminal();
Context.VariableReferences.Add(Term);
Term->CopyFromPin(SelfPin, BoundProperty->GetName());
Term->AssociatedVarProperty = BoundProperty;
FBPTerminal** pContextTerm = Context.NetMap.Find(NetPin);
if ((NULL == pContextTerm) && (SelfPin == NetPin))
{
Context.NetMap.Add(SelfPin, Term);
pContextTerm = Context.NetMap.Find(NetPin);
}
if (pContextTerm)
{
if (Term != *pContextTerm)
{
Term->Context = *pContextTerm;
}
}
else
{
MessageLog.Error(*FString(*LOCTEXT("FindDynamicallyBoundDelegate_Error", "Couldn't find target for dynamically bound delegate node @@").ToString()), DelegateNode);
}
return Term;
}
static void RegisterMultipleSelfAndMCDelegateProperty(FKismetFunctionContext& Context, UK2Node_BaseMCDelegate * DelegateNode, FCompilerResultsLog& MessageLog,
const UEdGraphSchema_K2* Schema, FDelegateOwnerId::FInnerTermMap& InnerTermMap)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
if (DelegateNode && Schema)
{
FMulticastDelegateProperty* BoundProperty = FindAndCheckDelegateProperty(Context, DelegateNode, MessageLog, Schema);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
if (BoundProperty)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
UEdGraphPin* SelfPin = Schema->FindSelfPin(*DelegateNode, EEdGraphPinDirection::EGPD_Input);
check(SelfPin);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
if (0 == SelfPin->LinkedTo.Num())
{
FBPTerminal* Term = CreateInnerTerm(Context, SelfPin, FEdGraphUtilities::GetNetFromPin(SelfPin), BoundProperty, DelegateNode, MessageLog);
Context.NetMap.Add(SelfPin, Term);
InnerTermMap.Add(FDelegateOwnerId(SelfPin, DelegateNode), Term);
return;
}
for (int32 LinkIndex = 0; LinkIndex < SelfPin->LinkedTo.Num(); ++LinkIndex)
{
UEdGraphPin* NetPin = SelfPin->LinkedTo[LinkIndex];
FBPTerminal* Term = CreateInnerTerm(Context, SelfPin, NetPin, BoundProperty, DelegateNode, MessageLog);
InnerTermMap.Add(FDelegateOwnerId(NetPin, DelegateNode), Term);
}
}
}
}
};
void FKCHandler_AddRemoveDelegate::RegisterNets(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_BaseMCDelegate * DelegateNode = CastChecked<UK2Node_BaseMCDelegate>(Node);
FKCHandlerDelegateHelper::RegisterMultipleSelfAndMCDelegateProperty(Context, DelegateNode, CompilerContext.MessageLog, CompilerContext.GetSchema(), InnerTermMap);
UEdGraphPin* Pin = DelegateNode->GetDelegatePin();
check(NULL != Pin);
if(0 == Pin->LinkedTo.Num())
{
CompilerContext.MessageLog.Error(*FString(*LOCTEXT("AddRemoveDelegate_NoDelegateInput", "Event Dispatcher pin is not connected @@").ToString()), DelegateNode);
}
UEdGraphPin* Net = FEdGraphUtilities::GetNetFromPin(Pin);
FBPTerminal** FoundTerm = Context.NetMap.Find(Net);
FBPTerminal* Term = FoundTerm ? *FoundTerm : NULL;
if(NULL == Term)
{
Term = Context.CreateLocalTerminalFromPinAutoChooseScope(Net, Context.NetNameMap->MakeValidName(Net));
Context.NetMap.Add(Net, Term);
}
}
void FKCHandler_AddRemoveDelegate::Compile(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_BaseMCDelegate* DelegateNode = CastChecked<UK2Node_BaseMCDelegate>(Node);
UEdGraphPin* DelegatePin = DelegateNode->GetDelegatePin();
check(NULL != DelegatePin);
FBPTerminal** DelegateInputTerm = Context.NetMap.Find(FEdGraphUtilities::GetNetFromPin(DelegatePin));
check(DelegateInputTerm && *DelegateInputTerm);
UEdGraphPin* SelfPin = CompilerContext.GetSchema()->FindSelfPin(*DelegateNode, EEdGraphPinDirection::EGPD_Input);
check(SelfPin);
TArray<UEdGraphPin*> Links = SelfPin->LinkedTo;
if(!Links.Num())
{
Links.Add(SelfPin);
}
for (auto NetIt = Links.CreateIterator(); NetIt; ++NetIt)
{
UEdGraphPin* NetPin = *NetIt;
check(NetPin);
FBlueprintCompiledStatement& AddStatement = Context.AppendStatementForNode(DelegateNode);
AddStatement.Type = Command;
FBPTerminal** VarDelegate = InnerTermMap.Find(FDelegateOwnerId(NetPin, DelegateNode));
check(VarDelegate && *VarDelegate);
AddStatement.LHS = *VarDelegate;
AddStatement.RHS.Add(*DelegateInputTerm);
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
GenerateSimpleThenGoto(Context, *DelegateNode, DelegateNode->FindPin(UEdGraphSchema_K2::PN_Then));
FNodeHandlingFunctor::Compile(Context, DelegateNode);
}
void FKCHandler_CreateDelegate::RegisterNets(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_CreateDelegate * DelegateNode = CastChecked<UK2Node_CreateDelegate>(Node);
check(NULL != DelegateNode);
const FName DelegateFunctionName = DelegateNode->GetFunctionName();
if(DelegateFunctionName == NAME_None)
{
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
CompilerContext.MessageLog.Error(*LOCTEXT("NoDelegateFunctionName", "@@ : missing a function/event name.").ToString(), DelegateNode);
return;
}
if(!DelegateNode->GetDelegateSignature())
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3283640) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229011 on 2016/12/09 by Steve.Robb Licensee version updated in FWorldTileInfo::Read(). https://udn.unrealengine.com/questions/325874/fworldtileinfo-not-passing-fileversionlicenseeue4.html Change 3230493 on 2016/12/12 by Robert.Manuszewski Adding a check against assembling the reference token stream while streaming without locking GC. Change 3230515 on 2016/12/12 by Steve.Robb GetStaticEnum and GetStaticStruct removed. Various generated code tidy-ups. Change 3230522 on 2016/12/12 by Steve.Robb UHT no longer complains about bases with different prefixes. References to obsolete DependsOn removed. Change 3230528 on 2016/12/12 by Steve.Robb ReferenceChainSearch tidyups. Change 3234235 on 2016/12/14 by Robert.Manuszewski PR #2695: fix comments (Contributed by wyhily2010) Change 3234237 on 2016/12/14 by Robert.Manuszewski PR #2614: [GenericPlatformFile] New Function, GetTimeStampLocal, returns file time stamp in local time instead of UTC  Rama (Contributed by EverNewJoy) Change 3236214 on 2016/12/15 by Robert.Manuszewski PR# 1988 : Allow absolute path in -UserDir=<Path> argument (contributed by bozaro) Change 3236582 on 2016/12/15 by Robert.Manuszewski Allow commandline use in shipping builds #jira UE-24613 Change 3236591 on 2016/12/15 by Robert.Manuszewski Removed unnecessary console variable logspam #jira UE-24614 Change 3236737 on 2016/12/15 by Steve.Robb Fixes to non-contiguous enums in OSS. Change 3239686 on 2016/12/19 by Chris.Wood Fixed CompressionHelper method UE4CompressFileGZIP() that leaked a file handle when a compression error occurred (CRP v1.2.12) [UE-39910] - CrashReportProcess leaks file handles and doesn't cleanup folders after compression fails during output to S3 Change 3240687 on 2016/12/20 by Chris.Wood Improved CrashReportProcess retry logic to avoid stuck threads when CRW fails to add crashes (CRP 1.2.13) [UE-39941] - Improve CrashReportProcess retry logic when CR website returns failed response to AddCrash Request Change 3246347 on 2017/01/04 by Steve.Robb Readability, debuggability and standards improvements. Change 3249122 on 2017/01/06 by Steve.Robb Generic FPaths::Combine, allowing a mix of string argument types and unlimited arity. Change 3249580 on 2017/01/06 by Steve.Robb Fix for TArray::HeapSort when array contains pointers. See: https://answers.unrealengine.com/questions/545533/bug-heapsort-with-tarray-of-pointers-fails-to-comp.html Change 3250593 on 2017/01/09 by Robert.Manuszewski PR #3046: UE-39578: Added none to invalid filenames (Contributed by projectgheist) Change 3250596 on 2017/01/09 by Robert.Manuszewski PR #3094: Fixing typo in comments for LODColoration in BaseEngine.ini - UE-40196 (Contributed by sanjay-nambiar) Change 3250599 on 2017/01/09 by Robert.Manuszewski PR #3096: Fixed Log message in ExclusiveLoadPackageTimeTracker : UE-37583 (Contributed by sanjay-nambiar) Change 3250863 on 2017/01/09 by Steve.Robb Build configuration option to force the use of the Debug version of UnrealHeaderTool. Change 3250994 on 2017/01/09 by Ben.Zeigler Remove bad or redundant ini redirects. These did not work with the old system but were silently ignored, my new system throws warnings about them Change 3251000 on 2017/01/09 by Ben.Zeigler #jira UE-39599 Add FCoreRedirects which replaces and unifies the redirect systems in LinkerLoad, K2Node, Enum, and TaggedProperty. This fixes various bugs and makes things uniform. It will parse the previous ini files, or load out of a [CoreRedirects] section in any loaded ini file The old redirect system can be re-enabled by setting USE_CORE_REDIRECTS to 0 in CoreRedirects.h. This will be removed eventually Some refactors to pass in information needed by the new system that the old system didn't need Add LoadTimeVerbose stats for processing redirects and enable that group during -LoadTimeFile Change 3253580 on 2017/01/11 by Graeme.Thornton Added some validation of the class index in exportmap entries #jira UE-37873 Change 3253777 on 2017/01/11 by Graeme.Thornton Increase SerialSize and SerialOffset in FObjectExport to 64bits, to handle super large files #jira UE-39946 Change 3257750 on 2017/01/13 by Ben.Zeigler Fix issue where incorrectly set up animation node redirects (were ActiveClassRedirects, should have been ActiveStructRedirects) didn't work in the new redirect system because it validated more. Added backward compatibilty code and fixed some conflicts in the ini. Change 3261176 on 2017/01/17 by Ben.Zeigler #jira UE-40746 Fix redundant ini redirect #jira UE-40725 Fix section of Match3 defaultengine.ini that appears to have been accidentally duplicated from baseengine.ini several years ago Change 3261915 on 2017/01/18 by Steve.Robb Fixes to localized printf formats. Change 3262142 on 2017/01/18 by Ben.Zeigler Remove runtime code for old ActiveClassRedirects and related systems. It was already disabled and the old ini format is still parsed and converted to FCoreRedirects at runtime so there should be no functionality change. Merged the deprecated tagged property and enum redirect ini parsing into LinkerLoad, and remove the RemapImports step entirely as it's part of FixupImportMap. Change 3263596 on 2017/01/19 by Gil.Gribb UE4 - Fixed many bugs with the event driven loader and allowed it to work at boot time. Change 3263597 on 2017/01/19 by Gil.Gribb UE4 - Allowed UnrealPak to do a better job with EDL pak files when the order provided is old or from the cooker. Several minor tweaks to low level async IO stuff in support of switch experiments. Change 3263922 on 2017/01/19 by Gil.Gribb UE4 - Fixed a bug with nativized blueprints that was introduced with the boot time EDL changes. Change 3264131 on 2017/01/19 by Robert.Manuszewski Simple app to test hard to repro bugs Change 3264849 on 2017/01/19 by Ben.Zeigler Change FParse::Value to treat ) like , for parsing to handle config parsing struct format. This fixes cases where lines end with bool or FName variables that aren't written out quoted: +ClassRedirects=(OldName="LandscapeProxy",NewName="LandscapeStreamingProxy",InstanceOnly=True) Change 3265232 on 2017/01/19 by Ben.Zeigler #jira UE-39599 Finish class redirect refactor by cleaning up BaseEngine.ini Move plugin-specific redirects to new plugin ini files Move all redirects from BaseEngine.ini prior to 4.11 to native registration in FCoreRedirects. Needed to split up functions to avoid long compile times Move all redirects after 4.11 to new ini format Some related blueprint fixup code changes, these weren't cooperating well with some ini redirects Change 3265490 on 2017/01/20 by Steve.Robb Prevent engine reinstancing on hot reload. #jira UE-40765 Change 3265593 on 2017/01/20 by Gil.Gribb UE4 - Stored a copy of the callback in async read request so that we don't need to worry about lifetime so we can capture variables as needed. Also fixed race in audio streaming. Change 3266003 on 2017/01/20 by Gil.Gribb UE4 - Fixed bug which would cause a fatal error when cooking subobjects that were pending kill. Change 3267433 on 2017/01/22 by Gil.Gribb UE4 - Fixed a bug with EDL at boot time which caused a fatal error with unfired imports. Change 3267677 on 2017/01/23 by Steve.Robb Fix for whitespace before UCLASS() causing compile errors. #jira UE-24110 Change 3267685 on 2017/01/23 by Steve.Robb First pass of fixes to printf-style calls to only use TCHAR[] specifiers. Change 3267746 on 2017/01/23 by Steven.Hutton Resolve offline work Changes to repositories to support better handling of db connections. Change 3267865 on 2017/01/23 by Steve.Robb Clarification of TArray::FindLastByPredicate() and FString::FindLastCharByPredicate(). #fyi nick.darnell Change 3268075 on 2017/01/23 by Gil.Gribb UE4 - Fixed another bug with RF_PendingKill subobjects and the new loader. Change 3268447 on 2017/01/23 by Gil.Gribb Fortnite - Removed calls to ::StaticClass() before main starts; this is not allowed. Change 3269491 on 2017/01/24 by Gil.Gribb UE4 - Cancelling async loading with the EDL loader now prints a warning and does a flush instead. Change 3269492 on 2017/01/24 by Gil.Gribb UE4 - Suppressed a few EDL cook wanrings. Change 3270085 on 2017/01/24 by Gil.Gribb UE4 - Remove pak highwater spam. Change 3270089 on 2017/01/24 by Gil.Gribb UE4 - fix random bug with memory counting and some vertex buffer Change 3271246 on 2017/01/25 by Chris.Wood Fixed CrashReportProcess pipeline for Mac and Linux crashes lacking machine Ids (CRP v1.2.14) [UE-40605] - Machine ID is not being shown on the crashreporter website Change 3271827 on 2017/01/25 by Steve.Robb C4946 warning disabled in third party headers (triggers in Clang/LLVM). Change 3271874 on 2017/01/25 by Steve.Robb Fix for missing error check after header preparsing. Change 3271911 on 2017/01/25 by Steve.Robb ObjectMacros.h now automatically included by generated headers. #fyi jamie.dale Change 3273125 on 2017/01/26 by Steve.Robb Check to ensure that a .generated.h header is included by headers which have exported types, to avoid crazy compiler errors. #fyi james.golding Change 3273209 on 2017/01/26 by Steve.Robb UnrealCodeAnalyzer compilation fixes. Change 3274917 on 2017/01/27 by Steve.Robb GC disabled when recompiling child BPs, as is already the case for the parent (CL# 2731120). Now-unused field removed. Change 3279091 on 2017/01/31 by Ben.Marsh UBT: Remove code paths which assume relative paths based on a particular CWD. Use the absolute paths stored in UnrealBuildTool.RootDirectory/UnrealBuildTool.EngineDirectory instead. Change 3279195 on 2017/01/31 by Gil.Gribb Turned EDL on for orion Change 3279493 on 2017/01/31 by Ben.Zeigler #jira UE-41341 Redo redirector fixups that got undone in merge from Main Change 3280284 on 2017/01/31 by Ben.Zeigler #jira UE-41357 Fix typo in vehicle redirect. Also fix base crash when converting old content with nodes that don't exist. Fix issues with loading plugin ini files. They weren't properly "diffing" against the base/default source file so my redirect typo fix didn't propagate. Some general config system refactors on Josh's advice, and make base.ini optional if reading out of a non-standard engine directory Engine plugin ini are now BasePlugin.ini, game plugins are still DefaultPlugin.ini. Fix crash when loading old content pointing to nonexistent node type. It will still error/ensure but won't crash. Change 3280299 on 2017/01/31 by Gil.Gribb possibly fix edl at boot with orion server....though was no-repro Change 3280386 on 2017/01/31 by Ben.Zeigler Header include fixes for -nopch, fixes incremental build Change 3280557 on 2017/01/31 by Ben.Zeigler Fix Config crash. FConfigFile's copy constructor is apparently not safe and resulted in garbage memory in some cases Change 3280817 on 2017/02/01 by Steve.Robb Unused SmartCastProperty removed. Change 3280897 on 2017/02/01 by Chris.Wood Improved CRP shutdown code to abort AddCrash requests when cancel is requested (CRP v1.2.15) [UE-41338] - Fix CRP shutdown when website isn't accepting new crashes Also, improved shutdown code to try to avoid occassional exception when writing out the report index. Looks like it isn't shutting down worker threads cleanly sometimes. Added more logging to this too. Change 3280989 on 2017/02/01 by Gil.Gribb New unrealpak binaries Change 3281416 on 2017/02/01 by Michael.Trepka Updated UnrealPak binaries for Mac Change 3282457 on 2017/02/01 by Ben.Zeigler #jira UE-41425 Protect against issues with streamable manager requests recursively completing by caching the array locally. This code is safer in general in my local version so just doing a quick fix for now Change 3282619 on 2017/02/01 by Arciel.Rekman Linux: update UnrealPak. [CL 3283649 by Ben Marsh in Main branch]
2017-02-02 14:41:50 -05:00
const FString ErrorStr = LOCTEXT("NoDelegateFunction", "@@ : unable to determine expected signature - is the delegate pin connected?").ToString();
CompilerContext.MessageLog.Error(*ErrorStr, DelegateNode);
return;
}
{
UEdGraphPin* InputPin = DelegateNode->GetObjectInPin();
check(NULL != InputPin);
UEdGraphPin* Net = FEdGraphUtilities::GetNetFromPin(InputPin);
FBPTerminal** FoundTerm = Context.NetMap.Find(Net);
FBPTerminal* InputObjTerm = FoundTerm ? *FoundTerm : NULL;
if(NULL == InputObjTerm)
{
if (InputPin->LinkedTo.Num() == 0)
{
InputObjTerm = Context.CreateLocalTerminal(ETerminalSpecification::TS_Literal);
InputObjTerm->Name = Context.NetNameMap->MakeValidName(Net);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
InputObjTerm->Type.PinSubCategory = UEdGraphSchema_K2::PN_Self;
}
else
{
InputObjTerm = Context.CreateLocalTerminalFromPinAutoChooseScope(Net, Context.NetNameMap->MakeValidName(Net));
}
Context.NetMap.Add(Net, InputObjTerm);
}
}
{
UEdGraphPin* OutPin = DelegateNode->GetDelegateOutPin();
check(NULL != OutPin);
if(!OutPin->LinkedTo.Num())
{
CompilerContext.MessageLog.Error(*LOCTEXT("NoDelegateSignature", "No delegate signature @@").ToString(), DelegateNode);
return;
}
UEdGraphPin* Net = FEdGraphUtilities::GetNetFromPin(OutPin);
FBPTerminal** FoundTerm = Context.NetMap.Find(Net);
FBPTerminal* OutDelegateTerm = FoundTerm ? *FoundTerm : NULL;
if(NULL == OutDelegateTerm)
{
OutDelegateTerm = Context.CreateLocalTerminalFromPinAutoChooseScope(Net, Context.NetNameMap->MakeValidName(Net));
if (NULL == FMemberReference::ResolveSimpleMemberReference<UFunction>(OutDelegateTerm->Type.PinSubCategoryMemberReference))
{
FMemberReference::FillSimpleMemberReference<UFunction>(DelegateNode->GetDelegateSignature(), OutDelegateTerm->Type.PinSubCategoryMemberReference);
}
if (NULL == FMemberReference::ResolveSimpleMemberReference<UFunction>(OutDelegateTerm->Type.PinSubCategoryMemberReference))
{
CompilerContext.MessageLog.Error(*LOCTEXT("UnconnectedDelegateSig", "Event Dispatcher has no signature @@").ToString(), OutPin);
return;
}
Context.NetMap.Add(Net, OutDelegateTerm);
}
}
}
void FKCHandler_CreateDelegate::Compile(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_CreateDelegate * DelegateNode = CastChecked<UK2Node_CreateDelegate>(Node);
check(NULL != DelegateNode);
FBlueprintCompiledStatement& Statement = Context.AppendStatementForNode(Node);
Statement.Type = KCST_BindDelegate;
{
UEdGraphPin* OutPin = DelegateNode->GetDelegateOutPin();
check(NULL != OutPin);
UEdGraphPin* Net = FEdGraphUtilities::GetNetFromPin(OutPin);
check(NULL != Net);
FBPTerminal** FoundTerm = Context.NetMap.Find(Net);
check(FoundTerm && *FoundTerm);
Statement.LHS = *FoundTerm;
}
{
FBPTerminal* DelegateNameTerm = Context.CreateLocalTerminal(ETerminalSpecification::TS_Literal);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
DelegateNameTerm->Type.PinCategory = UEdGraphSchema_K2::PC_Name;
DelegateNameTerm->Name = DelegateNode->GetFunctionName().ToString();
DelegateNameTerm->bIsLiteral = true;
Statement.RHS.Add(DelegateNameTerm);
}
{
UEdGraphPin* InputPin = DelegateNode->GetObjectInPin();
check(NULL != InputPin);
UEdGraphPin* Net = FEdGraphUtilities::GetNetFromPin(InputPin);
FBPTerminal** FoundTerm = Context.NetMap.Find(Net);
check(FoundTerm && *FoundTerm);
Statement.RHS.Add(*FoundTerm);
}
FNodeHandlingFunctor::Compile(Context, Node);
}
void FKCHandler_ClearDelegate::RegisterNets(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_ClearDelegate * DelegateNode = CastChecked<UK2Node_ClearDelegate>(Node);
FKCHandlerDelegateHelper::RegisterMultipleSelfAndMCDelegateProperty(Context, DelegateNode, CompilerContext.MessageLog, CompilerContext.GetSchema(), InnerTermMap);
}
void FKCHandler_ClearDelegate::Compile(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_BaseMCDelegate* DelegateNode = CastChecked<UK2Node_BaseMCDelegate>(Node);
UEdGraphPin* SelfPin = CompilerContext.GetSchema()->FindSelfPin(*DelegateNode, EEdGraphPinDirection::EGPD_Input);
check(SelfPin);
TArray<UEdGraphPin*> Links = SelfPin->LinkedTo;
if(!Links.Num())
{
Links.Add(SelfPin);
}
for (auto NetIt = Links.CreateIterator(); NetIt; ++NetIt)
{
UEdGraphPin* NetPin = *NetIt;
check(NetPin);
FBlueprintCompiledStatement& AddStatement = Context.AppendStatementForNode(DelegateNode);
AddStatement.Type = KCST_ClearMulticastDelegate;
FBPTerminal** VarDelegate = InnerTermMap.Find(FDelegateOwnerId(NetPin, DelegateNode));
check(VarDelegate && *VarDelegate);
AddStatement.LHS = *VarDelegate;
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3716594) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3623720 by Phillip.Kavan #jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build. Change summary: - Temporarily excluded all AnimBP assets from nativization as a workaround. Change 3626305 by Phillip.Kavan #jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default. Change 3629145 by Marc.Audy Don't hide developer nativization tool behind ini Change 3630849 by Marc.Audy Fix nativization uncompilable code when using a non-referenceable term in a switch statement. #jira UE-44085 Change 3631037 by Marc.Audy (4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it #jira UE-49440 Change 3631206 by Marc.Audy Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT("")) Change 3631232 by Marc.Audy Remove outdated diagnostic code throwing false positives #jira UE-47986 Change 3631573 by Marc.Audy Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's' Change 3633168 by Lukasz.Furman fixed behavior tree changing its state during latent abort, modified order of operations during abort to: abort & wait -> change aux nodes -> execute Change 3633609 by Marc.Audy Don't get unneeded string Change 3633691 by Marc.Audy Fix copy-pasting of a collapsed graph containing a map input losing the value type #jira UE-49517 Change 3633967 by Ben.Zeigler Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript Fixed a few other fields to be private that were accidentally made public in 4.17 Change 3633984 by Michael.Noland Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links Change 3634464 by Ben.Zeigler Header cleanups for Pawn, Controller, Character, and PlayerController Change 3636858 by Marc.Audy In preview worlds don't display the light error sprite #jira UE-49555 Change 3636903 by Marc.Audy Fix numerous issues with copy/pasting editable pin bases #jira UE-49532 Change 3638898 by Marc.Audy Allow right-click creation of local variables in blueprint function libraries #jira UE-49590 Change 3639086 by Marc.Audy PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin) #jira UE-49591 Change 3639445 by Marc.Audy Fix mistaken override and virtual markup on niagara schema function. Change 3641202 by Marc.Audy (4.17.2) Fix crash undoing pin changes with split pins #jira UE-49634 Change 3643825 by Marc.Audy (4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted #jira UE-49756 Change 3645110 by mason.seay Fixed up QA-ClickHUD map so it's usable and makes more sense Change 3646428 by Dan.Oconnor Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data #jira None Change 3647298 by Marc.Audy PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist) #jira UE-49748 Change 3647815 by Marc.Audy Minor performance improvements Change 3648931 by Lina.Halper #Compiler : fixed so that each type of BP can provide module info, and compiler info - Moved out AnimBlueprint Compiler - Refactored WidgetBlueprint - DUPE - Merging using ControlRig_Dev-Framework Change 3654310 by Marc.Audy Shrink USkinnedMeshComponent 64 bytes Shrink USkeletalMeshComponent 224 bytes (160 bytes internal) Change 3654636 by Lina.Halper Fix crashing on shutdown #jira: UE-50004 Change 3654960 by Lina.Halper - Fix with automation test of creation/duplication - Fixed shut down crash with editor again due to uobject GCed #jira: UE-50028 Change 3655023 by Ben.Zeigler #jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag Change 3655426 by Ben.Zeigler #jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them Change 3657627 by Ben.Zeigler #jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction Change 3662086 by Mieszko.Zielinski Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4 This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList #jira UE-50101 Change 3662294 by Ben.Zeigler Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check Change 3662825 by Mieszko.Zielinski Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4 there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no Change 3664424 by Marc.Audy UE-50076 test assets #rb none #rnx Change 3664441 by Mieszko.Zielinski PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist) Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated. Change 3664506 by Phillip.Kavan #jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets. Change summary: - UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization. - UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths. - UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished. - UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option). - UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed. - UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead. - UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead. - UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file. - UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file. - UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first). - UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness. - UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed. - UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc. - UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file. - UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string. - UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>. - UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin. - UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed). - UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed). - UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it. - UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished. - UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag. - UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed. - UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context. - UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail. - UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT). - UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders. Notes: - After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release). - Advanced users and build engineers can override this value per task. Instructions to do that are as follows: - For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line. - When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly. - We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT. - We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above). Change 3665061 by Phillip.Kavan Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum. Mirrored from //UE4/Release-4.18 (CL# 3664993). #3969 #jira UE-49233 Change 3665108 by Marc.Audy (4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted + additional code cleanup #jira UE-50076 Change 3665114 by Marc.Audy Minor change that could potentially improve performance in some cases Change 3665410 by Mieszko.Zielinski Fixed naming of Vislog's BP API #UE4 Change 3665634 by Ben.Zeigler #jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk Change 3666970 by Phillip.Kavan Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8. #jira UE-46814 Change 3667058 by Phillip.Kavan Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage. Mirrored from //UE4/Release-4.18 (CL# 3667043). #jira UE-50403 Change 3667150 by Mieszko.Zielinski PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM) Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend. #jira UE-50249 Change 3667152 by Mieszko.Zielinski PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM) #jira UE-50298 Change 3667166 by Mieszko.Zielinski Fixed FRichCurve baking so that it doesn't loose its curvature #UE4 Also, added some baking sanity checking (like if the range is larger than a single point). Change 3668025 by Dan.Oconnor Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed #jira UE-50453 Change 3672063 by Ben.Zeigler #jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case Change 3672306 by Ben.Zeigler #jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it Change 3672683 by Marc.Audy Code cleanup Change 3672749 by Ben.Zeigler Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build Change 3672831 by Ben.Zeigler #jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId. Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project Change 3673551 by Ben.Zeigler #jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load Change 3675074 by mason.seay Test map for VisLog Testing Change 3675084 by Mieszko.Zielinski Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4 #jira UE-43430 Change 3676490 by Ben.Zeigler #jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset Change 3676579 by Lukasz.Furman fixed crash in behavior tree's search rollback Change 3676586 by Lukasz.Furman added local scope mode to behavior tree's composite nodes Change 3676587 by Ben.Zeigler Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case Add browse, use selected, and clear buttons, and make ID selector font the normal property font Change 3676715 by Lukasz.Furman changed order of behavior tree's aux node ticking Change 3676867 by Ben.Zeigler #jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early Change 3677892 by Ben.Zeigler Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites Change 3678247 by Marc.Audy Fix static analysis warning Change 3678357 by Ben.Zeigler #jira UE-50696 Add some container variables to diff test to track down crashes Change 3678385 by Ben.Zeigler #jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match Change 3678600 by Ben.Zeigler #jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference Change 3679075 by Dan.Oconnor Mirror 3679030 from Release-4.18 Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on #jira UE-48692 Change 3679087 by Dan.Oconnor Filter out unnecessary relink jobs from the compilation manager #jira None Change 3680221 by Ben.Zeigler #jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary Change 3680561 by Lukasz.Furman fixed unsafe StopTree calls in behavior tree #jira nope Change 3680788 by Ben.Zeigler Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind Change 3683001 by mason.seay Submitting various test maps and assets Change 3686837 by Mieszko.Zielinski Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion #jira UE-50857 Change 3688451 by Marc.Audy Fix up new material expression to work with String -> Name refactor Change 3689097 by Mason.Seay Test content for nativization and enum testing Change 3689106 by Mieszko.Zielinski Made NavMeshBoundsVolume react to undo in the editor #Orion #jira UE-51013 Change 3689347 by Mieszko.Zielinski Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4 Manual merge of CL#3689316 over from 4.18 #jira UE-51019 Change 3692524 by mason.seay Moved some assets to folder for org, fixed up redirectors Change 3692540 by mason.seay Renaming test maps so they are clearly indicated for testing nativization Change 3692577 by mason.seay Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed Change 3692724 by mason.seay Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps Change 3693184 by mason.seay Assets for testing nativization with structs Change 3693367 by mason.seay Improvements to test content Change 3695395 by Dan.Oconnor Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced #jira None Change 3695484 by Marc.Audy Fix sound cue connection drawing policy not getting returned. #jira UE-51032 Change 3695494 by mason.seay More test content for nativization testing Change 3697829 by Mieszko.Zielinski PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei) Change 3700541 by mason.seay Test map for containers with function bug Change 3703459 by Marc.Audy Remove poorly named InverseLerp Fix degenerate behavior returning bad value #jira UE-50295 Change 3703803 by Marc.Audy Clean up autos Minor improvement to ShouldGenerateCluster Change 3704496 by Mason.Seay More test content for testing nativization Change 3706314 by Marc.Audy PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar) #jira UE-50874 Change 3707502 by Mason.Seay Final changes to nativization test content (hopefully) Change 3709478 by Marc.Audy PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel) Same as CL# 3689702 implemented in Fortnite #jira UE-51453 Change 3709967 by Marc.Audy PR #4139: fixed a typo in a comment (Contributed by derekvanvliet) #jira UE-51372 Change 3709970 by Marc.Audy PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman) #jira UE-51495 Change 3709971 by Marc.Audy PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas) #jira UE-51492 Change 3710041 by Marc.Audy Minor code cleanup Change 3711223 by Phillip.Kavan Move some Blueprint nativization log spam into the verbose category. #jira UE-49770 Change 3713398 by Marc.Audy PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM) #jira UE-51517 Change 3713601 by Marc.Audy Fix merge error Change 3713994 by Marc.Audy (4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event. #jira UE-50738 Change 3714270 by Marc.Audy Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors #jira UE-51534 Change 3714406 by Marc.Audy Fix dumb inverted boolean check Change 3716594 by Dan.Oconnor Integrate 3681301 from 4.18 Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior #jira UE-50780, UE-51568 Change 3686450 by Marc.Audy PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString. CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither. CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters. Material Expressions now store input and output names as FName instead of FString FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString Most existing pin related functions using string have been deprecated. Change 3713796 by Marc.Audy Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not. IsTickable no longer a pure virtual (defaults to true). Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject. Change 3638554 by Marc.Audy Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected. Change 3676502 by Ben.Zeigler Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635 [CL 3718205 by Marc Audy in Main branch]
2017-10-25 09:30:36 -04:00
GenerateSimpleThenGoto(Context, *DelegateNode, DelegateNode->FindPin(UEdGraphSchema_K2::PN_Then));
FNodeHandlingFunctor::Compile(Context, DelegateNode);
}
//////////////////////////////////////////////////////////////////////////
// FKCHandler_CallDelegate
void FKCHandler_CallDelegate::RegisterNets(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
UK2Node_CallDelegate * DelegateNode = CastChecked<UK2Node_CallDelegate>(Node);
FKCHandlerDelegateHelper::RegisterMultipleSelfAndMCDelegateProperty(Context, DelegateNode, CompilerContext.MessageLog, CompilerContext.GetSchema(), InnerTermMap);
FKCHandler_CallFunction::RegisterNets(Context, Node);
}
void FKCHandler_CallDelegate::Compile(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
check(Node);
const UEdGraphSchema_K2* K2Schema = GetDefault<UEdGraphSchema_K2>();
const UFunction* SignatureFunction = FindFunction(Context, Node);
if(!SignatureFunction)
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3194222) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3170086 on 2016/10/20 by Dan.Oconnor PR #2760: UE-35454: Vector2D sets default value (Contributed by projectgheist) #jira UE-35454, UE-35499 Change 3175577 on 2016/10/26 by Dan.Oconnor Back out changelist 3170086 - this change is incompatible with existing default values on EdGraphNodes Change 3178243 on 2016/10/28 by Ryan.Rauschkolb BP Profiler: Fixed crash when profiling InputKeyEvents #jira UE-37392 Change 3178702 on 2016/10/28 by Dan.Oconnor Implement UStructProperty::GetValueTypeHashInternal #jira UE-2114 Change 3178812 on 2016/10/28 by Dan.Oconnor Improved map pin compatabiliity checks (can no longer connect maps to non-container wildcards, connect unrelated map types), properly setting HasGetValueTypeHash for blueprint generated properties, preventing compilation of Set and Map properties that have unhashable members Change 3179999 on 2016/10/31 by Ryan.Rauschkolb BP Profiler: Fixed issue where Tunnel boundaries weren't being created for each entry/exit pin Change 3180700 on 2016/10/31 by Dan.Oconnor Typo fix, referred to as Key, when property in question is a value type for a map Change 3181014 on 2016/11/01 by Mike.Beach Preventing the Blueprint compiler from erroring on missing delegate variables, when the expected member belongs to another Blueprint that hasn't been compiled-on-load yet (the Blueprint was possibly saved without compiling, so the expected delegate may be there). #jira UE-37679 Change 3182378 on 2016/11/01 by Dan.Oconnor Correctly handle non-native structs, which are currently always hashable Change 3182440 on 2016/11/01 by Dan.Oconnor SA fix - introduced by 3178812 Change 3183764 on 2016/11/02 by Ryan.Rauschkolb Collapsing nodes to function now only links gateway pins to the result node if existing links weren't transferred over. #jira UE-23381 Change 3184306 on 2016/11/02 by Dan.Oconnor Fix for TSet pins being connectable to ArrayDependentParams (e.g. Item node on a Add to Array node) Change 3184310 on 2016/11/02 by Dan.Oconnor Add BlueprintMapLibrary. Rename RemoveAt_NeedsRehash functions, as they do properly unlink elements in a Map/Set. Implement FScriptSetHelper::Remove in terms of Find and RemoveAt. Correct iteration of Sets in BlueprintSetLibrary. Change 3185317 on 2016/11/03 by Ryan.Rauschkolb Fixed crash when collapsing nodes Change 3185482 on 2016/11/03 by Dan.Oconnor Remove superfluous branch Change 3185493 on 2016/11/03 by Mike.Beach Guarding against missing variable errors/warnings (when two Blueprints are cyclically dependent and the one with variables was saved without compiling variables in). Change 3185501 on 2016/11/03 by Mike.Beach Remove [EditoronlyBP] settings from the engine. These were old legacy settings which let you use/export editor-only UBlueprint objects in cooked projects (was deprecated in 4.14, now gone for 4.15). #jira UE-37967 Change 3186924 on 2016/11/04 by Maciej.Mroz BP nativization works with EDL. Part 1. Work n progress. Change 3188920 on 2016/11/07 by Phillip.Kavan [UE-30735] Hide 'EditInstanceOnly' properties when viewing/editing SCS component defaults in the Blueprint editor. change summary: - modified SKismetInspector::IsPropertyVisible() to leverage the IsTemplate() API which checks both CDO/archetype flags. #jira UE-30735 Change 3190417 on 2016/11/08 by Dan.Oconnor Unified compact node style, added icons for Set and Map library functions. #jira UE-2114 Change 3190429 on 2016/11/08 by Dan.Oconnor Shadowvariable fixes Change 3190465 on 2016/11/08 by Dan.Oconnor Test asset updates Change 3190984 on 2016/11/08 by Mike.Beach CIS fix for static analysis. Change 3191035 on 2016/11/08 by Dan.Oconnor Disabling changing replication behavior for Set and Map Properties - networking has no near term plan to support this #jira UE-2114 Change 3191059 on 2016/11/08 by Dan.Oconnor UE-27728 test assets Change 3191671 on 2016/11/09 by Maciej.Mroz EDL + Nativization. Fake export for CDO. Work in progress. Change 3192327 on 2016/11/09 by Mike.Beach Fixing up CIS compiler error. Change 3192464 on 2016/11/09 by Mike.Beach More CIS fixes for static analysis. Change 3193467 on 2016/11/10 by Mike.Beach Adding a Blueprint function to get the process's commandline. Change 3193822 on 2016/11/10 by Ben.Marsh Build: Replace Fortnite Win32 compile with UE4Game Win32. Fortnite aren't shipping Win32 any more. Change 3194088 on 2016/11/10 by Dan.Oconnor Disabling SA warning at this scope in order to hopefully improve messaging Change 3194222 on 2016/11/10 by Dan.Oconnor Better fix for SA error after taking a look at crash reporter and finding a rare crash in IsTypeCompatibleWithProperty [CL 3194231 by Dan Oconnor in Main branch]
2016-11-10 21:28:46 -05:00
UK2Node_CallDelegate* DelegateNode = CastChecked<UK2Node_CallDelegate>(Node);
if (!FKismetCompilerUtilities::IsMissingMemberPotentiallyLoading(Context.Blueprint, DelegateNode->DelegateReference.GetMemberParentClass()))
{
CompilerContext.MessageLog.Error(*LOCTEXT("CallDelegateNoSignature_Error", "Cannot find signature function for @@").ToString(), Node);
}
return;
}
if(SignatureFunction->HasMetaData(FBlueprintMetadata::MD_DefaultToSelf))
{
CompilerContext.MessageLog.Error(
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3623004 by Ben.Marsh Fix RemoteExecutor not taking the remote machine specs into account. Change 3623172 by Ben.Marsh UGS: Fix "More Info..." button not using P4 server override. Change 3628820 by Ben.Marsh PR #3979: Get working directory from task element, not tool node (Contributed by nullbus) Change 3630424 by Graeme.Thornton Make the AES key parameter const in FAES::EncryptData() Change 3632786 by Steve.Robb FString constructor fixed to not take an ignored void* parameter, which can be misleading. Change 3639534 by Ben.Marsh Remove old P4.NET library. Doesn't seem to be used by anything. Change 3640536 by Steve.Robb GitHub #4007 : Delete unnecessary specialization of MakeArrayView #jira UE-49617 Change 3641155 by Gil.Gribb UE4 - Speculative fix for problem with summary reading in FAsyncArchive2. Change 3643932 by Ben.Marsh Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument). Change 3644825 by Ben.Marsh Use VSWHERE to find the location of MsBuild.exe, if available. https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645 Change 3647395 by Ben.Marsh Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options. Change 3650300 by Ben.Marsh UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis. Change 3650856 by Robert.Manuszewski Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread Change 3651022 by Gil.Gribb UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher. Change 3658331 by Steve.Robb Fix for the parsing of large integer values. Change 3661958 by Gil.Gribb UE4 - Fixed rare hang in task graph. Change 3664021 by Robert.Manuszewski Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html Change 3664254 by Steve.Robb Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports. Change 3664436 by Steve.Robb Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads. Change 3666461 by Graeme.Thornton Improvements to signing/encryption key embedding and runtime access - Changed method of embedding key into the executable to make it more secure - Added FAESKey class to wrap a 32 byte key Change 3666462 by Graeme.Thornton Cut ShooterGame AES key down to 32 characters Change 3677560 by Ben.Marsh PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn) Change 3683534 by Steve.Robb Refactoring of enum/struct lookup during hot reload. Change 3683754 by Steve.Robb Alignment fixes to allow int64 on 32-bit platforms Support for integral types in IsAligned. Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types. Some fixes to existing code. Change 3686670 by Steve.Robb Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS. Change 3687540 by Ben.Marsh Fix all UBT/UAT output going to stderr rather than stdout. Change 3688931 by Gil.Gribb UE4 - Critical fix for a rare race condition in the pak file async IO layer. Change 3690000 by Graeme.Thornton Manual copy of 4.18 CL 3687869 Make UBT include the destination INI file for a given hierarchy if it exists Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name Change 3690030 by Graeme.Thornton VSCode fixes - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for - Various fixes for vscode project file generation #jira UE-50554 Change 3690885 by Steve.Robb Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>. Change 3691052 by Steve.Robb Free stats thread on shutdown. Change 3695138 by Steve.Robb AsConst helper function added. Change 3696627 by James.Hopkin Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr (review-3606695) Change 3697099 by Steve.Robb GitHub #4105 : Removed redundant class access modifier Change 3697154 by Steve.Robb Removal of deprecated functions in delegates. Mutable lambdas to can now be bound to delegates. Change 3697180 by Steve.Robb GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty Change 3697239 by Steve.Robb Allow TArray::Insert to take an array with any allocator type. Change 3697269 by Steve.Robb RelocateConstructItems instead of MoveConstructItems. Change 3697558 by Steve.Robb New _GetRef functions for TArray, which return a reference to the newly-added element. Unit tests for these functions. Change 3699776 by Steve.Robb TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled. Change 3702397 by Steve.Robb TIsTrivial type trait. Change 3702569 by Steve.Robb Allow a TGuardValue to be assigned to a different type from the one being guarded. Change 3706644 by Robert.Manuszewski Different stack ingore count for development builds for FArchiveStackTrace Change 3709272 by Steve.Robb Removal of redundant UpdateVertices, which causes a race condition on the renderer thread. Change 3709452 by Robert.Manuszewski Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies Change 3709454 by Robert.Manuszewski Added command line option -NOEDL to disable EDL Change 3709487 by Steve.Robb Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1. Change 3709645 by Ben.Marsh Fix race condition between multiple instances of UBT trying to write out the XML config cache. Change 3711193 by Ben.Marsh Add an editor setting for the shared DDC location to use. #jira UE-51487 Change 3713811 by Steve.Robb Update .modules files after a hot reload. Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks. Pass hotreload flags around in UBT instead of relying on global state. This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205. #jira UE-51472 Change 3715654 by Steve.Robb GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy. Change 3718782 by Steve.Robb TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called. Change 3720830 by Steve.Robb Initial import of TAtomic object wrapper, which guarantees atomic access to an object. Change 3720881 by Steve.Robb FCompression ThreadSanitizer data race fixes. Change 3722640 by Graeme.Thornton Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading. #jira UE-51463 Change 3722655 by Steve.Robb Don't null name table because it's already zeroed at startup. Some tidy-ups. Change 3722754 by Steve.Robb Thread sanitizer fix. Small typo fix. Change 3722849 by Graeme.Thornton Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server Change 3723081 by Steve.Robb TAtomic is now aligned to the underlying integer type. TAtomic will now static assert with a better error message when given an unsupported type. Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number. Misc renames. Change 3723270 by Ben.Marsh Include /d2cgsummary argument when running UBT with -Timing. Change 3723683 by Ben.Marsh Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance. Change 3725422 by Robert.Manuszewski When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning. Change 3725735 by Robert.Manuszewski Making all CheckDefaultSubobjects related functions const Change 3726167 by Steve.Robb FMinimalName::IsNone added. Change 3726458 by Steve.Robb TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer. Change 3726542 by Ben.Marsh UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths. Change 3726595 by Ben.Marsh Allow building multiple game targets in the example BuildEditorAndTools.xml script. Change 3726724 by Ben.Marsh Fix ambiguities in calculating root directory. (GitHub #4172) Change 3726959 by Ben.Marsh Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does. Change 3728437 by Steve.Robb VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel. Some improved documentation. NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping. Change 3732262 by Gil.Gribb UE4 - Fixed rare hangs in the task graph. Change 3732755 by Steve.Robb Stats TSAN fixes. Optimizations to FCycleCounter::Start() to only read the stat name once. Change 3735000 by Robert.Manuszewski Always preload the AssetRegistry module on startup. even if EDL is disabled. Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert. Change 3735292 by Robert.Manuszewski Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates. Change 3735332 by Steve.Robb Refactoring of UDelegateProperty::Identical() to clarify logic. Fixed UMulticastDelegateProperty::Identical() to compare the bound function names. PPF_DeltaComparison removed, as it doesn't seem useful. Change 3737960 by Graeme.Thornton VSCode - Add launch task for generating project files for the given folder Change 3738398 by Graeme.Thornton Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor #jira UE-51451 Change 3738405 by Graeme.Thornton VSCode: Format c/cpp settings strings using comment path formatting function Change 3738928 by Steve.Robb Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18) #jira UE-51842 Change 3739135 by Ben.Marsh Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history. #jira UE-51855 Change 3739360 by Ben.Marsh UAT: Fix issue with P4PORT setting not being parsed correctly. Change 3745959 by James.Hopkin #core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types Change 3746125 by Steve.Robb FName ThreadSanitizer fixes. Change 3747274 by Steve.Robb TSAN fix for FMediaTicker::Stopping. Change 3747618 by Steve.Robb ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish. Change 3747720 by Steve.Robb ThreadSanitizer fix for FMessageRouter::Stopping. Change 3749207 by Graeme.Thornton First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys. Change 3749323 by Graeme.Thornton Fix UAT crash when only -targetplatform is specifiied Change 3749349 by Steve.Robb TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer. Change 3749617 by Steve.Robb Logf static_assert for formatting string enabled. Change 3749897 by Steve.Robb FDebug::LogAssertFailedMessage static assert for formatting string enabled. Change 3754011 by Steve.Robb Static asserts that the allocator supports move. Move-enabled our allocators which don't support move. Change 3754227 by Ben.Marsh Fix build command line in generated projects missing a space before the compiler version override. #jira UE-52226 Change 3754562 by Ben.Marsh PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk) Change 3755616 by Graeme.Thornton Runtime code for using the new crypto ini files to define signing/encryption keys #jira UE-46580 Change 3755666 by James.Hopkin Used ImplicitConv to remove Casts being used for up-casts #review-3745965 Change 3755671 by Graeme.Thornton Add log message in unrealpak to say which config file system it is using for crypto keys Change 3755672 by Graeme.Thornton Updating ShooterGame with new CryptoKeys based security setup Change 3756778 by Ben.Marsh Add support for running multiple jobs simultaneously on a single builder. When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used. Change 3758498 by Ben.Marsh Re-throw exceptions when a file cannot be deleted when cleaning a target. Change 3758921 by Steve.Robb ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access. DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory. Change 3760599 by Graeme.Thornton Added missing epic header comment to some new source files Change 3760642 by Steve.Robb ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread. Change 3760669 by Graeme.Thornton Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually. Added a test mode to the cryptokeys commandlet to test signing key generation Change 3760711 by Steve.Robb ThreadSanitizer fixes to GIsRenderingThreadSuspended. Change 3760739 by Steve.Robb ThreadSanitizer fix for FQueuedThread::TimeToDie. Change 3760763 by Steve.Robb ThreadSanitizer fix for GRunRenderingThreadHeartbeat. Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread. Change 3760793 by Steve.Robb Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos. Change 3760817 by Steve.Robb ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos. Change 3761331 by Josh.Engebretson UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj #jira UE-52416 Change 3761521 by Steve.Robb ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId. Change 3763117 by Graeme.Thornton PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL) Change 3763358 by Graeme.Thornton Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path Derived from the content of this PR: PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang) Change 3764058 by Graeme.Thornton Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes #jira UE-52359 Change 3764705 by Steve.Robb Better handling of whitespace in ImportText_Internal() for set and map properties. Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data). Fix to USetProperty's temp buffer size to avoid buffer overruns. Duplicate map keys are now skipped during import, same as USetProperty's behavior. Change 3764731 by Steve.Robb Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that. Change 3765923 by Graeme.Thornton VSCode - "taskName" -> "label" for C# build tasks Change 3766018 by Steve.Robb constexpr constructor for TAtomic. Change 3766037 by Steve.Robb Misc tidyings in HotReload.cpp. Change 3766046 by Steve.Robb ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local. Change 3766288 by Steve.Robb Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects. Change 3766374 by Josh.Engebretson Fix issue with ini quoted value comparison #jira UE-52066 Change 3766532 by Josh.Engebretson PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu) #jira UE-46156 Change 3766740 by Steve.Robb TMultiMap::Append added. Change 3767523 by Steve.Robb ThreadSanitizer fix for UE4Delegates_Private::GNextID. Change 3767601 by Steve.Robb ThreadSanitizer fix for FStats::GameThreadStatsFrame. Change 3770567 by Ben.Marsh Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives. Change 3770826 by Ben.Marsh Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it. Change 3770875 by Steve.Robb Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps. Change 3772167 by Ben.Marsh Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data. Change 3772248 by Steve.Robb ThreadSanitizer fixes to FMalloc call counters. Change 3772383 by Ben.Marsh Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive. Change 3772906 by Graeme.Thornton TextAssetCommandlet - Utility commandlet for testing/converting to text asset format Change 3772932 by Ben.Marsh Fix "String:" prefix not being stripped from escaped string values. Change 3772942 by Graeme.Thornton Add experimental setting to enable in-editor text asset format functionality Add "export to text" option into the content browser asset actions context menu Change 3772955 by Ben.Marsh Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility. Change 3772963 by Ben.Marsh Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries. Change 3773010 by Graeme.Thornton Added CORE_API to FArchiveFromStructuredArchive Gave text asset format experimental option a slightly less random tooltip comment Change 3773057 by Ben.Marsh Add a flag to FArchive to determine whether the archive is text (IsTextFormat()). Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive. Also rename FStructuredArchive::TryEnterSlot() to TryEnterField(). Change 3773118 by Steve.Robb TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size. Change 3773122 by Steve.Robb TAtomic fixes for pointer arithmetic. TSignedIntType used instead of reimplementing its own trait. Change 3773123 by Steve.Robb Unit tests for TAtomic. Change 3773138 by Steve.Robb Run numeric tests on integer types instead of basic tests. Fix for compiler warnings when subtracting from unsigned atomics. Change 3773166 by Steve.Robb Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that. Change 3774216 by Gil.Gribb UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file. Change 3774426 by Ben.Marsh Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all. See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html Change 3774658 by Ben.Marsh Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it. Change 3775141 by Ben.Marsh Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor. Change 3775459 by Ben.Marsh Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically. Change 3775522 by Ben.Marsh UGS: Treat .uproject and .uplugin files as code changes. Change 3775597 by Ben.Marsh Fix post-build steps for plugins not being executed. #jira UE-52754 Change 3777895 by Graeme.Thornton StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive Change 3777931 by Graeme.Thornton Refactored FArchiveUObjects serialization code into some static helpers Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers Change 3777942 by Graeme.Thornton Added missing CORE_API to FStructuredArchive::FStream Added FStructuredArchive::FSlot insertion operator for char Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value Change 3778084 by Graeme.Thornton Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files Change 3778096 by Graeme.Thornton Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class Change 3778389 by Josh.Engebretson Fix an optimization issue with CPU benchmarking Add better support for debugging/testing local rocket builds UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html #jira UE-52192 Change 3778701 by Josh.Engebretson Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html #jira UE-40317 Change 3778832 by Chad.Garyet Adding enterprise path support for PCB's for UGS Change 3780258 by Graeme.Thornton TextAssetCommandlet - Accumulate timings for loading packages and saving packages Change 3780463 by Graeme.Thornton CryptoKeys improvements - Enable CryptoKeys plugin by default - Attempt to inherit settings from the old system by default - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings Change 3780557 by Ben.Marsh Fix LoginFlow module not being precompiled for the binary release. Change 3780846 by Josh.Engebretson Improve filename to long package name resolution when provided a relative path Change 3780863 by Ben.Marsh UAT: Add a better error message when a C# project has an invalid reference. Change 3780911 by Ben.Marsh Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce. The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument. Change 3780956 by Josh.Engebretson Add support for ! (RemoveKey) config command to UBT UDN Link: https://udn.unrealengine.com/questions/397267/index.html #jira UE-52033 Change 3782957 by Robert.Manuszewski UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Change 3784503 by Ben.Marsh Optimizations for FStructuredArchive: * Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it. * Prevent shrinking of arrays when removing elements. * Add an inline allocator to the scope and container stacks. Change 3784700 by Ben.Marsh Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front. Change 3784989 by Ben.Marsh Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0. Change 3786860 by Gil.Gribb UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely. Change 3787159 by Ben.Marsh Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution. Change 3787493 by Josh.Engebretson Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile Fix for multiple threads parsing ini keys (PR 3995) #PR 3995 #jira 52913 #jira 49503 Change 3787773 by Steve.Robb Fix for missing final values from FOREACH_ENUM_ macros. Change 3788287 by Ben.Marsh TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique. Change 3788678 by Ben.Marsh Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive. Change 3789353 by Graeme.Thornton Removed unused/rotten modes from TextAsset commandlet. Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing. Change 3789396 by Ben.Marsh Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h Change 3789772 by Ben.Marsh Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line. Change 3790003 by Ben.Marsh TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record. Change 3790051 by Steve.Robb PIE is disabled during a hot reload. Hot reload in editor is disabled during PIE. Hot reload from IDE is deferred until after PIE is exited. Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change. #jira UE-20357 #jira UE-52137 Change 3790709 by Steve.Robb Better move support for TVariant. EVariantTypes switched over to using an enum class to aid debugger visualization. Change 3791422 by Ben.Marsh TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time. Change 3791489 by Graeme.Thornton TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record Change 3792344 by Ben.Marsh Improvements to base64 encoding library. * Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations. * Added support for decoding base-64 blobs without padding marks. * Added support for decoding into pre-allocated buffer. * Added constexpr functions for determining the encoded and maximum decoded size of an input buffer. * Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes). Change 3792949 by Ben.Marsh TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter. Change 3794078 by Robert.Manuszewski Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine #jira UE-52392 Change 3794413 by Ben.Marsh TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack. Change 3794731 by Ben.Marsh TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable. Change 3795081 by Ben.Marsh UBT: Move LinuxCommon.cs into Platform/Linux folder. Change 3795137 by Ben.Marsh UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property). Change 3795247 by Ben.Marsh Fix missing header when creating a new interface from the editor new code wizard. #jira UE-53174 Change 3796025 by Graeme.Thornton Fixed some deprecated "Definitions" warnings in OpenCV build files Change 3796103 by Graeme.Thornton Disable experimental text asset option - it does nothing useful yet. Change 3796157 by Graeme.Thornton Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open. #jira UE-53206 Change 3796315 by Ben.Marsh Move Formatter to the correct position for initializer. #jira UE-53208 Change 3797082 by Ben.Marsh UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT. #jira UE-53232 Change 3799050 by Ben.Marsh Make UnrealPak.version files writable for Mac and Linux. Change 3801012 by Graeme.Thornton VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory Change 3801214 by Gil.Gribb UE4 - Remove assert to work around minor problem with lock free lists. #jira UE-49600 Change 3801219 by Steve.Robb WeakObjectPtrs now warn when casting away const. Change 3801299 by Graeme.Thornton Fix quote issue with foreign project build tasks on PC Change 3803292 by Graeme.Thornton Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries Change 3803559 by Steve.Robb TSAN fix for FMalloc::MaxSingleAlloc. Change 3803735 by Graeme.Thornton Last set of cryptokeys changes - Added some comments for editor exposed settings - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets" Change 3803929 by Ben.Marsh UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog. Change 3624590 by Steve.Robb AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector. Tidy-up of existing calls to AddReferencedObjects. Change 3629473 by Ben.Marsh Build: Rename the option for embedding source server information in PDB files for installed engine builds. Change 3632894 by Steve.Robb VARARG* macros deprecated and usage replaced with variadic templates. Change 3640704 by Steve.Robb MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type. Fix to TWeakObjectPtr's constructor which implicitly removed const. Fixes to everything which didn't compile as a result. Change 3650813 by Graeme.Thornton Removed FStartupPackages and associated code Change 3651000 by Ben.Marsh Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out. #jira UE-49980 Change 3690842 by Steve.Robb FPlatformAtomics::AtomicRead added - needs optimizing. AtomicRead() used in FThreadSafeCounter::GetValue(). Change 3699416 by Steve.Robb Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator. Improved readability of TSparseArray visualization. Change 3720812 by Steve.Robb Atomic functions for 8-bit and 16-bit. Android, Linux and Switch implementations now just use the Clang implementation. AtomicRead64 deprecated in favor of the int64* AtomicRead overload. Change 3722698 by Steve.Robb VS debugger visualizers for TAtomic. Change 3732270 by Steve.Robb Relaxed stores and loads. Change 3749315 by Graeme.Thornton If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform #jira UE-52034 Change 3750657 by Josh.Engebretson Fixed issue when debugging editor cook/package and project launch operations #jira UE-52207 Change 3758514 by Steve.Robb Fixes to FString::Printf having non-literals being passed as its formatting string. Change 3763356 by Steve.Robb ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters. Change 3770549 by Steve.Robb Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES. Tidy up of existing code which uses it. Change 3770553 by Ben.Marsh Adding structured serialization API to Core/CoreUObject for use with text-based assets. * FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types. * Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Maps are string -> value dictionaries where the key names are present regardless of the build type. * Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects. * Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type. * The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0. * Includes implementations of FArchiveFormatter for binary and JSON formats. Change 3771105 by Steve.Robb Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS. Fix for incorrect warning formatting on Clang platforms. Change 3771520 by Steve.Robb Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header. Change 3771564 by Steve.Robb More common macros moved to the Clang pre-setup header. Change 3771613 by Steve.Robb EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h. Change 3772881 by Ben.Marsh Add support for serializing FName and UObject through FStructuredArchive. In order to allow custom linker behavior when serializing objects: * The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer. * The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table) Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix). Change 3772941 by Graeme.Thornton Make build work when including StructuredArchive.h from core container types Added standard header to new files Add structured archive serializer for TArray Fix bug in structured archive where containers weren't being popped from the scope stack Change 3772972 by Ben.Marsh Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot. Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately. When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields. Change 3773006 by Ben.Marsh Rename FStructuredArchive::FRecord::EnterSlot() to EnterField(). Change 3773013 by Steve.Robb bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes. Change 3774499 by Ben.Marsh Minor fixes for FStructuredArchive related classes: * Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types. * FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions. Change 3774600 by Ben.Marsh Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data. This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data. Change 3789721 by Ben.Marsh TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing. Change 3789920 by Ben.Marsh TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double. #jira UECORE-364 Change 3789982 by Ben.Marsh TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter. Change 3792466 by Ben.Marsh TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly. In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations. Change 3792935 by Ben.Marsh TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive. Change 3795100 by Ben.Marsh UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer. Change 3795106 by Ben.Marsh Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions. Change 3796275 by Ben.Marsh Fix paths to Version.h includes from resource files. Change 3800683 by Josh.Engebretson Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format #jira UE-50073 Change 3803545 by Steve.Robb TWeakObjPtr const-dropping assignment fix. Fixes to change. [CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
*FText::Format(
LOCTEXT("CallDelegateWrongMeta_ErrorFmt", "Signature function should not have {0} metadata. @@"),
FText::FromString(FBlueprintMetadata::MD_DefaultToSelf.ToString())
).ToString(),
Node
);
return;
}
if(SignatureFunction->HasMetaData(FBlueprintMetadata::MD_WorldContext))
{
CompilerContext.MessageLog.Error(
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3623004 by Ben.Marsh Fix RemoteExecutor not taking the remote machine specs into account. Change 3623172 by Ben.Marsh UGS: Fix "More Info..." button not using P4 server override. Change 3628820 by Ben.Marsh PR #3979: Get working directory from task element, not tool node (Contributed by nullbus) Change 3630424 by Graeme.Thornton Make the AES key parameter const in FAES::EncryptData() Change 3632786 by Steve.Robb FString constructor fixed to not take an ignored void* parameter, which can be misleading. Change 3639534 by Ben.Marsh Remove old P4.NET library. Doesn't seem to be used by anything. Change 3640536 by Steve.Robb GitHub #4007 : Delete unnecessary specialization of MakeArrayView #jira UE-49617 Change 3641155 by Gil.Gribb UE4 - Speculative fix for problem with summary reading in FAsyncArchive2. Change 3643932 by Ben.Marsh Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument). Change 3644825 by Ben.Marsh Use VSWHERE to find the location of MsBuild.exe, if available. https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645 Change 3647395 by Ben.Marsh Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options. Change 3650300 by Ben.Marsh UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis. Change 3650856 by Robert.Manuszewski Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread Change 3651022 by Gil.Gribb UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher. Change 3658331 by Steve.Robb Fix for the parsing of large integer values. Change 3661958 by Gil.Gribb UE4 - Fixed rare hang in task graph. Change 3664021 by Robert.Manuszewski Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html Change 3664254 by Steve.Robb Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports. Change 3664436 by Steve.Robb Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads. Change 3666461 by Graeme.Thornton Improvements to signing/encryption key embedding and runtime access - Changed method of embedding key into the executable to make it more secure - Added FAESKey class to wrap a 32 byte key Change 3666462 by Graeme.Thornton Cut ShooterGame AES key down to 32 characters Change 3677560 by Ben.Marsh PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn) Change 3683534 by Steve.Robb Refactoring of enum/struct lookup during hot reload. Change 3683754 by Steve.Robb Alignment fixes to allow int64 on 32-bit platforms Support for integral types in IsAligned. Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types. Some fixes to existing code. Change 3686670 by Steve.Robb Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS. Change 3687540 by Ben.Marsh Fix all UBT/UAT output going to stderr rather than stdout. Change 3688931 by Gil.Gribb UE4 - Critical fix for a rare race condition in the pak file async IO layer. Change 3690000 by Graeme.Thornton Manual copy of 4.18 CL 3687869 Make UBT include the destination INI file for a given hierarchy if it exists Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name Change 3690030 by Graeme.Thornton VSCode fixes - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for - Various fixes for vscode project file generation #jira UE-50554 Change 3690885 by Steve.Robb Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>. Change 3691052 by Steve.Robb Free stats thread on shutdown. Change 3695138 by Steve.Robb AsConst helper function added. Change 3696627 by James.Hopkin Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr (review-3606695) Change 3697099 by Steve.Robb GitHub #4105 : Removed redundant class access modifier Change 3697154 by Steve.Robb Removal of deprecated functions in delegates. Mutable lambdas to can now be bound to delegates. Change 3697180 by Steve.Robb GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty Change 3697239 by Steve.Robb Allow TArray::Insert to take an array with any allocator type. Change 3697269 by Steve.Robb RelocateConstructItems instead of MoveConstructItems. Change 3697558 by Steve.Robb New _GetRef functions for TArray, which return a reference to the newly-added element. Unit tests for these functions. Change 3699776 by Steve.Robb TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled. Change 3702397 by Steve.Robb TIsTrivial type trait. Change 3702569 by Steve.Robb Allow a TGuardValue to be assigned to a different type from the one being guarded. Change 3706644 by Robert.Manuszewski Different stack ingore count for development builds for FArchiveStackTrace Change 3709272 by Steve.Robb Removal of redundant UpdateVertices, which causes a race condition on the renderer thread. Change 3709452 by Robert.Manuszewski Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies Change 3709454 by Robert.Manuszewski Added command line option -NOEDL to disable EDL Change 3709487 by Steve.Robb Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1. Change 3709645 by Ben.Marsh Fix race condition between multiple instances of UBT trying to write out the XML config cache. Change 3711193 by Ben.Marsh Add an editor setting for the shared DDC location to use. #jira UE-51487 Change 3713811 by Steve.Robb Update .modules files after a hot reload. Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks. Pass hotreload flags around in UBT instead of relying on global state. This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205. #jira UE-51472 Change 3715654 by Steve.Robb GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy. Change 3718782 by Steve.Robb TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called. Change 3720830 by Steve.Robb Initial import of TAtomic object wrapper, which guarantees atomic access to an object. Change 3720881 by Steve.Robb FCompression ThreadSanitizer data race fixes. Change 3722640 by Graeme.Thornton Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading. #jira UE-51463 Change 3722655 by Steve.Robb Don't null name table because it's already zeroed at startup. Some tidy-ups. Change 3722754 by Steve.Robb Thread sanitizer fix. Small typo fix. Change 3722849 by Graeme.Thornton Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server Change 3723081 by Steve.Robb TAtomic is now aligned to the underlying integer type. TAtomic will now static assert with a better error message when given an unsupported type. Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number. Misc renames. Change 3723270 by Ben.Marsh Include /d2cgsummary argument when running UBT with -Timing. Change 3723683 by Ben.Marsh Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance. Change 3725422 by Robert.Manuszewski When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning. Change 3725735 by Robert.Manuszewski Making all CheckDefaultSubobjects related functions const Change 3726167 by Steve.Robb FMinimalName::IsNone added. Change 3726458 by Steve.Robb TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer. Change 3726542 by Ben.Marsh UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths. Change 3726595 by Ben.Marsh Allow building multiple game targets in the example BuildEditorAndTools.xml script. Change 3726724 by Ben.Marsh Fix ambiguities in calculating root directory. (GitHub #4172) Change 3726959 by Ben.Marsh Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does. Change 3728437 by Steve.Robb VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel. Some improved documentation. NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping. Change 3732262 by Gil.Gribb UE4 - Fixed rare hangs in the task graph. Change 3732755 by Steve.Robb Stats TSAN fixes. Optimizations to FCycleCounter::Start() to only read the stat name once. Change 3735000 by Robert.Manuszewski Always preload the AssetRegistry module on startup. even if EDL is disabled. Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert. Change 3735292 by Robert.Manuszewski Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates. Change 3735332 by Steve.Robb Refactoring of UDelegateProperty::Identical() to clarify logic. Fixed UMulticastDelegateProperty::Identical() to compare the bound function names. PPF_DeltaComparison removed, as it doesn't seem useful. Change 3737960 by Graeme.Thornton VSCode - Add launch task for generating project files for the given folder Change 3738398 by Graeme.Thornton Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor #jira UE-51451 Change 3738405 by Graeme.Thornton VSCode: Format c/cpp settings strings using comment path formatting function Change 3738928 by Steve.Robb Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18) #jira UE-51842 Change 3739135 by Ben.Marsh Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history. #jira UE-51855 Change 3739360 by Ben.Marsh UAT: Fix issue with P4PORT setting not being parsed correctly. Change 3745959 by James.Hopkin #core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types Change 3746125 by Steve.Robb FName ThreadSanitizer fixes. Change 3747274 by Steve.Robb TSAN fix for FMediaTicker::Stopping. Change 3747618 by Steve.Robb ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish. Change 3747720 by Steve.Robb ThreadSanitizer fix for FMessageRouter::Stopping. Change 3749207 by Graeme.Thornton First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys. Change 3749323 by Graeme.Thornton Fix UAT crash when only -targetplatform is specifiied Change 3749349 by Steve.Robb TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer. Change 3749617 by Steve.Robb Logf static_assert for formatting string enabled. Change 3749897 by Steve.Robb FDebug::LogAssertFailedMessage static assert for formatting string enabled. Change 3754011 by Steve.Robb Static asserts that the allocator supports move. Move-enabled our allocators which don't support move. Change 3754227 by Ben.Marsh Fix build command line in generated projects missing a space before the compiler version override. #jira UE-52226 Change 3754562 by Ben.Marsh PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk) Change 3755616 by Graeme.Thornton Runtime code for using the new crypto ini files to define signing/encryption keys #jira UE-46580 Change 3755666 by James.Hopkin Used ImplicitConv to remove Casts being used for up-casts #review-3745965 Change 3755671 by Graeme.Thornton Add log message in unrealpak to say which config file system it is using for crypto keys Change 3755672 by Graeme.Thornton Updating ShooterGame with new CryptoKeys based security setup Change 3756778 by Ben.Marsh Add support for running multiple jobs simultaneously on a single builder. When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used. Change 3758498 by Ben.Marsh Re-throw exceptions when a file cannot be deleted when cleaning a target. Change 3758921 by Steve.Robb ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access. DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory. Change 3760599 by Graeme.Thornton Added missing epic header comment to some new source files Change 3760642 by Steve.Robb ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread. Change 3760669 by Graeme.Thornton Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually. Added a test mode to the cryptokeys commandlet to test signing key generation Change 3760711 by Steve.Robb ThreadSanitizer fixes to GIsRenderingThreadSuspended. Change 3760739 by Steve.Robb ThreadSanitizer fix for FQueuedThread::TimeToDie. Change 3760763 by Steve.Robb ThreadSanitizer fix for GRunRenderingThreadHeartbeat. Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread. Change 3760793 by Steve.Robb Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos. Change 3760817 by Steve.Robb ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos. Change 3761331 by Josh.Engebretson UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj #jira UE-52416 Change 3761521 by Steve.Robb ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId. Change 3763117 by Graeme.Thornton PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL) Change 3763358 by Graeme.Thornton Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path Derived from the content of this PR: PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang) Change 3764058 by Graeme.Thornton Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes #jira UE-52359 Change 3764705 by Steve.Robb Better handling of whitespace in ImportText_Internal() for set and map properties. Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data). Fix to USetProperty's temp buffer size to avoid buffer overruns. Duplicate map keys are now skipped during import, same as USetProperty's behavior. Change 3764731 by Steve.Robb Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that. Change 3765923 by Graeme.Thornton VSCode - "taskName" -> "label" for C# build tasks Change 3766018 by Steve.Robb constexpr constructor for TAtomic. Change 3766037 by Steve.Robb Misc tidyings in HotReload.cpp. Change 3766046 by Steve.Robb ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local. Change 3766288 by Steve.Robb Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects. Change 3766374 by Josh.Engebretson Fix issue with ini quoted value comparison #jira UE-52066 Change 3766532 by Josh.Engebretson PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu) #jira UE-46156 Change 3766740 by Steve.Robb TMultiMap::Append added. Change 3767523 by Steve.Robb ThreadSanitizer fix for UE4Delegates_Private::GNextID. Change 3767601 by Steve.Robb ThreadSanitizer fix for FStats::GameThreadStatsFrame. Change 3770567 by Ben.Marsh Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives. Change 3770826 by Ben.Marsh Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it. Change 3770875 by Steve.Robb Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps. Change 3772167 by Ben.Marsh Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data. Change 3772248 by Steve.Robb ThreadSanitizer fixes to FMalloc call counters. Change 3772383 by Ben.Marsh Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive. Change 3772906 by Graeme.Thornton TextAssetCommandlet - Utility commandlet for testing/converting to text asset format Change 3772932 by Ben.Marsh Fix "String:" prefix not being stripped from escaped string values. Change 3772942 by Graeme.Thornton Add experimental setting to enable in-editor text asset format functionality Add "export to text" option into the content browser asset actions context menu Change 3772955 by Ben.Marsh Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility. Change 3772963 by Ben.Marsh Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries. Change 3773010 by Graeme.Thornton Added CORE_API to FArchiveFromStructuredArchive Gave text asset format experimental option a slightly less random tooltip comment Change 3773057 by Ben.Marsh Add a flag to FArchive to determine whether the archive is text (IsTextFormat()). Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive. Also rename FStructuredArchive::TryEnterSlot() to TryEnterField(). Change 3773118 by Steve.Robb TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size. Change 3773122 by Steve.Robb TAtomic fixes for pointer arithmetic. TSignedIntType used instead of reimplementing its own trait. Change 3773123 by Steve.Robb Unit tests for TAtomic. Change 3773138 by Steve.Robb Run numeric tests on integer types instead of basic tests. Fix for compiler warnings when subtracting from unsigned atomics. Change 3773166 by Steve.Robb Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that. Change 3774216 by Gil.Gribb UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file. Change 3774426 by Ben.Marsh Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all. See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html Change 3774658 by Ben.Marsh Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it. Change 3775141 by Ben.Marsh Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor. Change 3775459 by Ben.Marsh Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically. Change 3775522 by Ben.Marsh UGS: Treat .uproject and .uplugin files as code changes. Change 3775597 by Ben.Marsh Fix post-build steps for plugins not being executed. #jira UE-52754 Change 3777895 by Graeme.Thornton StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive Change 3777931 by Graeme.Thornton Refactored FArchiveUObjects serialization code into some static helpers Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers Change 3777942 by Graeme.Thornton Added missing CORE_API to FStructuredArchive::FStream Added FStructuredArchive::FSlot insertion operator for char Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value Change 3778084 by Graeme.Thornton Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files Change 3778096 by Graeme.Thornton Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class Change 3778389 by Josh.Engebretson Fix an optimization issue with CPU benchmarking Add better support for debugging/testing local rocket builds UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html #jira UE-52192 Change 3778701 by Josh.Engebretson Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html #jira UE-40317 Change 3778832 by Chad.Garyet Adding enterprise path support for PCB's for UGS Change 3780258 by Graeme.Thornton TextAssetCommandlet - Accumulate timings for loading packages and saving packages Change 3780463 by Graeme.Thornton CryptoKeys improvements - Enable CryptoKeys plugin by default - Attempt to inherit settings from the old system by default - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings Change 3780557 by Ben.Marsh Fix LoginFlow module not being precompiled for the binary release. Change 3780846 by Josh.Engebretson Improve filename to long package name resolution when provided a relative path Change 3780863 by Ben.Marsh UAT: Add a better error message when a C# project has an invalid reference. Change 3780911 by Ben.Marsh Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce. The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument. Change 3780956 by Josh.Engebretson Add support for ! (RemoveKey) config command to UBT UDN Link: https://udn.unrealengine.com/questions/397267/index.html #jira UE-52033 Change 3782957 by Robert.Manuszewski UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Change 3784503 by Ben.Marsh Optimizations for FStructuredArchive: * Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it. * Prevent shrinking of arrays when removing elements. * Add an inline allocator to the scope and container stacks. Change 3784700 by Ben.Marsh Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front. Change 3784989 by Ben.Marsh Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0. Change 3786860 by Gil.Gribb UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely. Change 3787159 by Ben.Marsh Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution. Change 3787493 by Josh.Engebretson Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile Fix for multiple threads parsing ini keys (PR 3995) #PR 3995 #jira 52913 #jira 49503 Change 3787773 by Steve.Robb Fix for missing final values from FOREACH_ENUM_ macros. Change 3788287 by Ben.Marsh TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique. Change 3788678 by Ben.Marsh Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive. Change 3789353 by Graeme.Thornton Removed unused/rotten modes from TextAsset commandlet. Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing. Change 3789396 by Ben.Marsh Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h Change 3789772 by Ben.Marsh Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line. Change 3790003 by Ben.Marsh TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record. Change 3790051 by Steve.Robb PIE is disabled during a hot reload. Hot reload in editor is disabled during PIE. Hot reload from IDE is deferred until after PIE is exited. Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change. #jira UE-20357 #jira UE-52137 Change 3790709 by Steve.Robb Better move support for TVariant. EVariantTypes switched over to using an enum class to aid debugger visualization. Change 3791422 by Ben.Marsh TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time. Change 3791489 by Graeme.Thornton TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record Change 3792344 by Ben.Marsh Improvements to base64 encoding library. * Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations. * Added support for decoding base-64 blobs without padding marks. * Added support for decoding into pre-allocated buffer. * Added constexpr functions for determining the encoded and maximum decoded size of an input buffer. * Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes). Change 3792949 by Ben.Marsh TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter. Change 3794078 by Robert.Manuszewski Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine #jira UE-52392 Change 3794413 by Ben.Marsh TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack. Change 3794731 by Ben.Marsh TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable. Change 3795081 by Ben.Marsh UBT: Move LinuxCommon.cs into Platform/Linux folder. Change 3795137 by Ben.Marsh UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property). Change 3795247 by Ben.Marsh Fix missing header when creating a new interface from the editor new code wizard. #jira UE-53174 Change 3796025 by Graeme.Thornton Fixed some deprecated "Definitions" warnings in OpenCV build files Change 3796103 by Graeme.Thornton Disable experimental text asset option - it does nothing useful yet. Change 3796157 by Graeme.Thornton Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open. #jira UE-53206 Change 3796315 by Ben.Marsh Move Formatter to the correct position for initializer. #jira UE-53208 Change 3797082 by Ben.Marsh UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT. #jira UE-53232 Change 3799050 by Ben.Marsh Make UnrealPak.version files writable for Mac and Linux. Change 3801012 by Graeme.Thornton VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory Change 3801214 by Gil.Gribb UE4 - Remove assert to work around minor problem with lock free lists. #jira UE-49600 Change 3801219 by Steve.Robb WeakObjectPtrs now warn when casting away const. Change 3801299 by Graeme.Thornton Fix quote issue with foreign project build tasks on PC Change 3803292 by Graeme.Thornton Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries Change 3803559 by Steve.Robb TSAN fix for FMalloc::MaxSingleAlloc. Change 3803735 by Graeme.Thornton Last set of cryptokeys changes - Added some comments for editor exposed settings - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets" Change 3803929 by Ben.Marsh UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog. Change 3624590 by Steve.Robb AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector. Tidy-up of existing calls to AddReferencedObjects. Change 3629473 by Ben.Marsh Build: Rename the option for embedding source server information in PDB files for installed engine builds. Change 3632894 by Steve.Robb VARARG* macros deprecated and usage replaced with variadic templates. Change 3640704 by Steve.Robb MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type. Fix to TWeakObjectPtr's constructor which implicitly removed const. Fixes to everything which didn't compile as a result. Change 3650813 by Graeme.Thornton Removed FStartupPackages and associated code Change 3651000 by Ben.Marsh Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out. #jira UE-49980 Change 3690842 by Steve.Robb FPlatformAtomics::AtomicRead added - needs optimizing. AtomicRead() used in FThreadSafeCounter::GetValue(). Change 3699416 by Steve.Robb Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator. Improved readability of TSparseArray visualization. Change 3720812 by Steve.Robb Atomic functions for 8-bit and 16-bit. Android, Linux and Switch implementations now just use the Clang implementation. AtomicRead64 deprecated in favor of the int64* AtomicRead overload. Change 3722698 by Steve.Robb VS debugger visualizers for TAtomic. Change 3732270 by Steve.Robb Relaxed stores and loads. Change 3749315 by Graeme.Thornton If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform #jira UE-52034 Change 3750657 by Josh.Engebretson Fixed issue when debugging editor cook/package and project launch operations #jira UE-52207 Change 3758514 by Steve.Robb Fixes to FString::Printf having non-literals being passed as its formatting string. Change 3763356 by Steve.Robb ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters. Change 3770549 by Steve.Robb Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES. Tidy up of existing code which uses it. Change 3770553 by Ben.Marsh Adding structured serialization API to Core/CoreUObject for use with text-based assets. * FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types. * Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Maps are string -> value dictionaries where the key names are present regardless of the build type. * Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects. * Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type. * The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0. * Includes implementations of FArchiveFormatter for binary and JSON formats. Change 3771105 by Steve.Robb Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS. Fix for incorrect warning formatting on Clang platforms. Change 3771520 by Steve.Robb Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header. Change 3771564 by Steve.Robb More common macros moved to the Clang pre-setup header. Change 3771613 by Steve.Robb EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h. Change 3772881 by Ben.Marsh Add support for serializing FName and UObject through FStructuredArchive. In order to allow custom linker behavior when serializing objects: * The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer. * The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table) Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix). Change 3772941 by Graeme.Thornton Make build work when including StructuredArchive.h from core container types Added standard header to new files Add structured archive serializer for TArray Fix bug in structured archive where containers weren't being popped from the scope stack Change 3772972 by Ben.Marsh Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot. Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately. When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields. Change 3773006 by Ben.Marsh Rename FStructuredArchive::FRecord::EnterSlot() to EnterField(). Change 3773013 by Steve.Robb bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes. Change 3774499 by Ben.Marsh Minor fixes for FStructuredArchive related classes: * Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types. * FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions. Change 3774600 by Ben.Marsh Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data. This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data. Change 3789721 by Ben.Marsh TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing. Change 3789920 by Ben.Marsh TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double. #jira UECORE-364 Change 3789982 by Ben.Marsh TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter. Change 3792466 by Ben.Marsh TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly. In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations. Change 3792935 by Ben.Marsh TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive. Change 3795100 by Ben.Marsh UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer. Change 3795106 by Ben.Marsh Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions. Change 3796275 by Ben.Marsh Fix paths to Version.h includes from resource files. Change 3800683 by Josh.Engebretson Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format #jira UE-50073 Change 3803545 by Steve.Robb TWeakObjPtr const-dropping assignment fix. Fixes to change. [CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
*FText::Format(
LOCTEXT("CallDelegateWrongMeta_ErrorFmt", "Signature function should not have {0} metadata. @@"),
FText::FromString(FBlueprintMetadata::MD_WorldContext.ToString())
).ToString(),
Node
);
return;
}
if(SignatureFunction->HasMetaData(FBlueprintMetadata::MD_AutoCreateRefTerm))
{
CompilerContext.MessageLog.Error(
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3623004 by Ben.Marsh Fix RemoteExecutor not taking the remote machine specs into account. Change 3623172 by Ben.Marsh UGS: Fix "More Info..." button not using P4 server override. Change 3628820 by Ben.Marsh PR #3979: Get working directory from task element, not tool node (Contributed by nullbus) Change 3630424 by Graeme.Thornton Make the AES key parameter const in FAES::EncryptData() Change 3632786 by Steve.Robb FString constructor fixed to not take an ignored void* parameter, which can be misleading. Change 3639534 by Ben.Marsh Remove old P4.NET library. Doesn't seem to be used by anything. Change 3640536 by Steve.Robb GitHub #4007 : Delete unnecessary specialization of MakeArrayView #jira UE-49617 Change 3641155 by Gil.Gribb UE4 - Speculative fix for problem with summary reading in FAsyncArchive2. Change 3643932 by Ben.Marsh Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument). Change 3644825 by Ben.Marsh Use VSWHERE to find the location of MsBuild.exe, if available. https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645 Change 3647395 by Ben.Marsh Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options. Change 3650300 by Ben.Marsh UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis. Change 3650856 by Robert.Manuszewski Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread Change 3651022 by Gil.Gribb UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher. Change 3658331 by Steve.Robb Fix for the parsing of large integer values. Change 3661958 by Gil.Gribb UE4 - Fixed rare hang in task graph. Change 3664021 by Robert.Manuszewski Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html Change 3664254 by Steve.Robb Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports. Change 3664436 by Steve.Robb Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads. Change 3666461 by Graeme.Thornton Improvements to signing/encryption key embedding and runtime access - Changed method of embedding key into the executable to make it more secure - Added FAESKey class to wrap a 32 byte key Change 3666462 by Graeme.Thornton Cut ShooterGame AES key down to 32 characters Change 3677560 by Ben.Marsh PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn) Change 3683534 by Steve.Robb Refactoring of enum/struct lookup during hot reload. Change 3683754 by Steve.Robb Alignment fixes to allow int64 on 32-bit platforms Support for integral types in IsAligned. Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types. Some fixes to existing code. Change 3686670 by Steve.Robb Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS. Change 3687540 by Ben.Marsh Fix all UBT/UAT output going to stderr rather than stdout. Change 3688931 by Gil.Gribb UE4 - Critical fix for a rare race condition in the pak file async IO layer. Change 3690000 by Graeme.Thornton Manual copy of 4.18 CL 3687869 Make UBT include the destination INI file for a given hierarchy if it exists Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name Change 3690030 by Graeme.Thornton VSCode fixes - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for - Various fixes for vscode project file generation #jira UE-50554 Change 3690885 by Steve.Robb Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>. Change 3691052 by Steve.Robb Free stats thread on shutdown. Change 3695138 by Steve.Robb AsConst helper function added. Change 3696627 by James.Hopkin Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr (review-3606695) Change 3697099 by Steve.Robb GitHub #4105 : Removed redundant class access modifier Change 3697154 by Steve.Robb Removal of deprecated functions in delegates. Mutable lambdas to can now be bound to delegates. Change 3697180 by Steve.Robb GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty Change 3697239 by Steve.Robb Allow TArray::Insert to take an array with any allocator type. Change 3697269 by Steve.Robb RelocateConstructItems instead of MoveConstructItems. Change 3697558 by Steve.Robb New _GetRef functions for TArray, which return a reference to the newly-added element. Unit tests for these functions. Change 3699776 by Steve.Robb TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled. Change 3702397 by Steve.Robb TIsTrivial type trait. Change 3702569 by Steve.Robb Allow a TGuardValue to be assigned to a different type from the one being guarded. Change 3706644 by Robert.Manuszewski Different stack ingore count for development builds for FArchiveStackTrace Change 3709272 by Steve.Robb Removal of redundant UpdateVertices, which causes a race condition on the renderer thread. Change 3709452 by Robert.Manuszewski Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies Change 3709454 by Robert.Manuszewski Added command line option -NOEDL to disable EDL Change 3709487 by Steve.Robb Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1. Change 3709645 by Ben.Marsh Fix race condition between multiple instances of UBT trying to write out the XML config cache. Change 3711193 by Ben.Marsh Add an editor setting for the shared DDC location to use. #jira UE-51487 Change 3713811 by Steve.Robb Update .modules files after a hot reload. Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks. Pass hotreload flags around in UBT instead of relying on global state. This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205. #jira UE-51472 Change 3715654 by Steve.Robb GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy. Change 3718782 by Steve.Robb TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called. Change 3720830 by Steve.Robb Initial import of TAtomic object wrapper, which guarantees atomic access to an object. Change 3720881 by Steve.Robb FCompression ThreadSanitizer data race fixes. Change 3722640 by Graeme.Thornton Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading. #jira UE-51463 Change 3722655 by Steve.Robb Don't null name table because it's already zeroed at startup. Some tidy-ups. Change 3722754 by Steve.Robb Thread sanitizer fix. Small typo fix. Change 3722849 by Graeme.Thornton Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server Change 3723081 by Steve.Robb TAtomic is now aligned to the underlying integer type. TAtomic will now static assert with a better error message when given an unsupported type. Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number. Misc renames. Change 3723270 by Ben.Marsh Include /d2cgsummary argument when running UBT with -Timing. Change 3723683 by Ben.Marsh Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance. Change 3725422 by Robert.Manuszewski When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning. Change 3725735 by Robert.Manuszewski Making all CheckDefaultSubobjects related functions const Change 3726167 by Steve.Robb FMinimalName::IsNone added. Change 3726458 by Steve.Robb TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer. Change 3726542 by Ben.Marsh UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths. Change 3726595 by Ben.Marsh Allow building multiple game targets in the example BuildEditorAndTools.xml script. Change 3726724 by Ben.Marsh Fix ambiguities in calculating root directory. (GitHub #4172) Change 3726959 by Ben.Marsh Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does. Change 3728437 by Steve.Robb VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel. Some improved documentation. NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping. Change 3732262 by Gil.Gribb UE4 - Fixed rare hangs in the task graph. Change 3732755 by Steve.Robb Stats TSAN fixes. Optimizations to FCycleCounter::Start() to only read the stat name once. Change 3735000 by Robert.Manuszewski Always preload the AssetRegistry module on startup. even if EDL is disabled. Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert. Change 3735292 by Robert.Manuszewski Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates. Change 3735332 by Steve.Robb Refactoring of UDelegateProperty::Identical() to clarify logic. Fixed UMulticastDelegateProperty::Identical() to compare the bound function names. PPF_DeltaComparison removed, as it doesn't seem useful. Change 3737960 by Graeme.Thornton VSCode - Add launch task for generating project files for the given folder Change 3738398 by Graeme.Thornton Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor #jira UE-51451 Change 3738405 by Graeme.Thornton VSCode: Format c/cpp settings strings using comment path formatting function Change 3738928 by Steve.Robb Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18) #jira UE-51842 Change 3739135 by Ben.Marsh Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history. #jira UE-51855 Change 3739360 by Ben.Marsh UAT: Fix issue with P4PORT setting not being parsed correctly. Change 3745959 by James.Hopkin #core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types Change 3746125 by Steve.Robb FName ThreadSanitizer fixes. Change 3747274 by Steve.Robb TSAN fix for FMediaTicker::Stopping. Change 3747618 by Steve.Robb ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish. Change 3747720 by Steve.Robb ThreadSanitizer fix for FMessageRouter::Stopping. Change 3749207 by Graeme.Thornton First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys. Change 3749323 by Graeme.Thornton Fix UAT crash when only -targetplatform is specifiied Change 3749349 by Steve.Robb TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer. Change 3749617 by Steve.Robb Logf static_assert for formatting string enabled. Change 3749897 by Steve.Robb FDebug::LogAssertFailedMessage static assert for formatting string enabled. Change 3754011 by Steve.Robb Static asserts that the allocator supports move. Move-enabled our allocators which don't support move. Change 3754227 by Ben.Marsh Fix build command line in generated projects missing a space before the compiler version override. #jira UE-52226 Change 3754562 by Ben.Marsh PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk) Change 3755616 by Graeme.Thornton Runtime code for using the new crypto ini files to define signing/encryption keys #jira UE-46580 Change 3755666 by James.Hopkin Used ImplicitConv to remove Casts being used for up-casts #review-3745965 Change 3755671 by Graeme.Thornton Add log message in unrealpak to say which config file system it is using for crypto keys Change 3755672 by Graeme.Thornton Updating ShooterGame with new CryptoKeys based security setup Change 3756778 by Ben.Marsh Add support for running multiple jobs simultaneously on a single builder. When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used. Change 3758498 by Ben.Marsh Re-throw exceptions when a file cannot be deleted when cleaning a target. Change 3758921 by Steve.Robb ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access. DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory. Change 3760599 by Graeme.Thornton Added missing epic header comment to some new source files Change 3760642 by Steve.Robb ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread. Change 3760669 by Graeme.Thornton Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually. Added a test mode to the cryptokeys commandlet to test signing key generation Change 3760711 by Steve.Robb ThreadSanitizer fixes to GIsRenderingThreadSuspended. Change 3760739 by Steve.Robb ThreadSanitizer fix for FQueuedThread::TimeToDie. Change 3760763 by Steve.Robb ThreadSanitizer fix for GRunRenderingThreadHeartbeat. Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread. Change 3760793 by Steve.Robb Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos. Change 3760817 by Steve.Robb ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos. Change 3761331 by Josh.Engebretson UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj #jira UE-52416 Change 3761521 by Steve.Robb ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId. Change 3763117 by Graeme.Thornton PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL) Change 3763358 by Graeme.Thornton Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path Derived from the content of this PR: PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang) Change 3764058 by Graeme.Thornton Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes #jira UE-52359 Change 3764705 by Steve.Robb Better handling of whitespace in ImportText_Internal() for set and map properties. Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data). Fix to USetProperty's temp buffer size to avoid buffer overruns. Duplicate map keys are now skipped during import, same as USetProperty's behavior. Change 3764731 by Steve.Robb Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that. Change 3765923 by Graeme.Thornton VSCode - "taskName" -> "label" for C# build tasks Change 3766018 by Steve.Robb constexpr constructor for TAtomic. Change 3766037 by Steve.Robb Misc tidyings in HotReload.cpp. Change 3766046 by Steve.Robb ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local. Change 3766288 by Steve.Robb Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects. Change 3766374 by Josh.Engebretson Fix issue with ini quoted value comparison #jira UE-52066 Change 3766532 by Josh.Engebretson PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu) #jira UE-46156 Change 3766740 by Steve.Robb TMultiMap::Append added. Change 3767523 by Steve.Robb ThreadSanitizer fix for UE4Delegates_Private::GNextID. Change 3767601 by Steve.Robb ThreadSanitizer fix for FStats::GameThreadStatsFrame. Change 3770567 by Ben.Marsh Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives. Change 3770826 by Ben.Marsh Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it. Change 3770875 by Steve.Robb Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps. Change 3772167 by Ben.Marsh Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data. Change 3772248 by Steve.Robb ThreadSanitizer fixes to FMalloc call counters. Change 3772383 by Ben.Marsh Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive. Change 3772906 by Graeme.Thornton TextAssetCommandlet - Utility commandlet for testing/converting to text asset format Change 3772932 by Ben.Marsh Fix "String:" prefix not being stripped from escaped string values. Change 3772942 by Graeme.Thornton Add experimental setting to enable in-editor text asset format functionality Add "export to text" option into the content browser asset actions context menu Change 3772955 by Ben.Marsh Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility. Change 3772963 by Ben.Marsh Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries. Change 3773010 by Graeme.Thornton Added CORE_API to FArchiveFromStructuredArchive Gave text asset format experimental option a slightly less random tooltip comment Change 3773057 by Ben.Marsh Add a flag to FArchive to determine whether the archive is text (IsTextFormat()). Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive. Also rename FStructuredArchive::TryEnterSlot() to TryEnterField(). Change 3773118 by Steve.Robb TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size. Change 3773122 by Steve.Robb TAtomic fixes for pointer arithmetic. TSignedIntType used instead of reimplementing its own trait. Change 3773123 by Steve.Robb Unit tests for TAtomic. Change 3773138 by Steve.Robb Run numeric tests on integer types instead of basic tests. Fix for compiler warnings when subtracting from unsigned atomics. Change 3773166 by Steve.Robb Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that. Change 3774216 by Gil.Gribb UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file. Change 3774426 by Ben.Marsh Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all. See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html Change 3774658 by Ben.Marsh Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it. Change 3775141 by Ben.Marsh Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor. Change 3775459 by Ben.Marsh Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically. Change 3775522 by Ben.Marsh UGS: Treat .uproject and .uplugin files as code changes. Change 3775597 by Ben.Marsh Fix post-build steps for plugins not being executed. #jira UE-52754 Change 3777895 by Graeme.Thornton StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive Change 3777931 by Graeme.Thornton Refactored FArchiveUObjects serialization code into some static helpers Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers Change 3777942 by Graeme.Thornton Added missing CORE_API to FStructuredArchive::FStream Added FStructuredArchive::FSlot insertion operator for char Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value Change 3778084 by Graeme.Thornton Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files Change 3778096 by Graeme.Thornton Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class Change 3778389 by Josh.Engebretson Fix an optimization issue with CPU benchmarking Add better support for debugging/testing local rocket builds UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html #jira UE-52192 Change 3778701 by Josh.Engebretson Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html #jira UE-40317 Change 3778832 by Chad.Garyet Adding enterprise path support for PCB's for UGS Change 3780258 by Graeme.Thornton TextAssetCommandlet - Accumulate timings for loading packages and saving packages Change 3780463 by Graeme.Thornton CryptoKeys improvements - Enable CryptoKeys plugin by default - Attempt to inherit settings from the old system by default - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings Change 3780557 by Ben.Marsh Fix LoginFlow module not being precompiled for the binary release. Change 3780846 by Josh.Engebretson Improve filename to long package name resolution when provided a relative path Change 3780863 by Ben.Marsh UAT: Add a better error message when a C# project has an invalid reference. Change 3780911 by Ben.Marsh Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce. The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument. Change 3780956 by Josh.Engebretson Add support for ! (RemoveKey) config command to UBT UDN Link: https://udn.unrealengine.com/questions/397267/index.html #jira UE-52033 Change 3782957 by Robert.Manuszewski UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Change 3784503 by Ben.Marsh Optimizations for FStructuredArchive: * Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it. * Prevent shrinking of arrays when removing elements. * Add an inline allocator to the scope and container stacks. Change 3784700 by Ben.Marsh Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front. Change 3784989 by Ben.Marsh Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0. Change 3786860 by Gil.Gribb UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely. Change 3787159 by Ben.Marsh Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution. Change 3787493 by Josh.Engebretson Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile Fix for multiple threads parsing ini keys (PR 3995) #PR 3995 #jira 52913 #jira 49503 Change 3787773 by Steve.Robb Fix for missing final values from FOREACH_ENUM_ macros. Change 3788287 by Ben.Marsh TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique. Change 3788678 by Ben.Marsh Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive. Change 3789353 by Graeme.Thornton Removed unused/rotten modes from TextAsset commandlet. Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing. Change 3789396 by Ben.Marsh Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h Change 3789772 by Ben.Marsh Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line. Change 3790003 by Ben.Marsh TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record. Change 3790051 by Steve.Robb PIE is disabled during a hot reload. Hot reload in editor is disabled during PIE. Hot reload from IDE is deferred until after PIE is exited. Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change. #jira UE-20357 #jira UE-52137 Change 3790709 by Steve.Robb Better move support for TVariant. EVariantTypes switched over to using an enum class to aid debugger visualization. Change 3791422 by Ben.Marsh TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time. Change 3791489 by Graeme.Thornton TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record Change 3792344 by Ben.Marsh Improvements to base64 encoding library. * Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations. * Added support for decoding base-64 blobs without padding marks. * Added support for decoding into pre-allocated buffer. * Added constexpr functions for determining the encoded and maximum decoded size of an input buffer. * Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes). Change 3792949 by Ben.Marsh TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter. Change 3794078 by Robert.Manuszewski Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine #jira UE-52392 Change 3794413 by Ben.Marsh TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack. Change 3794731 by Ben.Marsh TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable. Change 3795081 by Ben.Marsh UBT: Move LinuxCommon.cs into Platform/Linux folder. Change 3795137 by Ben.Marsh UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property). Change 3795247 by Ben.Marsh Fix missing header when creating a new interface from the editor new code wizard. #jira UE-53174 Change 3796025 by Graeme.Thornton Fixed some deprecated "Definitions" warnings in OpenCV build files Change 3796103 by Graeme.Thornton Disable experimental text asset option - it does nothing useful yet. Change 3796157 by Graeme.Thornton Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open. #jira UE-53206 Change 3796315 by Ben.Marsh Move Formatter to the correct position for initializer. #jira UE-53208 Change 3797082 by Ben.Marsh UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT. #jira UE-53232 Change 3799050 by Ben.Marsh Make UnrealPak.version files writable for Mac and Linux. Change 3801012 by Graeme.Thornton VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory Change 3801214 by Gil.Gribb UE4 - Remove assert to work around minor problem with lock free lists. #jira UE-49600 Change 3801219 by Steve.Robb WeakObjectPtrs now warn when casting away const. Change 3801299 by Graeme.Thornton Fix quote issue with foreign project build tasks on PC Change 3803292 by Graeme.Thornton Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries Change 3803559 by Steve.Robb TSAN fix for FMalloc::MaxSingleAlloc. Change 3803735 by Graeme.Thornton Last set of cryptokeys changes - Added some comments for editor exposed settings - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets" Change 3803929 by Ben.Marsh UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog. Change 3624590 by Steve.Robb AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector. Tidy-up of existing calls to AddReferencedObjects. Change 3629473 by Ben.Marsh Build: Rename the option for embedding source server information in PDB files for installed engine builds. Change 3632894 by Steve.Robb VARARG* macros deprecated and usage replaced with variadic templates. Change 3640704 by Steve.Robb MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type. Fix to TWeakObjectPtr's constructor which implicitly removed const. Fixes to everything which didn't compile as a result. Change 3650813 by Graeme.Thornton Removed FStartupPackages and associated code Change 3651000 by Ben.Marsh Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out. #jira UE-49980 Change 3690842 by Steve.Robb FPlatformAtomics::AtomicRead added - needs optimizing. AtomicRead() used in FThreadSafeCounter::GetValue(). Change 3699416 by Steve.Robb Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator. Improved readability of TSparseArray visualization. Change 3720812 by Steve.Robb Atomic functions for 8-bit and 16-bit. Android, Linux and Switch implementations now just use the Clang implementation. AtomicRead64 deprecated in favor of the int64* AtomicRead overload. Change 3722698 by Steve.Robb VS debugger visualizers for TAtomic. Change 3732270 by Steve.Robb Relaxed stores and loads. Change 3749315 by Graeme.Thornton If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform #jira UE-52034 Change 3750657 by Josh.Engebretson Fixed issue when debugging editor cook/package and project launch operations #jira UE-52207 Change 3758514 by Steve.Robb Fixes to FString::Printf having non-literals being passed as its formatting string. Change 3763356 by Steve.Robb ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters. Change 3770549 by Steve.Robb Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES. Tidy up of existing code which uses it. Change 3770553 by Ben.Marsh Adding structured serialization API to Core/CoreUObject for use with text-based assets. * FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types. * Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Maps are string -> value dictionaries where the key names are present regardless of the build type. * Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects. * Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type. * The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0. * Includes implementations of FArchiveFormatter for binary and JSON formats. Change 3771105 by Steve.Robb Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS. Fix for incorrect warning formatting on Clang platforms. Change 3771520 by Steve.Robb Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header. Change 3771564 by Steve.Robb More common macros moved to the Clang pre-setup header. Change 3771613 by Steve.Robb EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h. Change 3772881 by Ben.Marsh Add support for serializing FName and UObject through FStructuredArchive. In order to allow custom linker behavior when serializing objects: * The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer. * The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table) Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix). Change 3772941 by Graeme.Thornton Make build work when including StructuredArchive.h from core container types Added standard header to new files Add structured archive serializer for TArray Fix bug in structured archive where containers weren't being popped from the scope stack Change 3772972 by Ben.Marsh Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot. Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately. When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields. Change 3773006 by Ben.Marsh Rename FStructuredArchive::FRecord::EnterSlot() to EnterField(). Change 3773013 by Steve.Robb bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes. Change 3774499 by Ben.Marsh Minor fixes for FStructuredArchive related classes: * Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types. * FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions. Change 3774600 by Ben.Marsh Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data. This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data. Change 3789721 by Ben.Marsh TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing. Change 3789920 by Ben.Marsh TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double. #jira UECORE-364 Change 3789982 by Ben.Marsh TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter. Change 3792466 by Ben.Marsh TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly. In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations. Change 3792935 by Ben.Marsh TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive. Change 3795100 by Ben.Marsh UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer. Change 3795106 by Ben.Marsh Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions. Change 3796275 by Ben.Marsh Fix paths to Version.h includes from resource files. Change 3800683 by Josh.Engebretson Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format #jira UE-50073 Change 3803545 by Steve.Robb TWeakObjPtr const-dropping assignment fix. Fixes to change. [CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
*FText::Format(
LOCTEXT("CallDelegateWrongMeta_ErrorFmt", "Signature function should not have {0} metadata. @@"),
FText::FromString(FBlueprintMetadata::MD_AutoCreateRefTerm.ToString())
).ToString(),
Node
);
return;
}
FKCHandler_CallFunction::Compile(Context, Node);
}
UFunction* FKCHandler_CallDelegate::FindFunction(FKismetFunctionContext& Context, UEdGraphNode* Node)
{
const UK2Node_CallDelegate* DelegateNode = CastChecked<UK2Node_CallDelegate>(Node);
const UClass* TestClass = Context.NewClass;
check(TestClass);
const bool bIsSkeletonClass = TestClass->HasAnyFlags(RF_Transient) && TestClass->HasAnyClassFlags(CLASS_CompiledFromBlueprint);
return DelegateNode->GetDelegateSignature(!bIsSkeletonClass);
}
void FKCHandler_CallDelegate::AdditionalCompiledStatementHandling(FKismetFunctionContext& Context, UEdGraphNode* Node, FBlueprintCompiledStatement& Statement)
{
if(NULL == Statement.FunctionContext)
{
CompilerContext.MessageLog.Error(*LOCTEXT("CallDelegateNoContext_Error", "Call delegate has no context. @@").ToString(), Node);
return;
}
check(NULL != Statement.FunctionToCall);
if (UClass* FunctionOwner = Statement.FunctionToCall->GetOwnerClass())
{
if (FunctionOwner != FunctionOwner->GetAuthoritativeClass())
{
CompilerContext.MessageLog.Warning(*LOCTEXT("CallDelegateWrongOwner", "Signature on delegate doesn't belong to authoritative class. @@").ToString(), Node);
}
}
const UK2Node_BaseMCDelegate* DelegateNode = CastChecked<UK2Node_BaseMCDelegate>(Node);
// Statement.FunctionContext is the term of DelegateOwner. It could be related with many keys (Pins) in Context.NetMap.
// We want to find the exact pin, that is connected with the DelegateNode
FBPTerminal** VarDelegate = NULL;
for (auto Pair : Context.NetMap)
{
if (Pair.Value == Statement.FunctionContext)
{
check(Pair.Key);
VarDelegate = InnerTermMap.Find(FDelegateOwnerId(Pair.Key, DelegateNode));
if (VarDelegate && *VarDelegate)
{
break;
}
}
}
check(VarDelegate && *VarDelegate);
Statement.FunctionContext = *VarDelegate;
Statement.Type = KCST_CallDelegate;
}
#undef LOCTEXT_NAMESPACE