Commit Graph

102 Commits

Author SHA1 Message Date
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Jaroslaw Palczynski
3c450b9477 UE-10111: Hot Reload crash with Scene Component tied to Actor class
We've changed the way vtable ptr are obtained for UClasses. Right now we use special empty constructor to get it, so we don't have to use normal one which was causing troubles. This special vtable helper constructor is generated automatically for most cases, but sometimes it's not possible (e.g. no default constructor for members types). In such case there is a possibility to override that generated constructor and write a custom one. The signature is UCustomClass::UCustomClass(FVTableHelper& Helper) and it needs to call base class'es constructor with the same parameter. Please do not use these constructors for anything else. There is no guarantee the object will be in correct state after calling this.

You can still disable this functionality if something breaks, just set WITH_HOT_RELOAD_CTORS to 0.

[CL 2466152 by Jaroslaw Palczynski in Main branch]
2015-03-02 06:44:04 -05:00
Mikolaj Sieluzycki
5c01918778 Change _Implementation and _Validation functions UHT warning message.
[CL 2453014 by Mikolaj Sieluzycki in Main branch]
2015-02-20 06:11:35 -05:00
Robert Manuszewski
98b487ffdc Making sure UHT does not try to automatically declare constructor with OI if the base class does not declare one.
[CL 2446180 by Robert Manuszewski in Main branch]
2015-02-14 17:40:09 -05:00
Jaroslaw Palczynski
6f783c9b2b UECORE-59: I want to be able to specify server/validation function names in UHT and not rely on predefined ones.
[CL 2435374 by Jaroslaw Palczynski in Main branch]
2015-02-06 09:54:41 -05:00
Zak Middleton
c99e2d9b73 #ue4 - Deprecating UProperties does not cause deprecation warnings in generated code.
[CL 2433874 by Zak Middleton in Main branch]
2015-02-05 13:10:48 -05:00
Robert Manuszewski
e56a5b49ee Deprecating 'operator new' for UObjects.
[CL 2425600 by Robert Manuszewski in Main branch]
2015-01-30 08:30:03 -05:00
Jaroslaw Palczynski
d99adaedff UHT: Fixes fully qualified path into relative ones. Fully paths was breaking cross-compilation in some cases.
#codereview Robert.Manuszewski, Peter.Sauerbrei

[CL 2413981 by Jaroslaw Palczynski in Main branch]
2015-01-21 12:32:28 -05:00
Josh Adams
9cf8c67c77 - Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files

#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock

[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
Jaroslaw Palczynski
da737428aa UHT: Multiple UCLASS in header. Minor tweaks and comments.
[CL 2412453 by Jaroslaw Palczynski in Main branch]
2015-01-20 13:06:35 -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
Jaroslaw Palczynski
494b01ca46 UHT: Splitting generated CPP files fix.
UECORE-73

[CL 2408543 by Jaroslaw Palczynski in Main branch]
2015-01-16 05:02:48 -05:00
Steve Robb
80c6561731 Fix for GUID calculation on split generated files.
#codereview robert.manuszewski,jaroslaw.palczynski

[CL 2404828 by Steve Robb in Main branch]
2015-01-13 12:24:06 -05:00
John Abercrombie
4e9ac6444a Merging using UE4-Fortnite-To-UE4 @ CL 2382284
[CL 2388856 by John Abercrombie in Main branch]
2014-12-15 15:29:48 -05:00
Mikolaj Sieluzycki
62bcb126ce XBoxOne CIS fix.
[CL 2386109 by Mikolaj Sieluzycki in Main branch]
2014-12-11 16:29:40 -05:00
Mikolaj Sieluzycki
4b1f513db4 Emit warning if GetLifetimeReplicatedProps and functions with _Implementation and _Validate suffixes aren't declared.
#codereview Robert.Manuszewski

[CL 2385673 by Mikolaj Sieluzycki in Main branch]
2014-12-11 11:49:41 -05:00
Robert Manuszewski
a00117eff3 Making sure CRCs generated for UHT-generated code do not change across platforms.
[CL 2385269 by Robert Manuszewski in Main branch]
2014-12-11 04:58:57 -05:00
Mikolaj Sieluzycki
a770062fe2 XBoxOne CIS fix.
#lockdown Ben.Marsh

[CL 2380464 by Mikolaj Sieluzycki in Main branch]
2014-12-08 11:10:43 -05:00
Mikolaj Sieluzycki
70df0c36e9 Don't automatically create function declarations in UHT that user has to implement.
#codereview Steve.Robb

[CL 2380157 by Mikolaj Sieluzycki in Main branch]
2014-12-08 07:30:42 -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
Ben Marsh
adcc8663e0 Don't prototype FObjectInitializer in generated code; it prevents Doxygen from matching up the funciton signatures.
[CL 2367847 by Ben Marsh in Main branch]
2014-11-21 15:01:17 -05:00
Robert Manuszewski
01e5f0dc49 Fix for generated code changes (for the Engine) when switching between targets due to uninitialized GeneratedBodyMacroAccessSpecifier member variable.
Added more safety checks and a more detailed error message.

#codereview jaroslaw.palczynski

[CL 2353244 by Robert Manuszewski in Main branch]
2014-11-07 13:17:32 -05:00
Robert Manuszewski
8cb5dea614 Hot-Reload: fixing infinite loop when changing USTRUCTs caused by unnecessary re-initialization of the owner UClass.
UE-4916

#change Replaced CLASS_Temporary (UHT-only flag) with CLASS_Constructed to check if a class needs to be constructed or not in generated code
#change Modified code generator to make sure UClasses don't get reconstructed if not required

[CL 2351525 by Robert Manuszewski in Main branch]
2014-11-06 15:16:05 -05:00
Robert Manuszewski
dcaf3b8fc5 Making sure the compiler does not attempt to generate copy-constructors for UObjects as this produces false warnings when the class contains deprecated members and generally UObjects should not be copy-constructed anyway.
[CL 2345940 by Robert Manuszewski in Main branch]
2014-10-31 04:01:12 -04:00