Commit Graph

799 Commits

Author SHA1 Message Date
francis hurteau
771292f5bc Reintroduce changelist 20658217 backed out by 20659566
#rb trivial
[FYI] Marc.Audy, Tim.Smith
#preflight skip

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20674457 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20676097 by francis hurteau in ue5-main branch]
2022-06-15 16:00:38 -04:00
marc audy
485c4aef07 [Backout] - CL20658217
[FYI] francis.hurteau, tim.smith
Original CL Desc
-----------------------------------------------------------------
Put optional class check back to proper errors now that all misbehaving classes that leaked through are fixed

#rb trivial
[FYI] Tim.Smith
#preflight 62a8d9b8a43e20b293569f4b

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20655985 via CL 20658208 via CL 20658213 via CL 20659566
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20661627 by marc audy in ue5-main branch]
2022-06-14 20:24:18 -04:00
francis hurteau
900c109e31 Put optional class check back to proper errors now that all misbehaving classes that leaked through are fixed
#rb trivial
[FYI] Tim.Smith
#preflight 62a8d9b8a43e20b293569f4b

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20655985 via CL 20658208 via CL 20658213 via CL 20658217
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20661550 by francis hurteau in ue5-main branch]
2022-06-14 20:22:58 -04:00
robert manuszewski
686f9e5455 Changing CppStructOps registration code use struct path names instead of short names to allow identically named native structs to be registered
#rb Andrew.Scheidecker
#preflight 62a1c7beff06c1c98cc3701a

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20580224 via CL 20580249 via CL 20581193 via CL 20581751
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20585128 by robert manuszewski in ue5-main branch]
2022-06-09 17:24:44 -04:00
tim smith
88e8da552a Fixed issue with UHT script exporters where the signature function wasn't being set on multicast delegate properties.
#jira UE-155588
#rb devin.doucette
#preflight https://horde.devtools.epicgames.com/job/6298a182e809e387be2da8af

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 20491815 in //UE5/Release-5.0/... via CL 20492548
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495704 by tim smith in ue5-main branch]
2022-06-03 19:17:11 -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
Tim Smith
78d9b37bdf Fixed threading issue with editor only check on optional classes. Other objects can not be inspected until parsing has been completed.
#rb self
#rnx
#fyi francis.hurteau
#preflight 6290d808b974ae8eb040e58e

[CL 20392973 by Tim Smith in ue5-main branch]
2022-05-27 10:12:44 -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
francis hurteau
94281d5ef7 Expand the check for optional class not to allow editor only properties but also prevent struct properties from containing editor only properties
#rb Tim.Smith
#preflight 628d33376c4351e37291b959

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20370136 via CL 20371532 via CL 20371546 via CL 20371560
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20372798 by francis hurteau in ue5-main branch]
2022-05-25 18:38:47 -04:00
robert manuszewski
e579cfedf8 Removing debug code
#rb trivial
#preflight none

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20277682 via CL 20277694 via CL 20277695 via CL 20277698
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20278116 by robert manuszewski in ue5-main branch]
2022-05-19 06:58:42 -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
ben zeigler
da8766633c Fix issue where BP callable functions on native interfaces were incorrectly detected as invalid
This is fallout from fixing UE-99628, this check was missed when adding NotBlueprintable as a proper keyword
#rb phillip.kavan
#preflight 62759a302e58cb727d5c144f

[CL 20166884 by ben zeigler in ue5-main branch]
2022-05-12 13:09:35 -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
cfcec6c12e Fixing code generation for TFieldPath property UFunction params.
#preflight 625e4fce804460ab0ff01d20
#rb Tim.Smith, Patric.Laflamme
#jira none

[CL 19804573 by Robert Manuszewski in ue5-main branch]
2022-04-19 02:17:04 -04:00
Helge Mathee
074029cadc RigVM: Automatically mark up rig structs as blueprint type in the HeaderParser
#jira na
#rb sara.schvartzman
#preflight https://horde.devtools.epicgames.com/job/6257ef0bd606fd159eb75496

[CL 19752875 by Helge Mathee in ue5-main branch]
2022-04-14 06:09:20 -04:00
Thomas Sarkanen
98c834dfd7 Control rig and RigVM changes to allow for data interface prototype to be further developed
This removes some of the dependencies on UControlRigBlueprint and replaces them with 'host' interfaces for URigVMController and URigVMGraph.
Also adds support for TScriptInterfaces in RigVM. This includes a modification of the RigVM parts of UHT.
Some of these changes are due to be reworked later to allow RigVM-hosting systems to not have to be also implemented in terms of control rig.

#rb Helge.Mathee,Sara.Schvartzman
#fyi Helge.Mathee,Sara.Schvartzman
#preflight 624d857aa64871f1a11ef3f9

[CL 19645705 by Thomas Sarkanen in ue5-main branch]
2022-04-06 08:26:45 -04:00
Patrick Boutot
ac1b5333fa UHT: Support enum namespace as accessor type
#preflight 624732d2c61d8a458f615f71

[CL 19591307 by Patrick Boutot in ue5-main branch]
2022-04-01 13:25:05 -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
sara schvartzman
c7b0e74c59 Controlr Rig: UI implementation of Aggregate nodes
#jira UE-146928
#rb helge.mathee
#preflight https://horde.devtools.epicgames.com/job/62433ef7dc6183e3f5e500dc

[CL 19554694 by sara schvartzman in ue5-main branch]
2022-03-30 05:21:45 -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
Steve Robb
897dd170ab Replacement of DEPRECATED_MACRO with UE_DEPRECATED_MACRO.
#rb devin.doucette
#jira none
#preflight 623b225a7b69b01ec16118a7

[CL 19480377 by Steve Robb in ue5-main branch]
2022-03-23 12:07:25 -04:00
Patrick Boutot
2c45e14e5e UHT: Autogenerate the Getter/Setter accessor. The setter and getter can now also be UFunction. It allow some deprecation path.
#preflight 6239dbc5c73745c6009df1a1

[CL 19466367 by Patrick Boutot in ue5-main branch]
2022-03-22 10:39:00 -04:00