Commit Graph

59 Commits

Author SHA1 Message Date
Maciej Mroz
e207582c8f UEBP-40 C++ code generation (WIP):
- components created in constructor have CreationMethod = EComponentCreationMethod::Native

#codereview Phillip.Kavan

[CL 2690138 by Maciej Mroz in Main branch]
2015-09-14 09:23:48 -04:00
Maciej Mroz
f698ecbe03 UEBP-40 C++ code generation (WIP):
- Test Pipeline for native classes converted from BP (FReplaceConvertedAssetManager)
- DynamicClass support

[CL 2687964 by Maciej Mroz in Main branch]
2015-09-11 10:56:21 -04:00
Maciej Mroz
a23caa0f03 UEBP-40 C++ code generation (WIP):
- refactor
- DynamicClass support
- various bugs

#codereview Mike.Beach, Dan.OConnor, Phillip.Kavan, Robert.Manuszewski

[CL 2686106 by Maciej Mroz in Main branch]
2015-09-10 09:15:43 -04:00
Phillip Kavan
308be6bebd [UEBP-40] BP->C++ code generation (WiP) - Some fixes to generated code for default subobject instancing.
change summary:
- modified FEmitDefaultValueHelper::HandleInstancedSubobject() to allow callers to control whether or not to generate code to create the instance or access it (if it should already have been created).
- modified FEmitDefaultValueHelper::GenerateConstructor() to generate code to assign a fallback native root component if available (to match the runtime side in the non-generated code case)

#codereview Maciej.Mroz

[CL 2685496 by Phillip Kavan in Main branch]
2015-09-09 17:50:03 -04:00
Dan Oconnor
53db26d327 Name mangling logic for blueprint generated classes. This solves problems with ascii characters like '-', '+' and '=', unicode characters, and that match existing c++ identifiers (IE naming a blueprint variable bool or U8) showing up in code generated from blueprints.
#codereview Maciej.Mroz

[CL 2685409 by Dan Oconnor in Main branch]
2015-09-09 17:11:11 -04:00
Marc Audy
6da868e057 Fix shadowed variable
#codereview Maciej.Mroz

[CL 2683496 by Marc Audy in Main branch]
2015-09-08 15:03:16 -04:00
Maciej Mroz
45e8455032 FConvertedBlueprintsDependencies - next iteration.
#codereview Robert.Manuszewski

[CL 2683056 by Maciej Mroz in Main branch]
2015-09-08 11:03:41 -04:00
Maciej Mroz
446c40f58e UEBP-40 C++ code generation (WIP):
- Refactor, Introduced function FEmitHelper::GetCppName

#codereview Dan.OConnor

[CL 2682851 by Maciej Mroz in Main branch]
2015-09-08 06:44:17 -04:00
Maciej Mroz
ac295f03eb UEBP-40 C++ code generation (WIP):
- improved (working) code for UMG Widgets
- various fixes

[CL 2682439 by Maciej Mroz in Main branch]
2015-09-07 09:39:56 -04:00
Maciej Mroz
6ce1610a00 Comments added
[CL 2681931 by Maciej Mroz in Main branch]
2015-09-06 09:15:57 -04:00
Maciej Mroz
bec08e1390 UEBP-40 C++ code generation (WIP):
- Gathering coverted class dependencies - fixed and refactored
- improved list of included headers and forward-declared structs

#codereview Mike.Beach

[CL 2681924 by Maciej Mroz in Main branch]
2015-09-06 07:59:37 -04:00
Marc Audy
041ef34cb0 Fix initialization order
#codereview Maciej.Mroz

[CL 2680611 by Marc Audy in Main branch]
2015-09-04 13:13:42 -04:00
Maciej Mroz
b5d265d7af UEBP-40 C++ code generation (WIP):
- Support for dynamically loaded native uclass object
- for classes that are forward-declared in header, there is a proper include in .cpp
- delegate declaration are moved into class scope

