Commit Graph

704 Commits

Author SHA1 Message Date
Dan Oconnor
d6625b676d Changes required to support unicode (or otherwise invalid) class names for blueprints converted to native types. We now add a postfix (__pf) to native types generated for blueprints. We also overwrite invalid symbols (ie, +, - or unicode characters) found in blueprint asset names. All dynamic classes now need to explicitly specify a name.
#codereview Maciej.Mroz

[CL 2708146 by Dan Oconnor in Main branch]
2015-09-28 14:27:23 -04:00
Maciej Mroz
760e728416 Basic support for unconverted BP.
- Native UProperties of an unconverted type, are replaced with properties of the first native type.
- support for Cast and DynamicCast
- various fixes

#codereview Mike.Beach, Robert.Manuszewski

[CL 2704010 by Maciej Mroz in Main branch]
2015-09-24 05:05:37 -04:00
Jamie Dale
c4db6b2cc6 Minimized FText allocations when generating text at runtime
FText used to always perform two allocations, one for the shared display string pointer, and another for the text history.

This change allows text that is generated at runtime (such as via FText::AsNumber) to allocate its string and history together in a single allocation. Profiling shows that this almost negates the cost of the text history, without having to remove the text history (which is essential for FText serialization).

This means that we never have to take the hit of a second allocation for text which is generated at runtime and never serialized. Should text that was generated at runtime be serialized, then it will call TGeneratedTextData::PersistText to perform the allocation of the shared display string pointer, and allow the text to be saved, gathered, and localized.

This change also removes some allocations from FTextHistory_Base and FFormatArgumentValue, makes the text history types fully movable, and allows you to move the arguments passed to FText::Format if you know you no longer need your own copy.

[CL 2702379 by Jamie Dale in Main branch]
2015-09-23 07:57:03 -04:00
Mike Beach
cbaccb49f8 (WIP) Blueprint conversion tool now generates its own Build.cs file (with the proper dependencies).
#codereview Dan.OConnor

[CL 2700997 by Mike Beach in Main branch]
2015-09-22 14:06:00 -04:00
Maciej Mroz
904ba4257f Added comments in SavePackage.cpp
[CL 2698745 by Maciej Mroz in Main branch]
2015-09-21 06:32:29 -04:00
Robert Manuszewski
96019a2060 Merging CL# 2696877
Merging FTlsObjectInitializers with FUObjectThreadcontext to avoid excessive TLS lookups.

[CL 2697827 by Robert Manuszewski in Main branch]
2015-09-18 16:50:08 -04:00
Maciej Mroz
c38d11436b New way of replacing old BPGC references with new (converted and native) DynamicClass references in Package::Save
#codereview Robert.Manuszewski, Mike.Beach

[CL 2696879 by Maciej Mroz in Main branch]
2015-09-18 07:41:43 -04:00
Andrew Rodham
bc7208c356 Added MovieSceneActor, overhauled UActorAnimationPlayer, and fixed Actor Animation object bindings
Lots of change in here:
 - Improved UActorAnimationPlayer functionality to include looping and play speed (UI needs polish)
 - Fixed actor object bindings not working in PIE. We now only store the object GUID (and an object path for a fallback), which can then be fixed up within a given context (UWorld for now).
 - Added UActorAnimationInstance which is responsible for managing bindings on a UActorAnimation. UActorAnimation itself is now pretty much just a data asset.
 - Levels are no longer responsible for ticking actor animations, this is now handled by the client (either AMovieSceneActor, or ticked automatically if created from a blueprint node)

[CL 2696822 by Andrew Rodham in Main branch]
2015-09-18 04:56:12 -04:00
Robert Manuszewski
a9debdf14c Removing unused SerializeRootSet
[CL 2694982 by Robert Manuszewski in Main branch]
2015-09-17 07:56:30 -04:00
Maciej Mroz
80bbe94e10 ConstructDynamicType works also when a type was saved as dynamic class.
#codereview Robert.Manuszewski

[CL 2694978 by Maciej Mroz in Main branch]
2015-09-17 07:46:40 -04:00
Maciej Mroz
2ab7ef4a33 Back out revision 222 from //depot/UE4/Engine/Source/Runtime/CoreUObject/Private/UObject/Obj.cpp
[CL 2687992 by Maciej Mroz in Main branch]
2015-09-11 11:03:12 -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
899a4c1e37 GetDynamicClassConstructFn fix
#codereview Robert.Manuszewski

[CL 2687732 by Maciej Mroz in Main branch]
2015-09-11 08:45:16 -04:00
Robert Manuszewski
776997161a Dynamic classes can now be constructed by their StaticClass() functions (no need to call ConstructDynamicType)
[CL 2687686 by Robert Manuszewski in Main branch]
2015-09-11 06:51:32 -04:00
Robert Manuszewski
2574402b25 Dynamic class fixes
[CL 2687675 by Robert Manuszewski in Main branch]
2015-09-11 06:03:48 -04:00
Robert Manuszewski
b2495cc856 De-templatizing GetPrivateStaticClassBody
[CL 2687674 by Robert Manuszewski in Main branch]
2015-09-11 06:03:23 -04:00
Maciej Mroz
baaf54f35b Dynamic Class InitializePrivateStaticClass fix
#codereview Robert.Manuszewski

[CL 2687664 by Maciej Mroz in Main branch]
2015-09-11 05:43:15 -04:00
Robert Manuszewski
f9c3143c7e Merging CL #2686175
Changing GetUObjectArray() -> GUObjectArray to avoid redundant function calls in places like weak pointers/GC/object iterators

[CL 2686461 by Robert Manuszewski in Main branch]
2015-09-10 11:58:41 -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
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
Mike Beach
85b644f104 [UE-20878] Ensuring that the parent CDO is FULLY serialized by the time we load the child's (handles cyclic dependency load scenarios where the super is in the midst of serializing its CDO, and in turn seeks to load a sub-class's CDO).
#codreview Nick.Whiting

[CL 2685029 by Mike Beach in Main branch]
2015-09-09 14:04:11 -04:00
Zak Middleton
b0ccf15046 #ue4 - Inline FSerialNumberManager::GetBlock()
--------
[AUTOMERGE] Integrated using branch ue4-to-UE4-orion (reversed) of change#2684899 by Zak.Middleton on 2015/09/09 13:06:31.

[CL 2684903 by Zak Middleton in Main branch]
2015-09-09 13:07:28 -04:00
Michael Noland
34a44e7cbf Core: Added support for tracking the total number of objects outside of WITH_EDITOR by defining UE_GC_TRACK_OBJ_AVAILABLE to 1
[INTEGRATE] Change 2684069 by Michael.Noland@mnoland-T2784-HDepot on 2015/09/08 21:44:59

[CL 2684085 by Michael Noland in Main branch]
2015-09-08 22:01:08 -04:00
Zak Middleton
04956b6ef1 #ue4 - Improved FWeakObjectPtr::Get() performance. Avoiding redundant work (namely multiple TUObjectArray accesses). Inlined some internal functions that were not being inlined. Removed some branches, especially in the common case when bEvenIfPendingKill=false.
--------
[AUTOMERGE] Integrated using branch ue4-to-ue4-orion (reversed) of change#2683567 by Zak.Middleton on 2015/09/08 15:43:38.

[CL 2683577 by Zak Middleton in Main branch]
2015-09-08 15:46:55 -04:00
Robert Manuszewski
536408e150 Adding UDynamicClass for dynamic UObject types
[CL 2683083 by Robert Manuszewski in Main branch]
2015-09-08 11:20:14 -04:00