Commit Graph

22 Commits

Author SHA1 Message Date
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
Mikolaj Sieluzycki
e9351fe5de #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 2054304 by Mikolaj Sieluzycki in Main branch]
2014-04-23 20:15:15 -04:00
Mike Beach
ea3d396e18 TTP #331574: Distinguishing interface pins/vars from other objects in blueprints with their own type/color (handling PC_Interface like we handle PC_Object).
#codereview Nick.Whiting

[CL 2041911 by Mike Beach in Main branch]
2014-04-23 17:58:27 -04:00
Mike Beach
b6135239c9 TTP #325423: Making it so we correctly identify which execution-pin a node was triggered from.
- Wire-trace op-codes are now inserted before every statement in GotoFixupRequestMap
  - ExpandNode() now uses FKismetCompilerContext::MovePinLinksToIntermediate/CopyPinLinksToIntermediate for transfering pin links (to track pin associations)

#codereview Nick.Whiting

[CL 2040798 by Mike Beach in Main branch]
2014-04-23 17:45:37 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00