Commit Graph

29 Commits

Author SHA1 Message Date
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Mike Beach
134cb04d27 Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2716841 on 2015/10/05 by Mike.Beach

	(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).

	#codereview Maciej.Mroz

Change 2719089 on 2015/10/07 by Maciej.Mroz

	ToValidCPPIdentifierChars handles propertly '?' char.

	#codereview Dan.Oconnor

Change 2719361 on 2015/10/07 by Maciej.Mroz

	Generated native code for AnimBPGC - some preliminary changes.

	Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
	Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"

	The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.

	#codereview Lina.Halper, Thomas.Sarkanen

Change 2719383 on 2015/10/07 by Maciej.Mroz

	Debug-only code removed

Change 2720528 on 2015/10/07 by Dan.Oconnor

	Fix for determinsitc cooking of async tasks and load asset nodes
	#codereview Mike.Beach, Maciej.Mroz

Change 2721273 on 2015/10/08 by Maciej.Mroz

	Blueprint Compiler Cpp Backend
	- Anim Blueprints can be converted
	- Various fixes/improvements

Change 2721310 on 2015/10/08 by Maciej.Mroz

	refactor (cl#2719361) - no "auto" keyword

Change 2721727 on 2015/10/08 by Mike.Beach

	(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.

	    - Refactored the conversion manifest (using a map over an array)
	    - Centralized destination paths into a helper struct (for the manifest)
	    - Generating an Editor module that automatically hooks into the cook process when enabled
	    - Loading and applying native replacments for the cook

Change 2723276 on 2015/10/09 by Michael.Schoell

	Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.

	#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
	#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736

Change 2724345 on 2015/10/11 by Ben.Cosh

	Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
	#UEBP-21 - Profiling data capture and storage
	#UEBP-13 - Performance capture landing page
	#Branch UE4
	#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine

Change 2724613 on 2015/10/12 by Ben.Cosh

	Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
	#Branch UE4
	#Proj BlueprintProfiler

	#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.

Change 2724723 on 2015/10/12 by Maciej.Mroz

	Constructor of a dynamic class creates CDO.

	#codereview Robert.Manuszewski

Change 2725108 on 2015/10/12 by Mike.Beach

	[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.

Change 2726358 on 2015/10/13 by Maciej.Mroz

	UDataTable is properly saved even if its RowStruct is null.

	https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html

Change 2727395 on 2015/10/13 by Mike.Beach

	(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
	    * Using stubs for replacements (rather than loading dynamic replacement).
	    * Giving the cook commandlet more control (so a conversion could be ran directly).
	    * Now logging replacements by old object path (to account for UPackage replacement queries).
	    * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).

	#codereview Maciej.Mroz

Change 2727484 on 2015/10/13 by Mike.Beach

	[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.

Change 2727527 on 2015/10/13 by Mike.Beach

	Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.

Change 2727702 on 2015/10/13 by Dan.Oconnor

	Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)

Change 2727968 on 2015/10/14 by Maciej.Mroz

	Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in  ConstructorHelpers::FClassFinder from being obsolete.
	FindOrLoadClass behaves now like FindOrLoadObject.

	#codereview Robert.Manuszewski, Nick.Whiting

Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
Jamie Dale
b19cff0457 Fixed crash in FKCHandler_CallFunction::FindFunction when the calling context is null
[CL 2695105 by Jamie Dale in Main branch]
2015-09-17 09:53:01 -04:00
Maciej Mroz
bd0800d561 FScriptBuilderBase::EmitDestinationExpression properly handles Array properties.
[UE-18227][UE-18185]
Restored changelist 2610237 (UE-16083).
Back out changelist 2611758.

#codereview Mike.Beach, Terence.Burns

[CL 2612142 by Maciej Mroz in Main branch]
2015-07-07 05:57:11 -04:00
Mike Beach
ada8c2e0d2 [UE-18227] Back out changelist 2610237 (UE-16083) - Was causing a UMG VM crash (involing MakeArray); backed out until we can resolve that issue.
#codereview Maciej.Mroz

[CL 2611758 by Mike Beach in Main branch]
2015-07-06 18:14:22 -04:00
Maciej Mroz
c06b5ac97b UE-16083 Select node not passing by reference.
- New VM instruction: EX_SwithValue
- New KismetCompiledStatement: KCST_SwitchValue
- Functions from UKismetArrayLibrary don't have UArrayProperty input param anymore
- removed FBlueprintCompiledStatement::ArrayCoersionTermMap
- New Engine.ini option: [Kismet]bUseSelectRef - currently it's disabled
- FKCHandler_SelectRef - new implementation of Select node.

#codereview Nick.Whiting, Mike.Beach

[CL 2610237 by Maciej Mroz in Main branch]
2015-07-03 05:14:27 -04:00
Maciej Mroz
94197986df GetBaseStructure was replaced with TBaseStructure<>::Get()
Related to: https://udn.unrealengine.com/questions/244398/blueprint-struct-with-vector-member-crashes-editor.html

#codereview Robert.Manuszewski, Jaroslaw.Palczynski, Nick.Whiting

[CL 2538645 by Maciej Mroz in Main branch]
2015-05-05 23:07:23 -04:00
Marc Audy
d67a694c69 Move member reference out of K2Node and make it usable elsewhere
[CL 2477135 by Marc Audy in Main branch]
2015-03-12 14:17:48 -04:00
Mike Beach
ecee0506c5 [UE-11325] Blueprint function params marked "DefaultToSelf" now check compatibility against the Blueprint's type (and error when appropriate).
[CL 2471338 by Mike Beach in Main branch]
2015-03-06 12:35:22 -05:00
Dan Oconnor
4fb2fe8d86 [UE-9879] No longer spamming "Files need check-out!" when compiling a blueprint, we avoid marking the blueprint as structurely modified simply because generated data was updated
[CL 2449230 by Dan Oconnor in Main branch]
2015-02-17 16:28:07 -05:00
Jaroslaw Palczynski
adecd4aaad UHT: Allows defining multiple UCLASSes in one header file.
[CL 2412156 by Jaroslaw Palczynski in Main branch]
2015-01-20 09:33:54 -05:00
Michael Schoell
d0f3e3d7e7 Merging PR #680 to fix crashes when casting an Interface pin to an Object pin inside of Blueprints.
#jira UE-6503 - GitHub 680 : Fix: UE-6268: Implict cast stack corruption
#jira UE-6268 - The Editor may crash in PIE mode if the Engine was built from source code using the Debug Editor configuration.

[CL 2391686 by Michael Schoell in Main branch]
2014-12-17 16:12:53 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Phillip Kavan
ead8c218f1 [UE-2345] BP - enforce const-correctness in native const class method overrides
this change introduces enforcement of 'const-correctness' into implemented function graphs.

summary:
if you have a function declared in C++ like this:
UFUNCTION(BlueprintImplementableEvent)
int32 MyFunctionThatReturnsSomeValue() const;
if you implement that (BPIE) function in a Blueprint that's parented to that native class, it will now be flagged as 'const'. this makes any properties of 'self' read-only within the context of that graph, which means the compiler will emit an error if you try to set a property or otherwise call a non-const, non-static function with 'self' as the target.
if there happens to already be an implemented const function in a Blueprint that was in place prior to this change, the compiler will emit a warning instead of an error, in order to allow existing Blueprints that may currently be "violating" const within the context of a const BPIE function to still compile, while still alerting to issues that should probably be addressed.
notes:
1) this also applies to BlueprintNativeEvent (BPNE) implementations, and also when implementing BPIE/BPNE interface methods that are also declared as const
2) a const BPIE/BPNE function with no return value and no output parameters will be implemented as a "normal" impure function, and not as an event as in the non-const case
3) a const BPIE/BPNE function with a return value and/or output parameters will currently be implemented as a pure function, regardless of whether or not BlueprintCallable is specified
4) this CL also retains some consolidation of static function validation code that i had previously done, mostly to allow static functions to more easily be whitelisted for const function graphs
#codereview Nick.Whiting, Michael.Noland

