Commit Graph

118 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
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
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
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
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
Helge Mathee
b9150e2620 Control Rig: Support for preferred euler angles
- Removed implicit casts between FEulerTransform and FTransform
- moved interrogator and tokens inside of sequencer to use FEulerTransform
- added the notion of a preferred rotator for Controls. transform takes precedence for runtime solves, but UI / sequencer relies on the preferred rotator

#rb mike.zyracki benoit.gadreau
#jira UE-150830
#preflight https://horde.devtools.epicgames.com/job/62875a58286cf1867a419989

[CL 20298666 by Helge Mathee in ue5-main branch]
2022-05-20 13:48:08 -04:00
Mike Zyracki
b11fdc0e4d Sequencer: Control Rig: Very small drags will cause all controls to get selected to do frustum hit testing, so we check for this and then bail if that's the case. Also suport Only Select Control Rig Controls with marquee selection.
#jira UE-152902
#trivial
#rb na
#preflight 6286962ede1a1cd4a199153d

[CL 20286836 by Mike Zyracki in ue5-main branch]
2022-05-19 16:20:59 -04:00
Helge Mathee
6a30bfb40a Control Rig Details: Fixed copy & paste bug
#rb na
#jira na
#preflight skip
#fyi benoit.gadreau

[CL 20278194 by Helge Mathee in ue5-main branch]
2022-05-19 07:07:19 -04:00
Helge Mathee
ec9f190037 Control Rig: Guard timed TFunction with weakptr
#rb benoit.gadreau
#jira na
#preflight https://horde.devtools.epicgames.com/job/62861d842b53e2be4c8f4f48

[CL 20278140 by Helge Mathee in ue5-main branch]
2022-05-19 07:02:07 -04:00
Helge Mathee
221a5e94f8 ControlRig: Fix copy & paste issue in FControlRigEditMode::UpdateSelectabilityOnSkeletalMeshes
#rb na
#jira na
#preflight skip

[CL 20277418 by Helge Mathee in ue5-main branch]
2022-05-19 04:43:56 -04:00
Mike Zyracki
a8e2568549 Sequencer: Control Rig: Couldn't update a pose, multiple control rig fallout yet again.
#jira UE-152898
#rb na
#preflight 62857b86f239239af6b9f607
#rivial

[CL 20271564 by Mike Zyracki in ue5-main branch]
2022-05-18 19:47:44 -04:00
Helge Mathee
d6557587f4 Control Rig: XRay mode
#rb sara.schvartzman
#jira UE-134382
#preflight https://horde.devtools.epicgames.com/job/6284d278925bbe69dfccefa9

[CL 20260704 by Helge Mathee in ue5-main branch]
2022-05-18 10:19:44 -04:00
Mike Zyracki
624d0c042e Sequencer:Control Rig: Support indirect manip with CTRL drags with control rig objects.
#jira UE-150016
#preflight 6283eb564e3a70ba0b160fdc
#rb max.chen

[CL 20250746 by Mike Zyracki in ue5-main branch]
2022-05-17 17:01:53 -04:00
Helge Mathee
540c777d87 Control Rig: Enable auto key for proxy controls
#rb sara.schvartzman
#jira UE-151744
#preflight https://horde.devtools.epicgames.com/job/6283771e44349a6581e8dc58

[CL 20240426 by Helge Mathee in ue5-main branch]
2022-05-17 06:40:00 -04:00
Mike Zyracki
3ef09d6afb Sequencer: Control Rig: Added the missing orbit around selection behavior for control rig objects.
#jira UE-152467
#preflight 628319bd0b68afa14c7b6d40
#rb max.chen

[CL 20238388 by Mike Zyracki in ue5-main branch]
2022-05-17 00:01:53 -04:00
benoit gadreau
77439b7338 Constraints in Sequencer experiments
#jira UE-140598
#rb mike.zyracki
#fyi chase.cooper
#preflight 62820966fa65e101e5ca23b9

This is a first prototype of a constraints manager system.

note: have a look at the jira description for the features leading this work

The current design is based on the idea of having a unique constraint manager that stores several constraints (UTickableConstraint).
Each constraint holds a tick function (FConstraintTickFunction) that can register one or several functions (represented by a basic TFunction) that are evaluated when calling
the FConstraintTickFunction::ExecuteTick function. This FConstraintTickFunction can basically represent anything.

[CL 20221291 by benoit gadreau in ue5-main branch]
2022-05-16 04:56:23 -04:00
Helge Mathee
7043fdb057 Control Rig: Interaction Event improvements
Enable debug drawing during interaction
Reset proxy controls - but don't interact on them during Ctrl-Shift-G

#rb benoit.gadreau
#jira UE-151692 UE-151684 UE-133381
#preflight https://horde.devtools.epicgames.com/job/627e5ed41748fbc85bb1f965

[CL 20180607 by Helge Mathee in ue5-main branch]
2022-05-13 09:47:20 -04:00
Helge Mathee
013fc26923 Control Rig Animation Outliner - Catch nullptr
#rb sara.schvartzman
#jira UE-151556
#preflight skip

[CL 20163162 by Helge Mathee in ue5-main branch]
2022-05-12 07:48:36 -04:00
Helge Mathee
6fc55d4cb9 ControlRig: Improve Control Rig outliner for FKControlRig
#rb benoit.gadreau
#jira na
#preflight https://horde.devtools.epicgames.com/job/627cc06cd943974fe933de94

[CL 20162094 by Helge Mathee in ue5-main branch]
2022-05-12 04:49:14 -04:00
Mike Zyracki
d9283e9fc9 Control Rig: Space Switching: Baking borked from multiple control rigs, need to make sure to use the right control rig and hierarchy.
#jira  UE-151702
#rb na
#trivial
#preflight 627c2c627535c51f4c93999a

[CL 20151935 by Mike Zyracki in ue5-main branch]
2022-05-11 18:20:28 -04:00
Helge Mathee
af4d3cb9e3 Control Rig: Proxy control support
#preflight https://horde.devtools.epicgames.com/job/627b92c10a5817c9d93f5da6
#jira na
#rb sara.schvartzman benoit.gadreau

[CL 20136941 by Helge Mathee in ue5-main branch]
2022-05-11 08:12:21 -04:00
lauren barnes
ae96704e9c Removing EditorStyleSet.h includes
#rb trivial

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20080050 via CL 20080336
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106472 by lauren barnes in ue5-main branch]
2022-05-09 13:56:34 -04:00
lauren barnes
4b82e918fa Replacing legacy EditorStyle calls with AppStyle
#rb header and class name replacement

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20078276 via CL 20078825
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106316 by lauren barnes in ue5-main branch]
2022-05-09 13:51:26 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00