Commit Graph

123 Commits

Author SHA1 Message Date
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
Ben Zeigler
d0769bb096 #UE4 Fix header parsing of component properties, private_subobject was breaking the parser and causing the next property to be ignored. This was causing Character's Mesh property to not exist as an example
#codereview robert.manuszewski

[CL 2345720 by Ben Zeigler in Main branch]
2014-10-30 21:14:35 -04:00
Robert Manuszewski
a5ced47375 Hot-Reload: fixed hot-reload not detecting UFUNCTION changes in source code
[CL 2344852 by Robert Manuszewski in Main branch]
2014-10-30 09:53:47 -04:00
Mikolaj Sieluzycki
7551bfda8b Add parsing DEPRECATED macro in struct and class declaration in UHT.
#codereview Steve.Robb

[CL 2339610 by Mikolaj Sieluzycki in Main branch]
2014-10-24 02:59:18 -04:00
Robert Manuszewski
af80979bb7 First phase of deprecating TSubobjectPtr<> replacing TSubobjectPtr properties in the Engine with normal pointers and adding subobject accessors for derived classes/client code.
[CL 2331521 by Robert Manuszewski in Main branch]
2014-10-16 09:02:30 -04:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Jaroslaw Palczynski
e1cafcc43a NUXF-11 Don't require a Category on UPROPERTIES (for game classes)
TTP 346443

[CL 2328243 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:27:14 -04:00
Jaroslaw Palczynski
399074d7ea DonÆt default to æpublicÆ protection level in classes.
UECORE-8

[CL 2327190 by Jaroslaw Palczynski in Main branch]
2014-10-13 10:31:50 -04:00
Jaroslaw Palczynski
cc0f6d9a4e UObject custom constructors.
In order to use new feature user have to change GENERATED_UCLASS_BODY() macro to the new GENERATED_BODY(). Then no constructor is implicitly declared. If there is no constructor declared in UCLASS then PCIP one is declared and defined that passes PCIP down to super-class. On the other hand if there is a constructor declared then UObject system expects to have one of the default or PCIP constructor to initialize a class during loading from disk, default object creation, etc. and it expects that user will declare and define one.

There is a possibility now to create UCLASS with the default constructor (i.e. no PCIP).

New macro is encouraged by standard classes and in-editor wizards templates.

#codereview Robert.Manuszewski

[CL 2325282 by Jaroslaw Palczynski in Main branch]
2014-10-10 04:34:56 -04:00
Fred Kimberley
aade1b1941 Merging the latest changes to the ability system.
Merging using UE4-Fortnite-To-UE4

#codereview David.Ratti, Richard.Hinckley

[CL 2321666 by Fred Kimberley in Main branch]
2014-10-07 15:19:27 -04:00
Jaroslaw Palczynski
37f19fe3fa Server functions passed by non-const reference result in bad code generation.
Fixed.

#ttp 338601

[CL 2321310 by Jaroslaw Palczynski in Main branch]
2014-10-07 11:04:06 -04:00
Nick Whiting
6831a712a7 #ue4 Fix for NotBlueprintType specifier not removing BlueprintType specifier, causing conflicting metadata
[CL 2317887 by Nick Whiting in Main branch]
2014-10-02 17:29:05 -04:00
Nick Darnell
6fbae11592 Blueprint - We now support making FText an exposed on spawn parameter.
[CL 2317619 by Nick Darnell in Main branch]
2014-10-02 14:23:34 -04:00
Michael Noland
928559eaa0 Editor: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2316341 by Michael Noland in Main branch]
2014-10-01 14:45:23 -04:00
Zak Middleton
ae46af7395 #ue4 - Fix HeaderParser so it no longer removes valid uses of "*", " * ", etc from within comments when generating tooltips. Only asterisks from the beginning of lines following only whitespace are removed.
- For example: "A * B" within a java-doc comment used to become "A B".

[CL 2316224 by Zak Middleton in Main branch]
2014-10-01 13:24:30 -04:00
Mikolaj Sieluzycki
f7729605e0 Disable deprecation warnings in generated code.
#codereview Steve.Robb

[CL 2315678 by Mikolaj Sieluzycki in Main branch]
2014-10-01 05:47:47 -04:00
Steve Robb
c1d423f758 Better error message regarding the use of interfaces as properties, suggesting the use of TScriptInterface instead.
#codereview robert.manuszewski

[CL 2314145 by Steve Robb in Main branch]
2014-09-30 09:10:54 -04:00
Steve Robb
04d7d74f86 Minor fixes to new casts.
* InterfaceCast deprecation version number changed to 4.6.
* Double-underscored identifiers replaced with names which aren't reserved.

#codereview robert.manuszewski,mike.fricker

[CL 2314098 by Steve Robb in Main branch]
2014-09-30 07:30:24 -04:00
Steve Robb
35c2fea8c4 Cast unification.
* Cast can be used for every UClass/interface cast:
  - Up/down UObject hierarchy.
  - From interfaces to UObjects.
  - From UObjects to interfaces.
  - Between interfaces.
* InterfaceCast has been deprecated.
* dynamic_cast can now be used instead of Cast.
* dynamic_cast between two UType pointers will be equivalent to Cast, but with dynamic_cast syntax and semantics.
* dynamic_cast of references is equivalent to a CastChecked - if it fails, it will fatally log rather than throw a std::bad_cast exception (UE doesn't support exceptions).
* If the two types involved are not UTypes, it should continue to act like a normal dynamic_cast.
* dynamic_cast<void*> works as expected.
* All/many Casts in CoreUObject changed to dynamic_cast to show this behaviour.
* Some refactoring.

#codereview robert.manuszewski,mike.fricker

[CL 2312800 by Steve Robb in Main branch]
2014-09-29 09:24:50 -04:00
Steve Robb
53d7de0fc8 Enum class codegen fixes for UFunctions, as raised here:
https://github.com/EpicGames/UnrealEngine/pull/433

#codereview robert.manuszewski

[CL 2312741 by Steve Robb in Main branch]
2014-09-29 07:39:15 -04:00
Jaroslaw Palczynski
65ba5d456f TArray documentation and a coupld of methods deprecation.
Changes mostly in Array.h. The changes in other files are only renames for deprecated functions.

[CL 2312616 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:23:44 -04:00
Jaroslaw Palczynski
78f6bf5355 [GitHub] 337 : Add module gen include dir to ShouldExportClassesForModule
#ttp 343350

[CL 2312600 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:03:28 -04:00
Max Preussner
6510058ee7 Core: Moved Json out of Core and into its own module
The main changes are as follows:

1. moved Json out of Core into own module 'Json'
2. moved 3 i10n classes (Json serializers) from Core into a new module 'Internationalization' *
3. fixed up 2 i10n classes in Core to not instantiate the 3 Json-based classes. instead they are now passed in as a dependency

*) (2) and (3) were required to decouple the I10n code in Core from Json. Much of the i10n code probably doesn't belong into Core in the first place, but there is no time to fix this right now.

The following cosmetic changes were also made:

- NULL to nullptr
- namespaced enums to enum classes
- renamed the three i10n Json serializer classes to comply with naming conventions
- removed file header comments (not used)
- documentation, spelling, spacing etc,

#UpgradeNotes: If your module is including Json.h then you have to add 'Json' to your Build.cs module dependencies.

#ReviewedBy: justin.sargent, saul.abreu

[CL 2310420 by Max Preussner in Main branch]
2014-09-25 18:03:04 -04:00