[CL 2368059 by Phillip Kavan in Main branch]
2014-11-21 17:47:17 -05:00
Maciej Mroz
745d0c927b ôAutoCreateRefö û is handled in UK2Node_CallFunction::ExpandNode. The additional variable is created in local scope.
#codereview Nick.Whiting, Michael.Noland

[CL 2323899 by Maciej Mroz in Main branch]
2014-10-09 06:06:10 -04:00
Maciej Mroz
f32d2a3583 Local Graph Varaibles. An early version of function FEventGraphUtils::PinRepresentsSharedTerminal, that tells if a pin represetns a terminal, that is truly shared. If not, it will be added to local varaibles.
Creating Terminals was slightly refactored.

#codereview Nick.Whiting, Michael.Noland

[CL 2311113 by Maciej Mroz in Main branch]
2014-09-26 11:32:41 -04:00
Marc Audy
b6e79ff641 Prevent functions that require a World Context from being placed in a Graph that does not implement GetWorld() and report a warning for functions that already exist
A function with a World Context pin can also be flagged with new metadata CallableWithoutWorldContext which indicates it can be used in any context, even if GetWorld() is not implemented, the called function is responsible for providing a working alternative when World is null
World Centric functions can also be used in classes tagged with the ShowWorldContextPin metadata which indicates the class has a well defined method of supplying the world context that will be connected

[CL 2292921 by Marc Audy in Main branch]
2014-09-10 16:39:25 -04:00
Marc Audy
02e71ed87c Convert to using WorldContext metadata instead of DefaultToSelf/HidePin
[CL 2292897 by Marc Audy in Main branch]
2014-09-10 16:24:10 -04:00
Marc Audy
fcaf05abab Change ShowHiddenSelfPins to ShowWorldContextPin
[CL 2292818 by Marc Audy in Main branch]
2014-09-10 15:23:52 -04:00
Maciej Mroz
eb3a19001f BP: when object is passed by string, GetPathName should be used, instead of GetFullName
ttp 344824 LIVE: BP: Checking the contents of an ActorClass array will alway return True even when checking for a class that is not part à?

#codereview Nick.Whiting

[CL 2284422 by Maciej Mroz in Main branch]
2014-09-04 09:49:40 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Mike Beach
60050759c5 Blueprint code generation no longer duplicates cast result terms for objects being plugged into interface params.
(TTP #337973)

[CL 2097632 by Mike Beach in Main branch]
2014-06-06 18:15:56 -04:00
Mike Beach
fddc9cf2b3 Injecting a cast operation when plugging an Blueprint object pin into an interface paramter.
[CL 2092325 by Mike Beach in Main branch]
2014-06-02 17:55:53 -04:00
Mikolaj Sieluzycki
bbcea54981 #ttp 303393 UObject improvement: Remove header groups
#proj core
#branch UE4
#summary Removed header groups, removed some redundant includes and replaced with forward declarations. Fixed compilation errors.

[CL 2055361 by Mikolaj Sieluzycki in Main branch]
2014-04-24 08:49:31 -04:00
Robert Manuszewski
86174fbbdf Back out changelist 2054304
[CL 2054447 by Robert Manuszewski in Main branch]
2014-04-23 20:18:11 -04:00