Commit Graph

346 Commits

Author SHA1 Message Date
tim smith
49998dfeff Fixing some UHT code generation issues to reduce obj size.
1) Functions added for LiveCoding have been removed and the data is now just a static.
2) Consolidated defered registration into a single routine.  This includes CppStructOps registration where every routine was over 100 bytes in length.
3) Removed the extra argument in function registration to avoid 7 bytes on windows
4) Fixed a typo in a macro name.

#b none
#rnx

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 17490728 via CL 17490835 via CL 17490836 via CL 17490837 via CL 17490838
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17490842 by tim smith in ue5-main branch]
2021-09-13 07:48:34 -04:00
Tim Smith
f7d3ecabb1 Added missing check for internal include directory.
#rb trivial
#rnx

[CL 17301841 by Tim Smith in ue5-main branch]
2021-08-25 09:48:14 -04:00
Andrew Davidson
f8eda1fd0b LWC support for FQuat and FTransform
Merge Dev-LargeWorldCoordinates @ 17289670

#preflight 6125fb6925057900014f2cd6

[CL 17300515 by Andrew Davidson in ue5-main branch]
2021-08-25 06:25:38 -04:00
aurel cordonnier
dc856801cd Merge from Release-Engine-Test @ 17059716 to UE5/Main
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17029914

[CL 17060422 by aurel cordonnier in ue5-main branch]
2021-08-04 17:46:20 -04:00
Tim Smith
9590f18a05 Added Internal directory support to UHT
#rb none
#rnx

[CL 17034854 by Tim Smith in ue5-main branch]
2021-08-03 14:22:17 -04:00
Helge Mathee
a5922199da Control Rig: RigVM Property Based storage support for sliced memory
#rb audit
#jira na

[CL 17008022 by Helge Mathee in ue5-main branch]
2021-07-30 14:28:53 -04:00
Tim Smith
3b200e11e2 Remove the usage of CLASS_Parsed and CLASS_CustomConstructor.
#rb none
#rnx
#jira UE-117144
#preflight 6102dbc84cd7930001bd626d

[CL 16998823 by Tim Smith in ue5-main branch]
2021-07-29 14:15:08 -04:00
Helge Mathee
414e76fb81 RigVM: Implementing support for new memory storage
All code is still based on the UE_RIGVM_UCLASS_BASED_STORAGE_DISABLED define, which is turned on.
So the feature / changes don't affect anything just yet.

#rb na
#fyi jack.cai halfdan.ingvarsson
#jira na

[CL 16970759 by Helge Mathee in ue5-main branch]
2021-07-27 13:59:20 -04:00
Jamie Dale
a0364ec584 Allow Cast to gracefully handle an interface instance that's not a UObject
This allows you to test whether a particular interface instance (implemented as a UInterface) has been implemented by a UObject, or whether it's been implemented by a standard C++ type. This is useful if you have an interface that _may_ be implemented by a UObject, but isn't required to be.

#rb Tim.Smith
#preflight 60fb64cd8fe7e0000143f3de

[CL 16954784 by Jamie Dale in ue5-main branch]
2021-07-26 07:57:20 -04:00
Tim Smith
156acc3bd6 Replacing the UClass::StaticRegistrationInfo method with a extern function that won't be exported from the DLL if the class is marked as exported.
#rb trivial
#rnx
#robomerge[fortnite] Dev-EngineMerge
#preflight 60fc2bc324804700014eda57

[CL 16949953 by Tim Smith in ue5-main branch]
2021-07-24 11:55:29 -04:00
Tim Smith
3fb2d29546 Removed the UScriptStruct _Hash() method from being marked as an exported API method. Reduces the number of exports.
#rb trivial
#rnx
#robomerge[fortnite] Dev-EngineMerge

[CL 16949693 by Tim Smith in ue5-main branch]
2021-07-24 10:13:00 -04:00
Tim Smith
4f079936c9 Fixed issue where UHT would crash if an exception is thrown in one of the code generation routines.
#rb trivial
#rnx

[CL 16940932 by Tim Smith in ue5-main branch]
2021-07-23 15:40:58 -04:00
Tim Smith
d296a56543 Fix issue where UHT was unable to generate functions with deprecated parameters.
#rb none
#rnx
#jira UE-87673
#jira UE-61906

