Commit Graph

854 Commits

Author SHA1 Message Date
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
benoit gadreau
34f893a672 reset hierachy when disactivating the dialog window as we don't need to update the widget anymore
#jira UE-153943
#rb helge.mathee
#preflight 6294e89891004dd61c80ae98

#ROBOMERGE-AUTHOR: benoit.gadreau
#ROBOMERGE-SOURCE: CL 20434814 in //UE5/Release-5.0/... via CL 20435029
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448478 by benoit gadreau in ue5-main branch]
2022-06-01 03:45:43 -04:00
Mike Zyracki
8202bf72fd Sequencer: Space Switches, Baking fix again, error got wiped over.
#jira UE-148929
#rb na
#trivial
#preflight 629672eb88749bbb83a2ccf9

[CL 20444215 by Mike Zyracki in ue5-main branch]
2022-05-31 19:02:12 -04:00
jack cai
e8f38eb3ea ControlRig: Reverted a previous change that parented rigvm memory objects to the ControlRigBP asset object because the engine no longer supports uobject as uclass outer, only upackage can be the outer of an uclass.
Also added UControlRigBlueprint::GetPreloadDependencies to ensure memory classes are loaded before ControlRigBP during cooking.

#jira UE-152546
#rb helge.mathee sara.schvartzman halfdan.ingvarsson
#fyi benoit.gadreau
#preflight https://horde.devtools.epicgames.com/job/62945fd71154108e88cc4c35

[CL 20442350 by jack cai in ue5-main branch]
2022-05-31 16:55:43 -04:00
Helge Mathee
40dbac202b RigVM: Restructure entry invocation for nativized VMs
#rb sara.schvartzman
#jira UE-153498
#preflight https://horde.devtools.epicgames.com/job/62962b08fe779f23c8e4d093

[CL 20441428 by Helge Mathee in ue5-main branch]
2022-05-31 16:18:09 -04:00
Mike Zyracki
3cd3e1b510 Sequencer: Snapper: Clear snapper objects when sub sequence changes
#jira UE-155284
#rb na
#preflight 6296614e88749bbb839e727c
#trivial

[CL 20440506 by Mike Zyracki in ue5-main branch]
2022-05-31 15:18:54 -04:00
Helge Mathee
0e6bdb6dd5 Control Rig: Maintain skip flag for selection once it's been set
#rb na
#jira UE-154076
#preflight skip

[CL 20435604 by Helge Mathee in ue5-main branch]
2022-05-31 07:53:00 -04:00
Helge Mathee
326b9eae88 Control Rig: Rename update and inverse to forwards and backwards solve
#rb sara.schvartzman
#jira UE-153498
#preflight https://horde.devtools.epicgames.com/job/6295fd1b95336ad2bfb015f4

[CL 20435454 by Helge Mathee in ue5-main branch]
2022-05-31 07:41:10 -04:00
benoit gadreau
0465f116f8 Constraints in Sequencer : Improved constraints baking and properties changes
#jira none
#rb none
#preflight 6295df42d57da28cc8ef4f14

[CL 20435145 by benoit gadreau in ue5-main branch]
2022-05-31 06:23:44 -04:00
Helge Mathee
6520c809a9 Control Rig: backend work for support for multi graph
#rb benoit.gadreau
#jira UE-153497
#preflight https://horde.devtools.epicgames.com/job/6294be4e2e34c2e487b13394

[CL 20434781 by Helge Mathee in ue5-main branch]
2022-05-31 04:27:20 -04:00
benoit gadreau
3f70fd88dc Fixed use of possible null struct
note: nodes register a FPerClassInfo with a null ScriptStruct

#jira UE-155163
#rb helge.mathee
#preflight 6294a5cce460377418dd6238

[CL 20429818 by benoit gadreau in ue5-main branch]
2022-05-30 07:23:46 -04:00
Mike Zyracki
b3b9087f35 Control Rig: Space Switching: Bring back space switching fix for multi control rigs. This got removed by mistake by a Constraint submission CL 20221291
#fyi benoit.gadreau
#jira UE-148929
#jira UE-152919
#rb na
#preflight 62900c940336e9efd9d125ca

