Commit Graph

414 Commits

Author SHA1 Message Date
henrik karlsson
19e2368228 [UHT]
* Fixed so dll export is added to GetLifetimeReplicatedProps
* Fixed so UFUNCTION that produce _Validate function adds dll export if class is not dll exported but function is

#preflight 632a522cb40000c8f099fccb
#rb Tim.Smith

[CL 22110139 by henrik karlsson in ue5-main branch]
2022-09-21 07:33:55 -04:00
Devin Doucette
af02fca022 Fixed unsafe type casts in UHT
#preflight 630d013af92416fb926b3c7a
#rb Bryan.Sefcik
#rnx

[CL 21686635 by Devin Doucette in ue5-main branch]
2022-08-29 15:56:30 -04:00
tim smith
84d854bb90 Updated C# UHT with the destructor changes and making a minor fix to the formatting.
#rb self
#preflight 6307a3632a56ec23c843da3b

[CL 21585155 by tim smith in ue5-main branch]
2022-08-26 01:46:39 -04:00
henrik karlsson
213a68824f * UnrealHeaderTool - Fixed so destructor is declared and defined for code gen classes
* UnrealTypeDefinitionInfo - Explicitly added destructor to make sure code gen is not adding.
* Niagra - Fixed bug where function was declared as non-inline virtual but implemented as inline.
* RecastNavmesh - Made sure destructor is outside #ifdef for UHT to more easily parse the header and generate proper code

#rb Tim.Smith
#preflight 630660a4c00af5e2946af6a6

[CL 21555810 by henrik karlsson in ue5-main branch]
2022-08-24 19:22:18 -04:00
Tim Smith
8480a2d1a1 CoreNet.h will now be automatically included when needed.
#rb self
#jira UE-160243
#preflight 62fcee9787319bacfb0bc705

[CL 21424404 by Tim Smith in ue5-main branch]
2022-08-17 09:50:12 -04:00
bryan sefcik
751e38e8c8 Updated to use FUnrealFunctionDefinitionInfo instead of FUnrealStructDefinitionInfo.
#JIRA

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21394592 via CL 21396515 via CL 21396869
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21399908 by bryan sefcik in ue5-main branch]
2022-08-15 21:51:42 -04:00
bryan sefcik
23a1f3d430 Fixed Linux compile issue.
#JIRA

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21393745 via CL 21396338 via CL 21396841
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21399892 by bryan sefcik in ue5-main branch]
2022-08-15 21:51:03 -04:00
bryan sefcik
55ded5e984 Fixed an issue where the generated cpp files weren't including all the needed headers. It relied on the original header that generated the cpp to include all the headers which is a problem because the header could forward declare the types.
#JIRA
#preflight 62fa903bae3edb54c9a08b6e

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21392760 via CL 21396083 via CL 21396090
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21399837 by bryan sefcik in ue5-main branch]
2022-08-15 21:49:10 -04:00
Tim Smith
85b6fe8042 Fixed comment to read TEnumAsByte instead of TByteAsEnum
#rb self
#rnx
#preflight 62f16916b2073af17a47ec87

[CL 21274785 by Tim Smith in ue5-main branch]
2022-08-08 16:20:35 -04:00
Tim Smith
6ca5aa1449 Temporary work around to having TEnumAsBytes passed into property Setter function when it expects the actual enum value.
#rb Daren.Cheng, Patrick.Boutot
#jira FORT-493770
#rnx
#robomerge FNMain
#preflight 62d99972c0180d8071489e9b

[CL 21205364 by Tim Smith in ue5-main branch]
2022-07-21 14:36:13 -04:00
bryan sefcik
e73e4b4d67 Updated UHT to output all the circular dependencies before exiting.
#jira

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21195860 via CL 21195874 via CL 21195883
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21196949 by bryan sefcik in ue5-main branch]
2022-07-20 21:52:44 -04:00
Peter Engstrom
4aae8d3ed0 Iris experimental replication system.
Initial submit, compiled out by default.

#rb Peter.Engstrom,Mattias.Hornlund,Brian.Bekich,Ryan.Gerleve,John.Barrett
#jira UE-158381
#preflight /62cd6fc7ad490b52da0515a3