[CL 16938132 by Tim Smith in ue5-main branch]
2021-07-23 12:01:46 -04:00
Tim Smith
94066f422d 1) Moved some string initialization to the parsing code so it can be run concurrently with all other parsing and not be applied to the post parsing time.
2) Improved the performance of the array dimension enum lookup code.
3) Moved type shutdown to be tracked in the app instead of at c++ exit time.
4) Changed to TSharedRef iteration to use references instead of by value to avoid the performance hit.

#rb none
#rnx

[CL 16936536 by Tim Smith in ue5-main branch]
2021-07-23 08:46:22 -04:00
Tim Smith
c21e577222 1) Make the creation of engine types not required for post parsing.
2) Don't create engine types unless a script plugin is found

#rb none
#rnx

[CL 16922516 by Tim Smith in ue5-main branch]
2021-07-22 08:54:18 -04:00
Tim Smith
11568b60b1 Remove the need for GetClass during code generation
#rb none
#rnx

[CL 16899911 by Tim Smith in ue5-main branch]
2021-07-20 14:55:20 -04:00
Tim Smith
a8ee5191bb Remove the need for GetFunction during code generation
#rb none
#rnx

[CL 16899287 by Tim Smith in ue5-main branch]
2021-07-20 14:22:09 -04:00
Tim Smith
3a23d86d61 Improved the detection of class methods. Resolves issue of incorrectly matching method names in comments.
#jira UE-85807
#rb none
#rnx

[CL 16886923 by Tim Smith in ue5-main branch]
2021-07-19 14:40:11 -04:00
Tim Smith
327490c46a Fixing issue with WRITEF/VERIFYREF where a duplicate file name would result in base verifications.
#rb none
#rnx
#preflight 60f5901694fcd00001e9619a

[CL 16884561 by Tim Smith in ue5-main branch]
2021-07-19 12:02:17 -04:00
Tim Smith
df37b074b1 Removed all lookups from UObjects to UHT definition objects.
#rb none
#rnx
#preflight 60eee3a9caf0590001975c94

[CL 16850095 by Tim Smith in ue5-main branch]
2021-07-14 10:49:06 -04:00
Tim Smith
8072fd1c14 Add the ability to disable concurrent parsing and code generation to make debugging a bit easier.
#rb none
#rnx
#preflight 60d225d3be81e80001879ecd

[CL 16747440 by Tim Smith in ue5-main branch]
2021-06-22 15:26:53 -04:00
Tim Smith
cfca999345 Removed the Class/Struct meta data class.
Fixed some API that were mistakenly setup as generic struct API instead of class API.
Removed some unused API.
No functional changes, just code reorg.

#rb none
#rnx
#preflight 60d08126d9586b0001ae3336

[CL 16727641 by Tim Smith in ue5-main branch]
2021-06-21 09:34:39 -04:00
Tim Smith
8590673019 Added support for a UEnum not containing a literal zero value. If that is the case, a static_assert is added to verify that one of the enum values is zero.
#rb jonathan.adamczewski
#jira UE-85060
#preflight 60cb726c78c3b00001297ce7

[CL 16706846 by Tim Smith in ue5-main branch]
2021-06-17 13:38:56 -04:00
Tim Smith
c21dd493c5 Fixed global delegate functions to support changes when doing live coding.
Fixed issue where changing a function signature in an interface wouldn't update nodes in a blueprint.
Changed the API of the deferred registry to be more inline with UE coding standards.

#rb ben.marsh phillip.kavan
#rnx
#jira UE-113662
#preflight 60c0c0fdc61264000190e16a

[CL 16606206 by Tim Smith in ue5-main branch]
2021-06-09 11:42:43 -04:00
Tim Smith
9072242c05 Modify propagation of some property flags to happen after all parsing is complete. This removes a hidden restriction where parse order beyond explicit includes affected the output.
Enable concurrent parsing of headers.
Fixing uninitialized variable from prior submit.

Tested by running UHT on a sample large scale game 1000 times and verifying the output matched with a prior version of UHT.

#rb jonathan.adamczewski
#rnx
#preflight 60be0b3a0249c30001e9b0e5

[CL 16568873 by Tim Smith in ue5-main branch]
2021-06-07 08:08:33 -04:00