[CL 20387890 by Mike Zyracki in ue5-main branch]
2022-05-26 19:39:46 -04:00
mike zyracki
5a634dd83a Sequencer: Anim Tools: Don't enter pivot mode if the ed mode isn't valid, can cause issues the tools framework, including subsequent ensures and bad states.
#jira UE-150727
#preflight 626c3a9cce3959ce8feaef03
#lockdown laurent.delayen
#rb max.chen

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 20383070 in //UE5/Release-5.0/... via CL 20384116
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20386409 by mike zyracki in ue5-main branch]
2022-05-26 17:57:19 -04:00
mike zyracki
8794ef7b9e Sequencer: Anim Tools: Most new anim tools, pivot, motion trails, etc.. don't work in sub sequences, times could be wrong and even worse bindings not found since not using the root to local transform to calculate time correctly.
#jira UE-149316
#rb max.chen
#preflight 62827fc2734d065770304796
#lockdown laurent.delayen

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 20383029 in //UE5/Release-5.0/... via CL 20384102
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20386404 by mike zyracki in ue5-main branch]
2022-05-26 17:57:03 -04:00
Leon Huang
19877e39c5 Fix for duplicate localization key warnings and missing localization defines/undefines in various files.
#rnx
#rb: Vincent.Gauthier
#jira: UE-151614
#preflight: 628fc4a98c23e52ef0fdfa7d

[CL 20384450 by Leon Huang in ue5-main branch]
2022-05-26 16:11:10 -04:00
Max Chen
5564455761 Sequencer: Follow up to filter commands - Add binding counts to track filter commands since they could be destroyed after a new track filter is generated
#jira UE-152932
#rb mike.zyracki
#preflight 628f1df69a2b52f7c70efbbd

[CL 20379912 by Max Chen in ue5-main branch]
2022-05-26 11:37:41 -04:00
jack cai
b08f5d8519 ControlRig Component: Use tick prerequistie to ensure mapped mesh components tick after the control rig component to avoid double ticking the SKM componet in the CR component. It was causing motion vectors to be zeroed and rendering artifacts with TSR/MotionBlur
#jira UE-153914
#rb helge.mathee sara.schvartzman
#preflight https://horde.devtools.epicgames.com/job/628dcdf12f2409bc1e1141bd

[CL 20367722 by jack cai in ue5-main branch]
2022-05-25 13:27:34 -04:00
Max Chen
1a68478712 Sequencer: Follow up to expose bind filter commands to curve editor bindings
#jira UE-152932
#rb mike.zyracki
#preflight 628da2d22f2409bc1e0bd118

[CL 20367362 by Max Chen in ue5-main branch]
2022-05-25 13:05:21 -04:00
Max Chen
0167d4ea0f Sequencer: MVVM2 branch and Layer Bars
Copying //Tasks/UE5/Dev-SequencerMVVM2 to Main (//UE5/Main) @20364093

#preflight 628866dfb94f739b152c1e29
#preflight 628866e4585e8f793ee80943
#rb ludovic.chabant, andrew.rodham
#fyi ludovic.chabant, andrew.rodham, andrew.porter
#jira UE-105322

[CL 20364493 by Max Chen in ue5-main branch]
2022-05-25 10:39:33 -04:00
benoit gadreau
4c316a8724 Reset bake settings
#jira UE-153952
#rb helge.mathee
#preflight 628e07f5af7a2e956bb635ee

[CL 20362518 by benoit gadreau in ue5-main branch]
2022-05-25 07:49:41 -04:00
benoit gadreau
089d1d8ab0 Constraints in Sequencer:
Exposed basic constraints properties (via the contextual menu)
Added a basic baking process (via the contextual menu) factorizing code with the snapper when possible.

todo:
    - factorize the controls' snapping process to use the BakingHelper interface
    - create a better UI for the baker to stick to the design (currently via a contextual menu) and handle both frame range and constraint's active state animation

#jira UE-140598
#rb mike.zyracki
#preflight 628dec29415c65b96ad88d29

[CL 20361614 by benoit gadreau in ue5-main branch]
2022-05-25 05:04:16 -04:00
max chen
482d3778f8 Sequencer/Valykrie: More asset filter permissions
#rb scott.nelson
#preflight 628d69022f2409bc1e01f612

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 20358898 via CL 20358911 via CL 20360271 via CL 20360327
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20360691 by max chen in ue5-main branch]
2022-05-25 02:13:28 -04:00
Mike Zyracki
a801b60f40 Control Rig: Sequencer: For Proxy controls make sure we don't key or evaluate them.
#jira UE-153572
#preflight 628d63179263ba4bef03c50e
#rb max.chen

[CL 20358193 by Mike Zyracki in ue5-main branch]
2022-05-24 19:28:19 -04:00
Max Chen
9641da698b Sequencer: Add commands for control rig controls and control rig selected controls filters. Add command for reset filters
#jira UE-152932
#preflight 6288303e9b098f854176677b
#mike.zyracki

[CL 20335605 by Max Chen in ue5-main branch]
2022-05-23 15:34:04 -04:00
Helge Mathee
8b4ba15157 Control Rig: Remove notion of recursive propagation
* Fix missing propagation during RetainLocalTransform

#rb benoit.gadreau
#jira UE-153098
#preflight https://horde.devtools.epicgames.com/job/628b4c088525f43d736c6f1c

[CL 20320696 by Helge Mathee in ue5-main branch]
2022-05-23 05:10:27 -04:00