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]
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.
Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks
[CL 2104067 by Max Preussner in Main branch]
#ttp 331467: Make UHT not depend on CoreUObject
#change GScriptHelper made an object instead of a heap-allocated pointer.
#change NameLookupCPP made an object instead of a heap-allocated pointer.
#add FClasses::FindAnyClass added.
#change FClasses construction moved earlier.
#change FClass::GetInnerClass added.
#change More UClasses changed to FClasses.
#codereview robert.manuszewski
[CL 2091696 by Steve Robb in Main branch]
#change Root module path added to include paths.
#change Plugins now write intermediates to the project folder.
#change All generated #includes are now relative.
#change Updated UHTDebugging.manifest to new format.
#change Android response files now use relative include paths to prevent overly-large response files.
#remove Rocket-specific UHT execution removed.
#remove iOS header hack removed.
#codereview robert.manuszewski,ben.marsh
[CL 2077472 by Steve Robb in Main branch]
#change Root module path added to include paths.
#change Plugins now write intermediates to the project folder.
#change All generated #includes are now relative.
#change Updated UHTDebugging.manifest to new format.
#remove Rocket-specific UHT execution removed.
#remove Some bHackHeaderGenerator usage removed.
#remove iOS header hack removed.
#codereview robert.manuszewski,ben.marsh
[CL 2073005 by Steve Robb in Main branch]
#change Root module path added to include paths.
#change Plugins now write intermediates to the project folder.
#change All generated #includes are now relative.
#change Updated UHTDebugging.manifest to new format.
#remove Rocket-specific UHT execution removed.
#remove Some bHackHeaderGenerator usage removed.
#remove iOS header hack removed.
#codereview robert.manuszewski,ben.marsh
[CL 2068336 by Steve Robb in Main branch]
- Added program-only plugin support and made UHT script plugin aware
- Added 3 generic script plugins with experimental Lua integration: ScriptGeneratorPlugin (UHT), ScriptPlugin (Engine), ScriptEditorPlugin (Editor-side)
- Lua integration is disabled by default
[CL 2058611 by Robert Manuszewski in Main branch]
#add FClass and FClasses added to encapsulate (and ultimately replace) UClass and FClassTree.
#add StringUtils contains a bunch of string-related functions which were in FHeaderParser for no real reason.
#change Replaced FClassTree with UHT and fixed up all the code which was affected.
#codereview robert.manuszewski
[CL 2045258 by Steve Robb in Main branch]
#proj UE4
#branch UE4
#summary Changed UBT and UHT exit codes to inform about compilation result. The editor is reading exit code of UBT process and changes output message informing if this is a failure due to header changes.
#codereview Robert.Manuszewski
[CL 2044928 by Jaroslaw Palczynski in Main branch]