2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2014-06-30 06:59:25 -04:00
# include "K2Node_SetFieldsInStruct.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "UObject/StructOnScope.h"
# include "EdGraphSchema_K2.h"
# include "EdGraphUtilities.h"
2014-06-30 06:59:25 -04:00
# include "MakeStructHandler.h"
2015-07-06 05:57:13 -04:00
# include "KismetCompiler.h"
2016-02-12 17:00:45 -05:00
# include "BlueprintEditorSettings.h"
2014-06-30 06:59:25 -04:00
# define LOCTEXT_NAMESPACE "K2Node_MakeStruct"
struct SetFieldsInStructHelper
{
static const TCHAR * StructRefPinName ( )
{
return TEXT ( " StructRef " ) ;
}
2015-07-06 05:57:13 -04:00
static const TCHAR * StructOutPinName ( )
{
return TEXT ( " StructOut " ) ;
}
2014-06-30 06:59:25 -04:00
} ;
class FKCHandler_SetFieldsInStruct : public FKCHandler_MakeStruct
{
public :
2016-02-12 17:00:45 -05:00
FKCHandler_SetFieldsInStruct ( FKismetCompilerContext & InCompilerContext )
: FKCHandler_MakeStruct ( InCompilerContext )
{
UBlueprintEditorSettings * Settings = GetMutableDefault < UBlueprintEditorSettings > ( ) ;
2016-02-26 16:58:26 -05:00
bAutoGenerateGotoForPure = false ;
2016-02-12 17:00:45 -05:00
}
2014-06-30 06:59:25 -04:00
virtual UEdGraphPin * FindStructPinChecked ( UEdGraphNode * InNode ) const override
{
check ( CastChecked < UK2Node_SetFieldsInStruct > ( InNode ) ) ;
UEdGraphPin * FoundPin = InNode - > FindPinChecked ( SetFieldsInStructHelper : : StructRefPinName ( ) ) ;
check ( EGPD_Input = = FoundPin - > Direction ) ;
return FoundPin ;
}
2016-02-12 17:00:45 -05:00
virtual void RegisterNet ( FKismetFunctionContext & Context , UEdGraphPin * Net ) override
{
UBlueprintEditorSettings * Settings = GetMutableDefault < UBlueprintEditorSettings > ( ) ;
2016-02-26 16:58:26 -05:00
if ( Net - > Direction = = EGPD_Output )
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
if ( Net - > ReferencePassThroughConnection )
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
UEdGraphPin * InputPinNet = FEdGraphUtilities : : GetNetFromPin ( Net - > ReferencePassThroughConnection ) ;
FBPTerminal * * InputPinTerm = Context . NetMap . Find ( InputPinNet ) ;
if ( InputPinTerm & & ! ( * InputPinTerm ) - > bPassedByReference )
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
// We need a net for the output pin which we have thus far prevented from being registered
FKCHandler_MakeStruct : : RegisterNet ( Context , Net ) ;
2016-02-12 17:00:45 -05:00
}
}
}
}
virtual void RegisterNets ( FKismetFunctionContext & Context , UEdGraphNode * Node ) override
{
FKCHandler_MakeStruct : : RegisterNets ( Context , Node ) ;
2016-02-26 16:58:26 -05:00
UEdGraphPin * ReturnPin = Node - > FindPin ( SetFieldsInStructHelper : : StructOutPinName ( ) ) ;
UEdGraphPin * ReturnStructNet = FEdGraphUtilities : : GetNetFromPin ( ReturnPin ) ;
UEdGraphPin * InputPin = Node - > FindPinChecked ( SetFieldsInStructHelper : : StructRefPinName ( ) ) ;
UEdGraphPin * InputPinNet = FEdGraphUtilities : : GetNetFromPin ( InputPin ) ;
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622)
#rb none
#lockdown nick.penwarden
Change 3046743 on 2016/07/12 by Mark.Satterthwaite
Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance.
#rb ben.woodhouse
#jira UE-33028
Change 3046820 on 2016/07/12 by Peter.Sauerbrei
PR#2594 - fix for analog input, courtesy of CleanCut
#rb daniel.lamb
Change 3046826 on 2016/07/12 by Peter.Sauerbrei
PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046835 on 2016/07/12 by Peter.Sauerbrei
PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet
PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser
#rb daniel.lamb
Change 3046838 on 2016/07/12 by Peter.Sauerbrei
PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046854 on 2016/07/12 by Peter.Sauerbrei
PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet
PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation
#rb daniel.lamb
Change 3046858 on 2016/07/12 by Peter.Sauerbrei
PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet
PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston
#rb daniel.lamb
Change 3046862 on 2016/07/12 by Peter.Sauerbrei
fix for type in tooltip
#jira UE-27123
#rb daniel.lamb
Change 3046919 on 2016/07/12 by Daniel.Lamb
Stop texture derived data from loading it's bulk data when the linker is destoryed.
#rb Peter.Sauerbrei
Change 3046922 on 2016/07/12 by Daniel.Lamb
Updated the default cooker gc settings so that it can have more resources.
Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker.
Changed the way reentry data is stored in the cooker.
Cook only editor content flag in project settings now works again.
#rb Josh.Adams
#test cook Paragon
Change 3046924 on 2016/07/12 by Daniel.Lamb
Added support for encrypting ini files.
Added new project setting in the editor and setting in ufe.
Also added ForDistribution flag to ufe.
#rb Peter.Sauerbrei
Change 3046936 on 2016/07/12 by Mark.Satterthwaite
Fix compute shader TLV clear for async. compute on Mac.
#rb chris.babcock
Change 3047207 on 2016/07/12 by Mark.Satterthwaite
It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free.
#rb chris.babcock
Change 3047208 on 2016/07/12 by Mark.Satterthwaite
When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used.
#rb chris.babcock
Change 3047209 on 2016/07/12 by Mark.Satterthwaite
Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap.
#rb chris.babcock
Change 3047641 on 2016/07/13 by Lee.Clark
PS4 - Improve SDK Version checking messages
#rb none
Change 3047663 on 2016/07/13 by Keith.Judge
Orion - Various minor PS4-only things activated for XB1.
#rb none
Change 3047664 on 2016/07/13 by Keith.Judge
XB1 - Fix analysis warning of shadowing a member variable.
#rb none
Change 3047784 on 2016/07/13 by Keith.Judge
Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity.
#rb None
Change 3047834 on 2016/07/13 by Keith.Judge
XB1 - Release underlying memory of 3D textures when destroying them. Oops!
#rb none
Change 3048190 on 2016/07/13 by Josh.Adams
- Now leave around the ASTC encoder input file on error, for reproing outside of the engine
#rb none
Change 3048256 on 2016/07/13 by Daniel.Lamb
Removed warning about missing file when using cook on the fly.
#rb Peter.Sauerbrei
Change 3048409 on 2016/07/13 by Daniel.Lamb
Improved output for saving packages in unattended builds.
#rb Jonathan.Fitzpatrick
Change 3048763 on 2016/07/13 by Peter.Sauerbrei
switch AppleTV to tvOS in the editor
#jira UE-30532
#rb michael.trepka
Change 3049608 on 2016/07/14 by Keith.Judge
XB1 - Optimize vertex/index buffer dynamic memory usage.
#rb none
Change 3049609 on 2016/07/14 by Keith.Judge
Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls.
#rb None
Change 3049610 on 2016/07/14 by Keith.Judge
Xbox One - Reduce latency of deferred deletions to two frames.
#rb None
Change 3049730 on 2016/07/14 by Keith.Judge
Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs.
#rb None
Change 3049732 on 2016/07/14 by Keith.Judge
Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread.
Also remove optimization pragmas accidentally left in.
#rb none
Change 3049791 on 2016/07/14 by Keith.Judge
Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash.
#rb None
Change 3049968 on 2016/07/14 by Jeremiah.Waldron
Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues.
Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar
#jira UE-24954, UE-27685, UE-20067
#rb chris.babcock
Change 3050428 on 2016/07/14 by Jeremiah.Waldron
Fix for application window being terminated if an AlertDialog is showing onPause
Repro'd and fix tested on Samsung Galaxy Note 3
#android
#jira UE-32998
#rb chris.babcock
Change 3050642 on 2016/07/14 by Peter.Sauerbrei
fix for invalid generated plist
#rb daniel.lamb
Change 3050718 on 2016/07/14 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3051327 on 2016/07/15 by Keith.Judge
Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next.
#rb None
Change 3051346 on 2016/07/15 by Keith.Judge
Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture.
#rb None.
Change 3051530 on 2016/07/15 by Nick.Shin
github: minor typo fixes
#jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging
#rb none
Change 3053631 on 2016/07/18 by Mark.Satterthwaite
Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger.
#codereview daniel.wright
#rb josh.adams
#jira UE-33350
Change 3053816 on 2016/07/18 by Mark.Satterthwaite
Fixes for iOS Metal:
- Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available.
- Stencil texture views are only required on Mac.
- State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA.
- Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds.
#rb michael.trepka
Change 3053818 on 2016/07/18 by Mark.Satterthwaite
Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround.
#rb michael.trepka
Change 3054426 on 2016/07/18 by Dmitry.Rekman
Fix case-sensitive compilation problems (UE-33420).
#codereview Olaf.Piesche
#rb none
Change 3054434 on 2016/07/18 by Mark.Satterthwaite
Silence delete-non-virtual-dtor warnings on iOS as we do on Mac.
#rb none
Change 3054719 on 2016/07/18 by Jeremiah.Waldron
Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing.
Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock
#jira UE-32998
#android
#rb chris.babcock
Change 3054742 on 2016/07/18 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3054850 on 2016/07/18 by Dmitry.Rekman
Replace Fatal->Error so messagebox can be shown (UE-22818).
- Incorporates PR #1714 by zaps166.
#rb none
#tests Tried to create an invalid context, made sure messagebox is popping up.
Change 3055317 on 2016/07/19 by Lee.Clark
PS4 - Fix render target memory allocation
#jira UE-32988
#rb Marcus.Wassmer
Change 3055682 on 2016/07/19 by Brent.Pease
+ Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error
#rb michael.trepka
Change 3056065 on 2016/07/19 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3056256 on 2016/07/19 by Chris.Babcock
Add optional log spew filtering callback to Run
#jira UE-33468
#ue4
#android
#rb Ben.Marsh
#codereview Jack.Porter
Change 3056727 on 2016/07/19 by Chris.Babcock
Added addition scope (plus.login) to Google Play Games builder
#jira UE-33480
#ue4
#android
#rb none
#codereview ryan.gerleve
Change 3056811 on 2016/07/19 by Jeff.Campeau
Xbox One now accepts client configs.
#rb none
Change 3057152 on 2016/07/20 by Dmitry.Rekman
Linux: use libc++ instead of libstdc++.
- Needed to solve problems with third-party C++ libraries (e.g. WebRTC).
- Bundled libc++ 3.8.1 (TPS cleared).
- Turned off ICU compilation (needs recompile against libc++).
- Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix.
#rb none
#tests Built and ran a number of Linux targets.
Change 3057362 on 2016/07/20 by Keith.Judge
XB1 - Fix busted merge from yesterday
#rb None
Change 3057647 on 2016/07/20 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3057655 on 2016/07/20 by Daniel.Lamb
Added test cooking flag.
#rb Peter.Sauerbrei
#test Cook paragon.
Change 3058779 on 2016/07/20 by Dmitry.Rekman
Fix crash on cooker exit (UE-33583).
- Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it.
#rb Josh.Adams
#codereview Josh.Adams, Jamie.Dale
#tests Compiled and ran Linux editor.
#lockdown Josh.Adams
Change 3058835 on 2016/07/20 by Chris.Babcock
Enable GooglePlay and GameCenter plugins by default
#jira UE-33605
#ue4
#android
#ios
#rb mark.satterthwaite
#codereview Peter.Sauerbrei
#lockdown Josh.Adams
Change 3058847 on 2016/07/20 by Chris.Babcock
Fix Android device rule for AlcatelPixi3
#jira UE-33606
#ue4
#android
#rb none
#codereview Jeremiah.Walron
#lockdown Josh.Adams
Change 3059693 on 2016/07/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
#lockdown nick.penwarden
Change 3060139 on 2016/07/21 by Chris.Babcock
Fix proguard entry for Android mediaplayer tracks
#jira UE-33644
#ue4
#android
#rb Josh.Adams
#lockdown Josh.Adams
Change 3061151 on 2016/07/22 by Niklas.Smedberg
Fast ASTC texture compression, using ISPC.
#jira UE-32308
#rb chris.babcock
#lockdown josh.adams
Change 3061428 on 2016/07/22 by Peter.Sauerbrei
Back out changelist 3061151 as it wasn't approved for submission
#rb none
#lockdown josh.adams
Change 3061436 on 2016/07/22 by Lee.Clark
PS4 - Back out render target mem allocation changes and put in a temp hack
#jira UE-33657
#codereview Marcus.Wassmer
#lockdown josh.adams
#rb none
[CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
FBPTerminal * * InputTermRef = Context . NetMap . Find ( InputPinNet ) ;
if ( InputTermRef = = nullptr )
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
CompilerContext . MessageLog . Error ( * LOCTEXT ( " MakeStruct_NoTerm_Error " , " Failed to generate a term for the @@ pin; was it a struct reference that was left unset? " ) . ToString ( ) , InputPin ) ;
}
else
{
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622)
#rb none
#lockdown nick.penwarden
Change 3046743 on 2016/07/12 by Mark.Satterthwaite
Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance.
#rb ben.woodhouse
#jira UE-33028
Change 3046820 on 2016/07/12 by Peter.Sauerbrei
PR#2594 - fix for analog input, courtesy of CleanCut
#rb daniel.lamb
Change 3046826 on 2016/07/12 by Peter.Sauerbrei
PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046835 on 2016/07/12 by Peter.Sauerbrei
PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet
PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser
#rb daniel.lamb
Change 3046838 on 2016/07/12 by Peter.Sauerbrei
PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046854 on 2016/07/12 by Peter.Sauerbrei
PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet
PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation
#rb daniel.lamb
Change 3046858 on 2016/07/12 by Peter.Sauerbrei
PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet
PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston
#rb daniel.lamb
Change 3046862 on 2016/07/12 by Peter.Sauerbrei
fix for type in tooltip
#jira UE-27123
#rb daniel.lamb
Change 3046919 on 2016/07/12 by Daniel.Lamb
Stop texture derived data from loading it's bulk data when the linker is destoryed.
#rb Peter.Sauerbrei
Change 3046922 on 2016/07/12 by Daniel.Lamb
Updated the default cooker gc settings so that it can have more resources.
Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker.
Changed the way reentry data is stored in the cooker.
Cook only editor content flag in project settings now works again.
#rb Josh.Adams
#test cook Paragon
Change 3046924 on 2016/07/12 by Daniel.Lamb
Added support for encrypting ini files.
Added new project setting in the editor and setting in ufe.
Also added ForDistribution flag to ufe.
#rb Peter.Sauerbrei
Change 3046936 on 2016/07/12 by Mark.Satterthwaite
Fix compute shader TLV clear for async. compute on Mac.
#rb chris.babcock
Change 3047207 on 2016/07/12 by Mark.Satterthwaite
It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free.
#rb chris.babcock
Change 3047208 on 2016/07/12 by Mark.Satterthwaite
When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used.
#rb chris.babcock
Change 3047209 on 2016/07/12 by Mark.Satterthwaite
Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap.
#rb chris.babcock
Change 3047641 on 2016/07/13 by Lee.Clark
PS4 - Improve SDK Version checking messages
#rb none
Change 3047663 on 2016/07/13 by Keith.Judge
Orion - Various minor PS4-only things activated for XB1.
#rb none
Change 3047664 on 2016/07/13 by Keith.Judge
XB1 - Fix analysis warning of shadowing a member variable.
#rb none
Change 3047784 on 2016/07/13 by Keith.Judge
Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity.
#rb None
Change 3047834 on 2016/07/13 by Keith.Judge
XB1 - Release underlying memory of 3D textures when destroying them. Oops!
#rb none
Change 3048190 on 2016/07/13 by Josh.Adams
- Now leave around the ASTC encoder input file on error, for reproing outside of the engine
#rb none
Change 3048256 on 2016/07/13 by Daniel.Lamb
Removed warning about missing file when using cook on the fly.
#rb Peter.Sauerbrei
Change 3048409 on 2016/07/13 by Daniel.Lamb
Improved output for saving packages in unattended builds.
#rb Jonathan.Fitzpatrick
Change 3048763 on 2016/07/13 by Peter.Sauerbrei
switch AppleTV to tvOS in the editor
#jira UE-30532
#rb michael.trepka
Change 3049608 on 2016/07/14 by Keith.Judge
XB1 - Optimize vertex/index buffer dynamic memory usage.
#rb none
Change 3049609 on 2016/07/14 by Keith.Judge
Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls.
#rb None
Change 3049610 on 2016/07/14 by Keith.Judge
Xbox One - Reduce latency of deferred deletions to two frames.
#rb None
Change 3049730 on 2016/07/14 by Keith.Judge
Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs.
#rb None
Change 3049732 on 2016/07/14 by Keith.Judge
Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread.
Also remove optimization pragmas accidentally left in.
#rb none
Change 3049791 on 2016/07/14 by Keith.Judge
Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash.
#rb None
Change 3049968 on 2016/07/14 by Jeremiah.Waldron
Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues.
Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar
#jira UE-24954, UE-27685, UE-20067
#rb chris.babcock
Change 3050428 on 2016/07/14 by Jeremiah.Waldron
Fix for application window being terminated if an AlertDialog is showing onPause
Repro'd and fix tested on Samsung Galaxy Note 3
#android
#jira UE-32998
#rb chris.babcock
Change 3050642 on 2016/07/14 by Peter.Sauerbrei
fix for invalid generated plist
#rb daniel.lamb
Change 3050718 on 2016/07/14 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3051327 on 2016/07/15 by Keith.Judge
Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next.
#rb None
Change 3051346 on 2016/07/15 by Keith.Judge
Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture.
#rb None.
Change 3051530 on 2016/07/15 by Nick.Shin
github: minor typo fixes
#jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging
#rb none
Change 3053631 on 2016/07/18 by Mark.Satterthwaite
Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger.
#codereview daniel.wright
#rb josh.adams
#jira UE-33350
Change 3053816 on 2016/07/18 by Mark.Satterthwaite
Fixes for iOS Metal:
- Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available.
- Stencil texture views are only required on Mac.
- State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA.
- Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds.
#rb michael.trepka
Change 3053818 on 2016/07/18 by Mark.Satterthwaite
Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround.
#rb michael.trepka
Change 3054426 on 2016/07/18 by Dmitry.Rekman
Fix case-sensitive compilation problems (UE-33420).
#codereview Olaf.Piesche
#rb none
Change 3054434 on 2016/07/18 by Mark.Satterthwaite
Silence delete-non-virtual-dtor warnings on iOS as we do on Mac.
#rb none
Change 3054719 on 2016/07/18 by Jeremiah.Waldron
Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing.
Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock
#jira UE-32998
#android
#rb chris.babcock
Change 3054742 on 2016/07/18 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3054850 on 2016/07/18 by Dmitry.Rekman
Replace Fatal->Error so messagebox can be shown (UE-22818).
- Incorporates PR #1714 by zaps166.
#rb none
#tests Tried to create an invalid context, made sure messagebox is popping up.
Change 3055317 on 2016/07/19 by Lee.Clark
PS4 - Fix render target memory allocation
#jira UE-32988
#rb Marcus.Wassmer
Change 3055682 on 2016/07/19 by Brent.Pease
+ Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error
#rb michael.trepka
Change 3056065 on 2016/07/19 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3056256 on 2016/07/19 by Chris.Babcock
Add optional log spew filtering callback to Run
#jira UE-33468
#ue4
#android
#rb Ben.Marsh
#codereview Jack.Porter
Change 3056727 on 2016/07/19 by Chris.Babcock
Added addition scope (plus.login) to Google Play Games builder
#jira UE-33480
#ue4
#android
#rb none
#codereview ryan.gerleve
Change 3056811 on 2016/07/19 by Jeff.Campeau
Xbox One now accepts client configs.
#rb none
Change 3057152 on 2016/07/20 by Dmitry.Rekman
Linux: use libc++ instead of libstdc++.
- Needed to solve problems with third-party C++ libraries (e.g. WebRTC).
- Bundled libc++ 3.8.1 (TPS cleared).
- Turned off ICU compilation (needs recompile against libc++).
- Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix.
#rb none
#tests Built and ran a number of Linux targets.
Change 3057362 on 2016/07/20 by Keith.Judge
XB1 - Fix busted merge from yesterday
#rb None
Change 3057647 on 2016/07/20 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3057655 on 2016/07/20 by Daniel.Lamb
Added test cooking flag.
#rb Peter.Sauerbrei
#test Cook paragon.
Change 3058779 on 2016/07/20 by Dmitry.Rekman
Fix crash on cooker exit (UE-33583).
- Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it.
#rb Josh.Adams
#codereview Josh.Adams, Jamie.Dale
#tests Compiled and ran Linux editor.
#lockdown Josh.Adams
Change 3058835 on 2016/07/20 by Chris.Babcock
Enable GooglePlay and GameCenter plugins by default
#jira UE-33605
#ue4
#android
#ios
#rb mark.satterthwaite
#codereview Peter.Sauerbrei
#lockdown Josh.Adams
Change 3058847 on 2016/07/20 by Chris.Babcock
Fix Android device rule for AlcatelPixi3
#jira UE-33606
#ue4
#android
#rb none
#codereview Jeremiah.Walron
#lockdown Josh.Adams
Change 3059693 on 2016/07/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
#lockdown nick.penwarden
Change 3060139 on 2016/07/21 by Chris.Babcock
Fix proguard entry for Android mediaplayer tracks
#jira UE-33644
#ue4
#android
#rb Josh.Adams
#lockdown Josh.Adams
Change 3061151 on 2016/07/22 by Niklas.Smedberg
Fast ASTC texture compression, using ISPC.
#jira UE-32308
#rb chris.babcock
#lockdown josh.adams
Change 3061428 on 2016/07/22 by Peter.Sauerbrei
Back out changelist 3061151 as it wasn't approved for submission
#rb none
#lockdown josh.adams
Change 3061436 on 2016/07/22 by Lee.Clark
PS4 - Back out render target mem allocation changes and put in a temp hack
#jira UE-33657
#codereview Marcus.Wassmer
#lockdown josh.adams
#rb none
[CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
FBPTerminal * InputTerm = * InputTermRef ;
if ( InputTerm - > bPassedByReference ) //InputPinNet->PinType.bIsReference)
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
// Forward the net to the output pin because it's being passed by-ref and this pin is a by-ref pin
Copying //UE4/Dev-Platform to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Platform @ 3061622)
#rb none
#lockdown nick.penwarden
Change 3046743 on 2016/07/12 by Mark.Satterthwaite
Revert Metal workaround for AtmosphericFog rendering on Intel & AMD from 2897082 and instead change the MetalBackend to emit a precise::sqrt(max(0.0, value)) instruction instead of sqrt(value) to avoid the NaN from -ve values. This may still be technically incorrect versus D3D, but it matches the existing OpenGL appearance.
#rb ben.woodhouse
#jira UE-33028
Change 3046820 on 2016/07/12 by Peter.Sauerbrei
PR#2594 - fix for analog input, courtesy of CleanCut
#rb daniel.lamb
Change 3046826 on 2016/07/12 by Peter.Sauerbrei
PR#2561 - addition of code to limit architecture in required caps for IOS, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046835 on 2016/07/12 by Peter.Sauerbrei
PR#2559 - Increase the stack size on IOS and Mac, courtesy of derekvanvliet
PR#2552 - Addition for Apple ReplayKit Framework, courtesy of JoshuaKaiser
#rb daniel.lamb
Change 3046838 on 2016/07/12 by Peter.Sauerbrei
PR#2548 - Adding Log information when an unsupported audio type is used, courtesy of derekvanvliet
#rb daniel.lamb
Change 3046854 on 2016/07/12 by Peter.Sauerbrei
PR#2547 - fix for unrecognize selector crash on iOS, couretesy of derekvanvliet
PR#2384 - prevent crashes when initializing push notifications on IOS 7, courtesy of alk3ovation
#rb daniel.lamb
Change 3046858 on 2016/07/12 by Peter.Sauerbrei
PR#2475, #1868 - fix for mapping of iOS device name, courtesy of wingedrobin, derekvanvliet
PR#2567 - fix name of IPhoneSE in names array, courtesy of rohanliston
#rb daniel.lamb
Change 3046862 on 2016/07/12 by Peter.Sauerbrei
fix for type in tooltip
#jira UE-27123
#rb daniel.lamb
Change 3046919 on 2016/07/12 by Daniel.Lamb
Stop texture derived data from loading it's bulk data when the linker is destoryed.
#rb Peter.Sauerbrei
Change 3046922 on 2016/07/12 by Daniel.Lamb
Updated the default cooker gc settings so that it can have more resources.
Added support for cooker markup package and objects as (new flag) disregard for gc if it's still in use by the cooker.
Changed the way reentry data is stored in the cooker.
Cook only editor content flag in project settings now works again.
#rb Josh.Adams
#test cook Paragon
Change 3046924 on 2016/07/12 by Daniel.Lamb
Added support for encrypting ini files.
Added new project setting in the editor and setting in ufe.
Also added ForDistribution flag to ufe.
#rb Peter.Sauerbrei
Change 3046936 on 2016/07/12 by Mark.Satterthwaite
Fix compute shader TLV clear for async. compute on Mac.
#rb chris.babcock
Change 3047207 on 2016/07/12 by Mark.Satterthwaite
It is illegal to use a reference to an element within a TMap to initialise a new value that is to be added to the TMap as it causes heap-use-after-free.
#rb chris.babcock
Change 3047208 on 2016/07/12 by Mark.Satterthwaite
When removing a vertex don't attempt to copy from one element beyond the end of the array to fill the last element - that's a heap-buffer-overflow and is unnecessary because that element will no longer be used.
#rb chris.babcock
Change 3047209 on 2016/07/12 by Mark.Satterthwaite
Don't attempt to update Metal class counts if the MetalRHI is uninitalised - it will attempt to double-free the TMap.
#rb chris.babcock
Change 3047641 on 2016/07/13 by Lee.Clark
PS4 - Improve SDK Version checking messages
#rb none
Change 3047663 on 2016/07/13 by Keith.Judge
Orion - Various minor PS4-only things activated for XB1.
#rb none
Change 3047664 on 2016/07/13 by Keith.Judge
XB1 - Fix analysis warning of shadowing a member variable.
#rb none
Change 3047784 on 2016/07/13 by Keith.Judge
Xbox One - Memory and perf saving in query handling. Store 8 queries per allocation, rather than 1 so we're making the maximum use of the 256byte allocation granularity.
#rb None
Change 3047834 on 2016/07/13 by Keith.Judge
XB1 - Release underlying memory of 3D textures when destroying them. Oops!
#rb none
Change 3048190 on 2016/07/13 by Josh.Adams
- Now leave around the ASTC encoder input file on error, for reproing outside of the engine
#rb none
Change 3048256 on 2016/07/13 by Daniel.Lamb
Removed warning about missing file when using cook on the fly.
#rb Peter.Sauerbrei
Change 3048409 on 2016/07/13 by Daniel.Lamb
Improved output for saving packages in unattended builds.
#rb Jonathan.Fitzpatrick
Change 3048763 on 2016/07/13 by Peter.Sauerbrei
switch AppleTV to tvOS in the editor
#jira UE-30532
#rb michael.trepka
Change 3049608 on 2016/07/14 by Keith.Judge
XB1 - Optimize vertex/index buffer dynamic memory usage.
#rb none
Change 3049609 on 2016/07/14 by Keith.Judge
Xbox One CPU Perf - Add _RenderThread versions of Lock/Unlock Texture 2D to stop more RHI thread stalls.
#rb None
Change 3049610 on 2016/07/14 by Keith.Judge
Xbox One - Reduce latency of deferred deletions to two frames.
#rb None
Change 3049730 on 2016/07/14 by Keith.Judge
Xbox One - Disable _RenderThread versions of Lock/Unlock Texture 2D for now as they're causing hangs.
#rb None
Change 3049732 on 2016/07/14 by Keith.Judge
Xbox One - Add critical section to the query slot incrementing code as this wa causing a hang after running for a while as it can be done on any of the parallel rendering threads (not just the RHI thread.
Also remove optimization pragmas accidentally left in.
#rb none
Change 3049791 on 2016/07/14 by Keith.Judge
Xbox One - Made the occlusion query multithreading even more robust. Can play for ages now in a large level without a crash.
#rb None
Change 3049968 on 2016/07/14 by Jeremiah.Waldron
Adding AndroidDisableThreadedRendering CVar and device profiles for 4 specific devices that need to have threaded rendering disabled on them due to swap buffer issues.
Leaving previous checks in FAndroidMisc::AllowRenderThread as they are, but any new devices that need threaded rendering disabled should use the CVar
#jira UE-24954, UE-27685, UE-20067
#rb chris.babcock
Change 3050428 on 2016/07/14 by Jeremiah.Waldron
Fix for application window being terminated if an AlertDialog is showing onPause
Repro'd and fix tested on Samsung Galaxy Note 3
#android
#jira UE-32998
#rb chris.babcock
Change 3050642 on 2016/07/14 by Peter.Sauerbrei
fix for invalid generated plist
#rb daniel.lamb
Change 3050718 on 2016/07/14 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3051327 on 2016/07/15 by Keith.Judge
Xbox One - Save memory when locking 2D textures by only allocating a linear copy of the mip/array slice we're locking, rather than the entire mip chain. I'll do the same for 3D textures next.
#rb None
Change 3051346 on 2016/07/15 by Keith.Judge
Xbox One - Same memory savings for UpdateTexture2D/3D. Only allocate for the mip/slice that we're updating, not the entire texture.
#rb None.
Change 3051530 on 2016/07/15 by Nick.Shin
github: minor typo fixes
#jira UE-32129 - GitHub 2513 : Update default output of HTML5 packaging
#rb none
Change 3053631 on 2016/07/18 by Mark.Satterthwaite
Don't attempt to bind a 2D texture to the FOnePassPointShadowProjectionShaderParameters because it just won't work on Metal - instead bind the black-cube. This fixes validation errors that prevent running projects under the debugger.
#codereview daniel.wright
#rb josh.adams
#jira UE-33350
Change 3053816 on 2016/07/18 by Mark.Satterthwaite
Fixes for iOS Metal:
- Depth-clip mode was erroneously exported on iOS SDK 9, it wasn't ever actually available.
- Stencil texture views are only required on Mac.
- State cache shouldn't suggest a render target change is required if the current state is clear and the new state is load/don't care as this breaks iOS rendering with MSAA.
- Instead the debug submissions should just directly invoke submit and switch to rendering so that its SetRenderTarget call always succeeds.
#rb michael.trepka
Change 3053818 on 2016/07/18 by Mark.Satterthwaite
Explicit casts for Metal precise::sqrt required for iOS to work with ffast-math workaround.
#rb michael.trepka
Change 3054426 on 2016/07/18 by Dmitry.Rekman
Fix case-sensitive compilation problems (UE-33420).
#codereview Olaf.Piesche
#rb none
Change 3054434 on 2016/07/18 by Mark.Satterthwaite
Silence delete-non-virtual-dtor warnings on iOS as we do on Mac.
#rb none
Change 3054719 on 2016/07/18 by Jeremiah.Waldron
Adding ShowHiddenAlertDialog JNI function to be called from native code after the render thread is resumed after pausing.
Tested locally on Galaxy Note 3. Tested on LG G4 by nick.shin. Tested on Galaxy S6 by chris.babcock
#jira UE-32998
#android
#rb chris.babcock
Change 3054742 on 2016/07/18 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3054850 on 2016/07/18 by Dmitry.Rekman
Replace Fatal->Error so messagebox can be shown (UE-22818).
- Incorporates PR #1714 by zaps166.
#rb none
#tests Tried to create an invalid context, made sure messagebox is popping up.
Change 3055317 on 2016/07/19 by Lee.Clark
PS4 - Fix render target memory allocation
#jira UE-32988
#rb Marcus.Wassmer
Change 3055682 on 2016/07/19 by Brent.Pease
+ Fix Debug builds by removing force inline attribute only on debug builds to prevent a warning that is treated as an error
#rb michael.trepka
Change 3056065 on 2016/07/19 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3056256 on 2016/07/19 by Chris.Babcock
Add optional log spew filtering callback to Run
#jira UE-33468
#ue4
#android
#rb Ben.Marsh
#codereview Jack.Porter
Change 3056727 on 2016/07/19 by Chris.Babcock
Added addition scope (plus.login) to Google Play Games builder
#jira UE-33480
#ue4
#android
#rb none
#codereview ryan.gerleve
Change 3056811 on 2016/07/19 by Jeff.Campeau
Xbox One now accepts client configs.
#rb none
Change 3057152 on 2016/07/20 by Dmitry.Rekman
Linux: use libc++ instead of libstdc++.
- Needed to solve problems with third-party C++ libraries (e.g. WebRTC).
- Bundled libc++ 3.8.1 (TPS cleared).
- Turned off ICU compilation (needs recompile against libc++).
- Some libraries (e.g. FBX sdk) still need libstdc++, so in practice it is going to be a mix.
#rb none
#tests Built and ran a number of Linux targets.
Change 3057362 on 2016/07/20 by Keith.Judge
XB1 - Fix busted merge from yesterday
#rb None
Change 3057647 on 2016/07/20 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
Change 3057655 on 2016/07/20 by Daniel.Lamb
Added test cooking flag.
#rb Peter.Sauerbrei
#test Cook paragon.
Change 3058779 on 2016/07/20 by Dmitry.Rekman
Fix crash on cooker exit (UE-33583).
- Global/static tickable objects could outlive the collection and trigger asserts when removing themselves from it.
#rb Josh.Adams
#codereview Josh.Adams, Jamie.Dale
#tests Compiled and ran Linux editor.
#lockdown Josh.Adams
Change 3058835 on 2016/07/20 by Chris.Babcock
Enable GooglePlay and GameCenter plugins by default
#jira UE-33605
#ue4
#android
#ios
#rb mark.satterthwaite
#codereview Peter.Sauerbrei
#lockdown Josh.Adams
Change 3058847 on 2016/07/20 by Chris.Babcock
Fix Android device rule for AlcatelPixi3
#jira UE-33606
#ue4
#android
#rb none
#codereview Jeremiah.Walron
#lockdown Josh.Adams
Change 3059693 on 2016/07/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#rb none
#lockdown nick.penwarden
Change 3060139 on 2016/07/21 by Chris.Babcock
Fix proguard entry for Android mediaplayer tracks
#jira UE-33644
#ue4
#android
#rb Josh.Adams
#lockdown Josh.Adams
Change 3061151 on 2016/07/22 by Niklas.Smedberg
Fast ASTC texture compression, using ISPC.
#jira UE-32308
#rb chris.babcock
#lockdown josh.adams
Change 3061428 on 2016/07/22 by Peter.Sauerbrei
Back out changelist 3061151 as it wasn't approved for submission
#rb none
#lockdown josh.adams
Change 3061436 on 2016/07/22 by Lee.Clark
PS4 - Back out render target mem allocation changes and put in a temp hack
#jira UE-33657
#codereview Marcus.Wassmer
#lockdown josh.adams
#rb none
[CL 3061637 by Josh Adams in Main branch]
2016-07-22 11:36:47 -04:00
Context . NetMap . Add ( ReturnStructNet , InputTerm ) ;
2016-02-12 17:00:45 -05:00
}
}
}
virtual void Compile ( FKismetFunctionContext & Context , UEdGraphNode * Node ) override
{
FKCHandler_MakeStruct : : Compile ( Context , Node ) ;
UBlueprintEditorSettings * Settings = GetMutableDefault < UBlueprintEditorSettings > ( ) ;
{
2016-02-26 16:58:26 -05:00
UEdGraphPin * InputPin = Node - > FindPinChecked ( SetFieldsInStructHelper : : StructRefPinName ( ) ) ;
UEdGraphPin * InputPinNet = FEdGraphUtilities : : GetNetFromPin ( InputPin ) ;
FBPTerminal * * InputTerm = Context . NetMap . Find ( InputPinNet ) ;
// If the InputTerm was not a by-ref, then we need to place the modified structure into the local output term with an AssignStatement
if ( InputTerm & & ! ( * InputTerm ) - > bPassedByReference )
2016-02-12 17:00:45 -05:00
{
2016-02-26 16:58:26 -05:00
UEdGraphPin * ReturnPin = Node - > FindPin ( SetFieldsInStructHelper : : StructOutPinName ( ) ) ;
UEdGraphPin * ReturnStructNet = FEdGraphUtilities : : GetNetFromPin ( ReturnPin ) ;
FBPTerminal * * ReturnTerm = Context . NetMap . Find ( ReturnStructNet ) ;
2016-02-12 17:00:45 -05:00
2016-02-26 16:58:26 -05:00
FBlueprintCompiledStatement & AssignStatement = Context . AppendStatementForNode ( Node ) ;
AssignStatement . Type = KCST_Assignment ;
// The return term is a reference no matter the way we received it.
( * ReturnTerm ) - > bPassedByReference = true ;
AssignStatement . LHS = * ReturnTerm ;
AssignStatement . RHS . Add ( * InputTerm ) ;
2016-02-12 17:00:45 -05:00
}
}
2016-02-26 16:58:26 -05:00
GenerateSimpleThenGoto ( Context , * Node ) ;
2016-02-12 17:00:45 -05:00
}
2014-06-30 06:59:25 -04:00
} ;
2014-10-14 10:29:11 -04:00
UK2Node_SetFieldsInStruct : : UK2Node_SetFieldsInStruct ( const FObjectInitializer & ObjectInitializer )
: Super ( ObjectInitializer )
2014-06-30 06:59:25 -04:00
{
}
void UK2Node_SetFieldsInStruct : : AllocateDefaultPins ( )
{
const UEdGraphSchema_K2 * Schema = GetDefault < UEdGraphSchema_K2 > ( ) ;
if ( Schema & & StructType )
{
CreatePin ( EGPD_Input , Schema - > PC_Exec , TEXT ( " " ) , NULL , false , false , Schema - > PN_Execute ) ;
CreatePin ( EGPD_Output , Schema - > PC_Exec , TEXT ( " " ) , NULL , false , false , Schema - > PN_Then ) ;
2016-02-12 17:00:45 -05:00
UEdGraphPin * InPin = CreatePin ( EGPD_Input , Schema - > PC_Struct , TEXT ( " " ) , StructType , false , true , SetFieldsInStructHelper : : StructRefPinName ( ) ) ;
UEdGraphPin * OutPin = CreatePin ( EGPD_Output , Schema - > PC_Struct , TEXT ( " " ) , StructType , false , true , SetFieldsInStructHelper : : StructOutPinName ( ) ) ;
// Input pin will forward the ref to the output, if the input value is not a reference connection, a copy is made and modified instead and provided as a reference until the function is called again.
InPin - > AssignByRefPassThroughConnection ( OutPin ) ;
2014-06-30 06:59:25 -04:00
2015-07-06 06:23:50 -04:00
OutPin - > PinToolTip = LOCTEXT ( " SetFieldsInStruct_OutPinTooltip " , " Reference to the input struct " ) . ToString ( ) ;
2014-06-30 06:59:25 -04:00
{
FStructOnScope StructOnScope ( Cast < UScriptStruct > ( StructType ) ) ;
2015-03-13 00:12:23 -04:00
FSetFieldsInStructPinManager OptionalPinManager ( StructOnScope . GetStructMemory ( ) ) ;
2014-06-30 06:59:25 -04:00
OptionalPinManager . RebuildPropertyList ( ShowPinForProperties , StructType ) ;
OptionalPinManager . CreateVisiblePins ( ShowPinForProperties , StructType , EGPD_Input , this ) ;
}
}
}
FText UK2Node_SetFieldsInStruct : : GetNodeTitle ( ENodeTitleType : : Type TitleType ) const
{
2014-09-03 18:17:44 -04:00
if ( StructType = = nullptr )
{
return LOCTEXT ( " SetFieldsInNullStructNodeTitle " , " Set members in <unknown struct> " ) ;
}
2015-04-02 11:16:23 -04:00
else if ( CachedNodeTitle . IsOutOfDate ( this ) )
2014-09-02 19:08:09 -04:00
{
FFormatNamedArguments Args ;
2014-09-03 18:17:44 -04:00
Args . Add ( TEXT ( " StructName " ) , FText : : FromName ( StructType - > GetFName ( ) ) ) ;
2014-09-02 19:08:09 -04:00
// FText::Format() is slow, so we cache this to save on performance
2015-04-02 11:16:23 -04:00
CachedNodeTitle . SetCachedText ( FText : : Format ( LOCTEXT ( " SetFieldsInStructNodeTitle " , " Set members in {StructName} " ) , Args ) , this ) ;
2014-09-02 19:08:09 -04:00
}
return CachedNodeTitle ;
2014-06-30 06:59:25 -04:00
}
2014-09-03 18:14:09 -04:00
FText UK2Node_SetFieldsInStruct : : GetTooltipText ( ) const
2014-06-30 06:59:25 -04:00
{
2014-09-03 18:17:44 -04:00
if ( StructType = = nullptr )
{
return LOCTEXT ( " SetFieldsInStruct_NullTooltip " , " Adds a node that modifies an '<unknown struct>' " ) ;
}
2015-04-02 11:16:23 -04:00
else if ( CachedTooltip . IsOutOfDate ( this ) )
2014-09-03 18:17:44 -04:00
{
// FText::Format() is slow, so we cache this to save on performance
2015-04-02 11:16:23 -04:00
CachedTooltip . SetCachedText ( FText : : Format (
2014-09-03 18:17:44 -04:00
LOCTEXT ( " SetFieldsInStruct_Tooltip " , " Adds a node that modifies a '{0}' " ) ,
FText : : FromName ( StructType - > GetFName ( ) )
2015-04-02 11:16:23 -04:00
) , this ) ;
2014-09-03 18:17:44 -04:00
}
return CachedTooltip ;
2014-06-30 06:59:25 -04:00
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2937390 on 2016/04/07 by Cody.Albert
#jira UE-29211
Fixed slider to properly bubble unhandled OnKeyDown events
Change 2939672 on 2016/04/11 by Richard.TalbotWatkin
Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
#jira UE-29193 - "Files need check-out" prompt spams Blueprint users
Change 2939686 on 2016/04/11 by Richard.TalbotWatkin
A number of further improvements to mesh vertex color painting:
* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected
Change 2939906 on 2016/04/11 by Nick.Darnell
Automation - Adding several enhancements to the automation framework and improving the UI.
* Tests in the UI now have a link to the source and line where they orginate.
* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
* Front end now has better column displays offering more room to the test name
* Changed several events to the automation controller to multicast delegates so that many could hook them.
* The UI now refreshes the selection after tests finish so that the output log updates.
Change 2939908 on 2016/04/11 by Nick.Darnell
Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)
Change 2940028 on 2016/04/11 by Nick.Darnell
Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests.
Change 2940066 on 2016/04/11 by Nick.Darnell
Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.
Change 2940092 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940093 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940157 on 2016/04/11 by Jamie.Dale
Fixing FTextTest due to some changes made to how currency is formatted
Change 2940694 on 2016/04/12 by Richard.TalbotWatkin
Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs
Change 2942379 on 2016/04/13 by Richard.TalbotWatkin
Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing
Change 2942947 on 2016/04/13 by Richard.TalbotWatkin
Fixed crash when pasting a material function call node from one project to another in which it is not defined.
#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects
Change 2943452 on 2016/04/14 by Richard.TalbotWatkin
Updated F4 debug key binding to match what's in ShowFlags.cpp
PR #2197 (contributed by mfortin-bhvr)
Change 2943824 on 2016/04/14 by Alexis.Matte
#jira UE-29090
Make sure we cannot open the color picker when a property is edit const
Change 2943841 on 2016/04/14 by Alexis.Matte
#jira UE-28924
tooltip was add for every hierarchy import option
Change 2943927 on 2016/04/14 by Alexis.Matte
#jira UE-29423
Add Obj support for scene importer
Github PR #2272
Change 2943967 on 2016/04/14 by Richard.TalbotWatkin
Added relevant fields from FBodyInstance to the FoliageType customizations.
#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties
Change 2948397 on 2016/04/19 by Andrew.Rodham
Moved FSlateIcon definition to SlateCore
It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.
Change 2948805 on 2016/04/19 by Andrew.Rodham
Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.
- Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
- This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.
#jira UE-26502
Change 2950658 on 2016/04/20 by Alexis.Matte
#jira UE-24333
Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix
Change 2950663 on 2016/04/20 by Alexis.Matte
#jira UE-29582
When exporting to fbx we have to export each material instance as one fbx material
Change 2951240 on 2016/04/21 by Alexis.Matte
#jira UE-28473
Make sure light are render properly after importing a fbx scene
Change 2951421 on 2016/04/21 by Alexis.Matte
#jira UE-29773
fbx skeletalmesh import now support mesh hierarchy
Change 2955873 on 2016/04/26 by Richard.TalbotWatkin
PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)
Change 2955965 on 2016/04/26 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2956717 on 2016/04/26 by Andrew.Rodham
Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations
#jira UE-26968
Change 2956822 on 2016/04/26 by Andrew.Rodham
Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame
#jira UE-7777
Change 2956931 on 2016/04/26 by Nick.Darnell
New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.
Change 2956932 on 2016/04/26 by Nick.Darnell
Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress.
Change 2957164 on 2016/04/26 by Nick.Darnell
Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future.
Change 2957165 on 2016/04/26 by Nick.Darnell
Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.
#jira UE-28456
Change 2957510 on 2016/04/27 by Nick.Darnell
PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)
#jira UE-28763
Change 2957511 on 2016/04/27 by Andrew.Rodham
Editor: Make favorites button on details panel non-focusable
- This was preventing users being able to tab between value fields on the details panel
Change 2957610 on 2016/04/27 by Nick.Darnell
PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)
#jira UE-24190
Change 2957667 on 2016/04/27 by Jamie.Dale
Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location
#jira OR-18634
Change 2958035 on 2016/04/27 by Nick.Darnell
Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.
Change 2958272 on 2016/04/27 by Jamie.Dale
Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way
This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.
#jira UE-12096
Change 2958348 on 2016/04/27 by Jamie.Dale
PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)
Change 2958352 on 2016/04/27 by Jamie.Dale
Fixed the subtitle manager updating the wrong list of subtitles
#jira UE-29511
Change 2958390 on 2016/04/27 by Jamie.Dale
Removed some old placement-new style array insertions
Change 2959360 on 2016/04/28 by Richard.TalbotWatkin
Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]
Change 2959724 on 2016/04/28 by Cody.Albert
Merging hardware survey gating logic from 4.10
#jira UE-28666
Change 2959807 on 2016/04/28 by Cody.Albert
Removed deprecated function call
#jira UE-28666
Change 2959894 on 2016/04/28 by Cody.Albert
Fix for scroll offset being clamped by content size, not scroll max
#jira UE-20676
Change 2960048 on 2016/04/28 by Jamie.Dale
Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue
#jira UE-12096
Change 2960782 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2960885 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961170 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961171 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961173 on 2016/04/29 by Jamie.Dale
Removed some inline duplication on the specialized template functions
#jira UE-12096
Change 2963124 on 2016/05/02 by Jamie.Dale
FExternalDragOperation can now contain both text and file data at the same time
This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.
#jira UE-26585
Change 2963175 on 2016/05/02 by Jamie.Dale
Updated some font editor tooltips to be more descriptive
#jira UE-17429
Change 2963290 on 2016/05/02 by Jamie.Dale
The Localise UAT command can now be run with a null localisation provider
Change 2963305 on 2016/05/02 by Jamie.Dale
Fixed minor typo
Change 2963402 on 2016/05/02 by Jamie.Dale
Cleaned up all the current localization key conflicts and warnings from gathering Engine code
#jira UE-25833
Change 2963415 on 2016/05/02 by Jamie.Dale
Rephrased a message that could generate a CIS warning
#jira UE-25833
Change 2964184 on 2016/05/03 by Jamie.Dale
Fixed duplicate "Font" entry in asset picker menu
This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.
We also now make sure the factories are sorted by display name before being shown in the UI.
#jira UE-24903
Change 2966108 on 2016/05/04 by Nick.Darnell
Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.
Change 2966113 on 2016/05/04 by Nick.Darnell
[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now.
Change 2966121 on 2016/05/04 by Jamie.Dale
Config writing improvements when dealing with property values
This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.
This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.
FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.
UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).
Change 2966122 on 2016/05/04 by Jamie.Dale
Added a setting to control dialogue wave audio filenames
Change 2966481 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2966887 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2967488 on 2016/05/05 by Ben.Marsh
Changes to support packaging plugins from the editor.
* UBT now has an option to explicitly disable hot-reloading in any circumstances.
* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.
Change 2967947 on 2016/05/05 by Nick.Darnell
PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)
#jira UE-30371
Change 2968333 on 2016/05/05 by Jamie.Dale
Fixed MultiLine not working with arrays of string or text properties
- The detail customizations for FString and FText properties now read the meta-data off the correct property.
- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
- Fixed the default values panel in the UDS editor having a title area.
#jira UE-30392
Change 2968999 on 2016/05/06 by Jamie.Dale
Fixed infinite loop in the editor if a directory that is being watched is deleted
#jira UE-30172
Change 2969105 on 2016/05/06 by Richard.TalbotWatkin
Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option
Change 2969440 on 2016/05/06 by Jamie.Dale
Significant performance improvements when pasting a large amount of text
#jira UE-19712
Change 2969619 on 2016/05/06 by Andrew.Rodham
Auto-reimport is now disabled inside an editor running in unattended mode
Change 2969621 on 2016/05/06 by Jamie.Dale
Added the ability to override the subtitle used on a dialogue wave
This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.
#jira UETOOL-795
Change 2970588 on 2016/05/09 by Chris.Wood
Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
[UE-26958] - GitHub 2056 : Fixing typo in the operator
#2056
Change 2971151 on 2016/05/09 by Chris.Wood
Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.
PR #2030
Change 2971267 on 2016/05/09 by Alexis.Matte
Wrong parameter when calling GetImportOptions
#jira UE-30299
Change 2972073 on 2016/05/10 by Richard.TalbotWatkin
Fixed UModel methods which make surfaces as modified.
#jira UE-28831 - Unable to undo material placement on BSP
Change 2972329 on 2016/05/10 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2972887 on 2016/05/10 by Alexis.Matte
#jira UE-30167
We now import the geometric transform also when we uncheck the absolute transform in the vertex.
Change 2973664 on 2016/05/11 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2973717 on 2016/05/11 by Nick.Darnell
Fixing compiler issues from main merge.
#jira UE-30590
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
[CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
FSlateIcon UK2Node_SetFieldsInStruct : : GetIconAndTint ( FLinearColor & OutColor ) const
{
return UK2Node_Variable : : GetIconAndTint ( OutColor ) ;
2014-06-30 06:59:25 -04:00
}
2014-08-01 18:04:33 -04:00
void UK2Node_SetFieldsInStruct : : ValidateNodeDuringCompilation ( FCompilerResultsLog & MessageLog ) const
{
Super : : ValidateNodeDuringCompilation ( MessageLog ) ;
2015-05-28 01:59:47 -04:00
UEdGraphPin * FoundPin = FindPin ( SetFieldsInStructHelper : : StructRefPinName ( ) ) ;
2016-03-11 09:55:03 -05:00
if ( ! FoundPin | | ( FoundPin - > LinkedTo . Num ( ) < = 0 ) )
2014-08-01 18:04:33 -04:00
{
2015-05-28 01:59:47 -04:00
FText ErrorMessage = LOCTEXT ( " SetStructFields_NoStructRefError " , " The @@ pin must be connected to the struct that you wish to set. " ) ;
MessageLog . Error ( * ErrorMessage . ToString ( ) , FoundPin ) ;
2014-08-01 18:04:33 -04:00
}
}
2014-06-30 06:59:25 -04:00
FNodeHandlingFunctor * UK2Node_SetFieldsInStruct : : CreateNodeHandler ( class FKismetCompilerContext & CompilerContext ) const
{
return new FKCHandler_SetFieldsInStruct ( CompilerContext ) ;
}
2014-06-30 16:03:48 -04:00
bool UK2Node_SetFieldsInStruct : : ShowCustomPinActions ( const UEdGraphPin * Pin , bool bIgnorePinsNum )
{
2015-07-06 05:57:13 -04:00
const int32 MinimalPinsNum = 5 ;
2014-06-30 16:03:48 -04:00
const UEdGraphSchema_K2 * Schema = GetDefault < UEdGraphSchema_K2 > ( ) ;
const auto Node = Pin ? Cast < const UK2Node_SetFieldsInStruct > ( Pin - > GetOwningNodeUnchecked ( ) ) : NULL ;
return Node
& & ( ( Node - > Pins . Num ( ) > MinimalPinsNum ) | | bIgnorePinsNum )
& & ( EGPD_Input = = Pin - > Direction )
& & ( Pin - > PinName ! = SetFieldsInStructHelper : : StructRefPinName ( ) )
& & ! Schema - > IsMetaPin ( * Pin ) ;
}
void UK2Node_SetFieldsInStruct : : RemoveFieldPins ( const UEdGraphPin * Pin , EPinsToRemove Selection )
{
if ( ShowCustomPinActions ( Pin , false ) & & ( Pin - > GetOwningNodeUnchecked ( ) = = this ) )
{
2014-08-19 17:13:02 -04:00
// Pretend that the action was done on the hidden parent pin if the pin is split
while ( Pin - > ParentPin ! = nullptr )
{
Pin = Pin - > ParentPin ;
}
2014-08-25 11:06:52 -04:00
const bool bHideSelected = ( Selection = = EPinsToRemove : : GivenPin ) ;
const bool bHideNotSelected = ( Selection = = EPinsToRemove : : AllOtherPins ) ;
2014-06-30 16:03:48 -04:00
bool bWasChanged = false ;
for ( FOptionalPinFromProperty & OptionalProperty : ShowPinForProperties )
{
2014-08-25 11:06:52 -04:00
const bool bSelected = ( Pin - > PinName = = OptionalProperty . PropertyName . ToString ( ) ) ;
const bool bHide = ( bSelected & & bHideSelected ) | | ( ! bSelected & & bHideNotSelected ) ;
2014-06-30 16:03:48 -04:00
if ( OptionalProperty . bShowPin & & bHide )
{
bWasChanged = true ;
OptionalProperty . bShowPin = false ;
}
}
if ( bWasChanged )
{
ReconstructNode ( ) ;
}
}
}
bool UK2Node_SetFieldsInStruct : : AllPinsAreShown ( ) const
{
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3099612)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3061854 on 2016/07/22 by Bob.Tellez
Duplicate CL#3058653 //Fortnite/Main
#UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects.
Change 3068095 on 2016/07/28 by Maciej.Mroz
#jira UE-32942 BP Nativization: Reduce the size of executable files
Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty.
-It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller.
-It reduces the number of FindField function calls and stativ variables in the nativized code.
List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled).
Change 3070569 on 2016/07/29 by Bob.Tellez
Duplicating CL#3070518 from //Fortnite/Main
#UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad.
Change 3081792 on 2016/08/08 by Dan.Oconnor
Widget and Animation blueprint diffing is no longer experimental, added warning explaining shortcomings. This is preferrable because the text diff is basically useless
#jira UE-1234
Change 3081865 on 2016/08/09 by Dan.Oconnor
build fix
#jria UE-1234
Change 3082839 on 2016/08/09 by Bob.Tellez
Duplicating CL#3082835 from //Fortnite/Main
#UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances.
Change 3083367 on 2016/08/09 by Dan.Oconnor
Fix for actors detaching when compiling a blueprint, needed to read attachment data before actors are destroyed, in case we're attached to another instance of the same type. Deemed too risky for 4.13.
#jira UE-33278
Change 3083825 on 2016/08/10 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
VariableNames are validated at the begining of FKismetCompilerContext::Compile, because the validation requires CDO.
Removed legacy code from FBlueprintEditorUtils::RenameMemberVariable.
Change 3084313 on 2016/08/10 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Change 3085572 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
Redone cl#3085568 from 4.13 branch
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3087171 on 2016/08/12 by Maciej.Mroz
BP Nativization:
- FCustomThunkTemplates functions have the same declarations as original functions in Kismet Array Library
- Properly declared scope of final functions
- "AdditionalPublicDependencyModuleNames" option in "BlueprintNativizationSettings" (applied in Orion)
Change 3088713 on 2016/08/15 by Ben.Cosh
This updates the tunnel boundary compile time code to catch end of thread execution inside tunnels and provide instrumentation for it.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3088734 on 2016/08/15 by Ben.Cosh
Minor change to the changes submitted in CL 3088713 after finding an issue during use.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3091248 on 2016/08/16 by Dan.Oconnor
Removing unused function
Change 3091555 on 2016/08/17 by Maciej.Mroz
#jira UE-34745 [CrashReport] UE4Editor_BlueprintGraph!UEdGraphSchema_K2::CreateSubstituteNode() [edgraphschema_k2.cpp:5601]
Fixed unsafe code.
Change 3091767 on 2016/08/17 by Ben.Cosh
Minor refresh on the threshold settings interface to allow more immediate visualisation of thresholds.
#Jira UE-33572 - BP Profiler - Refresh heatmap coloring when thresholds changed.
#Jira UE-33702 - BP Profiler - Custom heatmap thresholds appear to be broken
#Jira UE-33698 - BP Profiler: Default heatmaps to on
#Proj Kismet, BlueprintProfiler
Reviewer notes:
- Added an interfacel to indicate if performance thresholds have changed in BlueprintProfilerSettings so we can action changes
- Added code to force update heat interfaces in the blueprintprofiler if thresholds are dirty.
- Modified the BlueprintProfilerToolbar to reflect the above changes and only save settings when the combo dialog is closed ( saving on change makes the sliders unusable )
- Fixed the custom thresholds ( made them reciprical ) for testing.
- Node heatmaps default to average
- Heatmap display modes now get saved to the config
Change 3091770 on 2016/08/17 by Ben.Cosh
Refresh on the blueprint profiler node heatmaps
#Jira UE-34802 - Fix the blueprint profiler node heatmaps, the current visualisation is first pass prototype.
#Proj GraphEditor, EditorStyle
Reviewer notes:
- Quick update on the node heatmaps moving to a more graph editor sympathetic approach in code
- Removed the old interfaces and added a new overlay pass in the grapheditor processed before the node shadow brushes.
- Now the nodes have an outline/glow heatmap that doesn't color the node body ( I have an alternate set of images that also color the body if we decide on we still want that )
Change 3091972 on 2016/08/17 by Ben.Cosh
Changing the blueprint profiler heatmap displays to be full node colorisation.
#Jira none
Change 3092515 on 2016/08/17 by Ryan.Rauschkolb
Fixed Struct Ref pin in UK2Node_SetFieldsInStruct can be split when optional pins are visible
#UE-34060
Change 3093644 on 2016/08/18 by Maciej.Mroz
#jira UE-31754 BP interface signature change doesn't update child Blueprint
- Introduced FCustomCompilationSettingsMap. FKismetEditorUtilities::CompileBlueprint can compile many blueprints (due to reinstaning), now we can specify separate compilation settings for each BP.
- Simplified FKismetEditorUtilities::CompileBlueprint parameters list
- FunctionEntry and FunctionResult nodes depends on Interface (if they implement a function , that was declared in the interface).
- Interface is primary source of function signature (previously it was parent class)
- When an Interface is compiled all BPs, that implement it, have refreshed nodes in proper order.
- FBlueprintEditor::Compile ensures, that all parent classes of current BP are up-to-date
Change 3093694 on 2016/08/18 by samuel.proctor
Adding members to QA Test UDS
Change 3096778 on 2016/08/22 by Mike.Beach
Fixing Dev-BP CIS - closing bracket was mistakenly removed (thanks auto-merge).
Change 3097150 on 2016/08/22 by Mike.Beach
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097878 on 2016/08/23 by Ryan.Rauschkolb
BP Profiler: Fixed stack overflow when compiling tunnels that contain loops
#jira UE-34767
Change 3098294 on 2016/08/23 by Maciej.Mroz
#jira UE-30031, UE-34760, UE-34761
- Use Delta Serialization when exporting UDS value as text
- Default Values of Local Variables (of UDS type) are refreshed while BP regeneration
- Importing struct from text uses property guid (see CustomFindProperty)
Change 3098599 on 2016/08/23 by Ryan.Rauschkolb
Fixed option for split struct pin not appearing in context menu
#jira UE-35108
[CL 3100065 by Mike Beach in Main branch]
2016-08-24 16:19:07 -04:00
UEdGraphPin * InputPin = FindPinChecked ( SetFieldsInStructHelper : : StructRefPinName ( ) , EGPD_Input ) ;
// If the input struct pin is currently split, don't allow option to restore members
if ( InputPin ! = nullptr & & InputPin - > SubPins . Num ( ) > 0 )
{
return true ;
}
2014-06-30 16:03:48 -04:00
for ( const FOptionalPinFromProperty & OptionalProperty : ShowPinForProperties )
{
if ( ! OptionalProperty . bShowPin )
{
return false ;
}
}
return true ;
}
void UK2Node_SetFieldsInStruct : : RestoreAllPins ( )
{
bool bWasChanged = false ;
for ( FOptionalPinFromProperty & OptionalProperty : ShowPinForProperties )
{
if ( ! OptionalProperty . bShowPin )
{
bWasChanged = true ;
OptionalProperty . bShowPin = true ;
}
}
if ( bWasChanged )
{
ReconstructNode ( ) ;
}
}
2015-03-13 00:12:23 -04:00
void UK2Node_SetFieldsInStruct : : FSetFieldsInStructPinManager : : GetRecordDefaults ( UProperty * TestProperty , FOptionalPinFromProperty & Record ) const
{
FMakeStructPinManager : : GetRecordDefaults ( TestProperty , Record ) ;
Record . bShowPin = false ;
}
2016-02-19 13:49:13 -05:00
bool UK2Node_SetFieldsInStruct : : IsConnectionDisallowed ( const UEdGraphPin * MyPin , const UEdGraphPin * OtherPin , FString & OutReason ) const
2015-08-25 12:43:09 -04:00
{
2016-02-19 13:49:13 -05:00
const UEdGraphSchema_K2 * K2Schema = GetDefault < UEdGraphSchema_K2 > ( ) ;
if ( MyPin - > bNotConnectable )
2015-08-25 12:43:09 -04:00
{
2016-02-19 13:49:13 -05:00
OutReason = LOCTEXT ( " SetFieldsInStructConnectionDisallowed " , " This pin must enable the override to set a value! " ) . ToString ( ) ;
return true ;
2015-08-25 12:43:09 -04:00
}
2016-02-19 13:49:13 -05:00
return Super : : IsConnectionDisallowed ( MyPin , OtherPin , OutReason ) ;
2015-08-25 12:43:09 -04:00
}
Copying //UE4/Dev-Blueprints to //UE4/Dev-Main (Source: //UE4/Dev-Blueprints @ 3099612)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3061854 on 2016/07/22 by Bob.Tellez
Duplicate CL#3058653 //Fortnite/Main
#UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects.
Change 3068095 on 2016/07/28 by Maciej.Mroz
#jira UE-32942 BP Nativization: Reduce the size of executable files
Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty.
-It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller.
-It reduces the number of FindField function calls and stativ variables in the nativized code.
List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled).
Change 3070569 on 2016/07/29 by Bob.Tellez
Duplicating CL#3070518 from //Fortnite/Main
#UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad.
Change 3081792 on 2016/08/08 by Dan.Oconnor
Widget and Animation blueprint diffing is no longer experimental, added warning explaining shortcomings. This is preferrable because the text diff is basically useless
#jira UE-1234
Change 3081865 on 2016/08/09 by Dan.Oconnor
build fix
#jria UE-1234
Change 3082839 on 2016/08/09 by Bob.Tellez
Duplicating CL#3082835 from //Fortnite/Main
#UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances.
Change 3083367 on 2016/08/09 by Dan.Oconnor
Fix for actors detaching when compiling a blueprint, needed to read attachment data before actors are destroyed, in case we're attached to another instance of the same type. Deemed too risky for 4.13.
#jira UE-33278
Change 3083825 on 2016/08/10 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
VariableNames are validated at the begining of FKismetCompilerContext::Compile, because the validation requires CDO.
Removed legacy code from FBlueprintEditorUtils::RenameMemberVariable.
Change 3084313 on 2016/08/10 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Change 3085572 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
Redone cl#3085568 from 4.13 branch
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3087171 on 2016/08/12 by Maciej.Mroz
BP Nativization:
- FCustomThunkTemplates functions have the same declarations as original functions in Kismet Array Library
- Properly declared scope of final functions
- "AdditionalPublicDependencyModuleNames" option in "BlueprintNativizationSettings" (applied in Orion)
Change 3088713 on 2016/08/15 by Ben.Cosh
This updates the tunnel boundary compile time code to catch end of thread execution inside tunnels and provide instrumentation for it.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3088734 on 2016/08/15 by Ben.Cosh
Minor change to the changes submitted in CL 3088713 after finding an issue during use.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3091248 on 2016/08/16 by Dan.Oconnor
Removing unused function
Change 3091555 on 2016/08/17 by Maciej.Mroz
#jira UE-34745 [CrashReport] UE4Editor_BlueprintGraph!UEdGraphSchema_K2::CreateSubstituteNode() [edgraphschema_k2.cpp:5601]
Fixed unsafe code.
Change 3091767 on 2016/08/17 by Ben.Cosh
Minor refresh on the threshold settings interface to allow more immediate visualisation of thresholds.
#Jira UE-33572 - BP Profiler - Refresh heatmap coloring when thresholds changed.
#Jira UE-33702 - BP Profiler - Custom heatmap thresholds appear to be broken
#Jira UE-33698 - BP Profiler: Default heatmaps to on
#Proj Kismet, BlueprintProfiler
Reviewer notes:
- Added an interfacel to indicate if performance thresholds have changed in BlueprintProfilerSettings so we can action changes
- Added code to force update heat interfaces in the blueprintprofiler if thresholds are dirty.
- Modified the BlueprintProfilerToolbar to reflect the above changes and only save settings when the combo dialog is closed ( saving on change makes the sliders unusable )
- Fixed the custom thresholds ( made them reciprical ) for testing.
- Node heatmaps default to average
- Heatmap display modes now get saved to the config
Change 3091770 on 2016/08/17 by Ben.Cosh
Refresh on the blueprint profiler node heatmaps
#Jira UE-34802 - Fix the blueprint profiler node heatmaps, the current visualisation is first pass prototype.
#Proj GraphEditor, EditorStyle
Reviewer notes:
- Quick update on the node heatmaps moving to a more graph editor sympathetic approach in code
- Removed the old interfaces and added a new overlay pass in the grapheditor processed before the node shadow brushes.
- Now the nodes have an outline/glow heatmap that doesn't color the node body ( I have an alternate set of images that also color the body if we decide on we still want that )
Change 3091972 on 2016/08/17 by Ben.Cosh
Changing the blueprint profiler heatmap displays to be full node colorisation.
#Jira none
Change 3092515 on 2016/08/17 by Ryan.Rauschkolb
Fixed Struct Ref pin in UK2Node_SetFieldsInStruct can be split when optional pins are visible
#UE-34060
Change 3093644 on 2016/08/18 by Maciej.Mroz
#jira UE-31754 BP interface signature change doesn't update child Blueprint
- Introduced FCustomCompilationSettingsMap. FKismetEditorUtilities::CompileBlueprint can compile many blueprints (due to reinstaning), now we can specify separate compilation settings for each BP.
- Simplified FKismetEditorUtilities::CompileBlueprint parameters list
- FunctionEntry and FunctionResult nodes depends on Interface (if they implement a function , that was declared in the interface).
- Interface is primary source of function signature (previously it was parent class)
- When an Interface is compiled all BPs, that implement it, have refreshed nodes in proper order.
- FBlueprintEditor::Compile ensures, that all parent classes of current BP are up-to-date
Change 3093694 on 2016/08/18 by samuel.proctor
Adding members to QA Test UDS
Change 3096778 on 2016/08/22 by Mike.Beach
Fixing Dev-BP CIS - closing bracket was mistakenly removed (thanks auto-merge).
Change 3097150 on 2016/08/22 by Mike.Beach
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097878 on 2016/08/23 by Ryan.Rauschkolb
BP Profiler: Fixed stack overflow when compiling tunnels that contain loops
#jira UE-34767
Change 3098294 on 2016/08/23 by Maciej.Mroz
#jira UE-30031, UE-34760, UE-34761
- Use Delta Serialization when exporting UDS value as text
- Default Values of Local Variables (of UDS type) are refreshed while BP regeneration
- Importing struct from text uses property guid (see CustomFindProperty)
Change 3098599 on 2016/08/23 by Ryan.Rauschkolb
Fixed option for split struct pin not appearing in context menu
#jira UE-35108
[CL 3100065 by Mike Beach in Main branch]
2016-08-24 16:19:07 -04:00
bool UK2Node_SetFieldsInStruct : : CanSplitPin ( const UEdGraphPin * Pin ) const
{
if ( Super : : CanSplitPin ( Pin ) )
{
UEdGraphPin * InputPin = FindPinChecked ( SetFieldsInStructHelper : : StructRefPinName ( ) , EGPD_Input ) ;
if ( Pin = = InputPin )
{
for ( const FOptionalPinFromProperty & OptionalProperty : ShowPinForProperties )
{
if ( OptionalProperty . bShowPin )
{
return false ;
}
}
}
return true ;
}
else
{
return false ;
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# undef LOCTEXT_NAMESPACE