[CL 2680142 by Maciej Mroz in Main branch]
2015-09-04 07:50:42 -04:00
Maciej Mroz
ee57408e3f UEBP-40 C++ code generation (WIP):
- support for UMG (WIP)

[CL 2676673 by Maciej Mroz in Main branch]
2015-09-02 04:22:33 -04:00
Dan Oconnor
aa15c9d311 Object properties are now forward declared, this allows circularly dependent blueprints to compile
#codereview Maciej.Mroz

[CL 2674432 by Dan Oconnor in Main branch]
2015-08-31 14:52:42 -04:00
Maciej Mroz
d26ac8dcda UEBP-40 C++ code generation (WIP):
- Dependencies from CDO are collected

[CL 2673942 by Maciej Mroz in Main branch]
2015-08-31 06:45:02 -04:00
Phillip Kavan
3d5b4fe44b [UEBP-40] BP->C++ code generation (WiP) - First round of component-specific generated runtime code changes.
change summary:
- revised native class ctor init code gen for instanced default subobjects (DSOs)
- revised native class ctor init code gen for non-native components (SCS nodes)
- added support to bypass native class ctor init code gen for editor-only subobjects
- added support to fall back to creating a dummy UActorComponent/USceneComponent in the case of an editor-only subobject dependency
- added support for generating native class ctor code to set up the RootComponent property when there is not already a native root
- added support for populating the BlueprintCreatedComponents array at Actor construction time for generated BP native classes
- fixed some compile issues after generating native code and attempting to rebuild project code
- fixed a runtime issue with generated native ctor init code for UCS-added components

#codereview Maciej.Mroz

[CL 2673022 by Phillip Kavan in Main branch]
2015-08-28 16:40:29 -04:00
Dan Oconnor
f92cc1b470 Fix for EnumCppType failing to compile when passed an enum literal. Template type could not be deduced because of usual int/enum issues.
[CL 2671298 by Dan Oconnor in Main branch]
2015-08-27 15:03:31 -04:00
Maciej Mroz
fb4eac5733 UEBP-40 C++ code generation (WIP):
- Get Class Defaults is handled

[CL 2664426 by Maciej Mroz in Main branch]
2015-08-21 10:56:21 -04:00
Maciej Mroz
7979693c02 Early version of redirecting system for "Blueprints converted to C++".
It's supposed to be used while cooking to fix references to objects (BPGC, UDS, UDE), that where converted into a native code.
Converted items have "ReplaceConverted" meta data generated. The MD stores original object path (and all it's redirected paths).

#codereview Nick.Whiting, Mike.Beach, Robert.Manuszewski

[CL 2664247 by Maciej Mroz in Main branch]
2015-08-21 07:19:34 -04:00
Maciej Mroz
39145ac154 UEBP-40 C++ code generation (WIP):
- fixed #include list
- improved automatic casts
- temporary enum fix

[CL 2662599 by Maciej Mroz in Main branch]
2015-08-20 09:57:51 -04:00
Maciej Mroz
e622a3b05a Cis fix
[CL 2661168 by Maciej Mroz in Main branch]
2015-08-19 12:46:03 -04:00
Maciej Mroz
b6f839c61d UEBP-40 C++ code generation (WIP): generated items have "ReplaceConverted" meta data with the original path (and redirected paths).
[CL 2660934 by Maciej Mroz in Main branch]
2015-08-19 10:27:00 -04:00
Maciej Mroz
d47458045a typo fixed: Should in
ShoulsHandleAsImplementableEvent
ShoulsHandleAsNativeEvent

[CL 2659214 by Maciej Mroz in Main branch]
2015-08-18 09:51:49 -04:00
Maciej Mroz
94212b39e7 UEBP-40 C++ code generation (WIP):
- improved CustomThunk support
- MakeArray fix

[CL 2659156 by Maciej Mroz in Main branch]
2015-08-18 08:22:17 -04:00