[CL 21068370 by Peter Engstrom in ue5-main branch]
2022-07-13 03:11:55 -04:00
Tim Smith
1f11b428c6 1) Fixed issue where UPARAM wasn't getting parsed as part of a template argument property type
2) Refactored how property specifiers are parsed due to above issue
3) Fixed issue where UClass derived types were not outputting correctly in event parameter lists
4) Added more diagnostic output to package files.

#rb self
#rnx
#robomerge emt
#preflight 62b5b9c548183a59a576eaf8

[CL 20808450 by Tim Smith in ue5-main branch]
2022-06-24 09:27:13 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
George Rolfe
1733b33a3f Added TIsUEnumClass trait with UHT integration
#jira none
#rb tim.smith
#rb steve.robb
#preflight 6290bb1c1f0041249bec1f57

[CL 20391947 by George Rolfe in ue5-main branch]
2022-05-27 08:28:20 -04:00
daren cheng
e9549e929b Modify MVVM code generation to include module _API declarations.
By Patrick.Boutot.

#jira UE-149304
#preflight 627ec564d302e2cec852e3b5
#rb Daren.Cheng
[FYI] Patrick.Boutot

#ROBOMERGE-OWNER: daren.cheng
#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 20192647 via CL 20193234 via CL 20193246 via CL 20193249
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20193488 by daren cheng in ue5-main branch]
2022-05-14 00:09:48 -04:00
Marc Audy
2a6c695a32 Fix UHT static analysis warnings
#codereview Tim.Smith
#rnx
#preflight

[CL 20034484 by Marc Audy in ue5-main branch]
2022-05-03 19:02:58 -04:00
robert manuszewski
7d16318fbc Much cleaner way of copying arrays for static array getters
#preflight 62434779637925b5d3aac01b
#rb Steve.Robb

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19546962 via CL 19548071 via CL 19548432 via CL 19548533
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19560903 by robert manuszewski in ue5-main branch]
2022-03-30 14:17:23 -04:00
Devin Doucette
292008ea35 Logging: Replaced GLog->PanicFlush() with GLog->Panic()
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.

#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer

[CL 19545093 by Devin Doucette in ue5-main branch]
2022-03-29 13:31:48 -04:00
robert manuszewski
64305a4b12 Fixing static array properties with setters and getters not generating correct wrapper code
#rb Tim.Smith
#preflight 624307e5c51908059a979885

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19541948 via CL 19543263 via CL 19543382 via CL 19543410
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19544439 by robert manuszewski in ue5-main branch]
2022-03-29 12:56:22 -04:00
Helge Mathee
b25ed0b41f UnrealHeaderTool: Pass public rigvm context as const
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/6242e392df7d23dbfee885be

[CL 19540232 by Helge Mathee in ue5-main branch]
2022-03-29 06:53:29 -04:00
Helge Mathee
0f8ad1961b RigVM: Add introspection on function arguments
#rb sara.schvartzman
#jira na
#preflight https://horde.devtools.epicgames.com/job/623b474288538cd45e13f706

[CL 19524405 by Helge Mathee in ue5-main branch]
2022-03-28 03:57:53 -04:00
halfdan ingvarsson
3bedaa8ad2 Control Rig: Remove access to private arguments of RigVMExecuteContext from RigVMUnits
#jira UE-145726
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/622f6b38223365469e3aad16

#ROBOMERGE-OWNER: halfdan.ingvarsson
#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 19383990 via CL 19384158 via CL 19385686 via CL 19397234 via CL 19397255
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403001 by halfdan ingvarsson in ue5-main branch]
2022-03-16 03:25:47 -04:00
Patrick Boutot
1e4c3973db UHT: Add FieldNotify specifier to UHT. It auto generate the UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR and UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR macro. FieldNotify is only available on FProperty and UFunction member of a UCLass and if the UClass implement the INotifyFieldValueChanged interface.
#preflight 622f43d419287beb2c316755

[CL 19372159 by Patrick Boutot in ue5-main branch]
2022-03-14 09:47:28 -04:00
Tim Smith
3044817c8b Deprecate CLASS_NoExport. It was only being used by UHT.
#rb trivial
#rnx
#jira UE-117144
#preflight 622f32e80a342dea04e2face

[CL 19371725 by Tim Smith in ue5-main branch]
2022-03-14 08:36:12 -04:00