Commit Graph

1122 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
e01cf0ce22 Sequencer: Collapsed sections will only show filtered keys, only add keys onto the filtered areas, will only delete keys onto filtered areas, will cut and copy onto the filtered areas, and will step to next/previous only on filtered keys.
#jira  UE-152814
#rb max.chen
#preflight 62900c940336e9efd9d125ca

[CL 20396051 by Mike Zyracki in ue5-main branch]
2022-05-27 13:59:40 -04:00
Max Chen
b08eaf1051 Sequencer: Don't select folder descendants when retrieving key areas. This ends up selecting all the control rig controls when you select a folder.
#jira UE-154161
#preflight 628f17daf622d972b5b6cc03
#rb mike.zyracki

[CL 20379966 by Max Chen in ue5-main branch]
2022-05-26 11:40:41 -04:00
Max Chen
e0999a36d1 Sequencer: Fix view range when getting the mouse position with the context menu
#jira UE-154164
#rb matt.hoffman
#preflight 628f1df69a2b52f7c70efbbd

[CL 20379938 by Max Chen in ue5-main branch]
2022-05-26 11:39:33 -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
Max Chen
7f72686748 Sequencer: Curve Editor: Curve Editor Sync Isse with Filter
Since Selection ticks before any filter is applied and the curve editor tree is udpated in FSequencer::Tick we need to sync the curve editor on the next tick so the filter is applied first, otherwise the curve tree hierarchy won't be up to date and the curve may not be found.
#jira UE-145538
#preflight 628f1aacf622d972b5b77f17

[CL 20379907 by Max Chen in ue5-main branch]
2022-05-26 11:36:48 -04:00
Max Chen
6e135b118e Sequencer: Added option to show/hide the status bar
#jira none
#preflight 628866e4585e8f793ee80943
#rb ludovic.chabant

[CL 20369057 by Max Chen in ue5-main branch]
2022-05-25 14:29:26 -04:00
Max Chen
42895974a2 Sequencer: Info column cleanups - header text and tooltip
#rb none
#jira none
#preflight 628866e4585e8f793ee80943

[CL 20369035 by Max Chen in ue5-main branch]
2022-05-25 14:28:39 -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
Max Chen
c533a715c0 Sequencer: Only clamp to view range when scrubbing. Otherwise setting the time from shortcuts which call into the time slider controller get clamped to the view range.
#jira UE-153961
#preflight 628d3548af76b78af54d4550
#rb matt.hoffman

[CL 20354351 by Max Chen in ue5-main branch]
2022-05-24 15:55:05 -04:00
Richard Malo
223c790fef ActorFolder Improvements :
- Optimized FFolder resolving to UActorFolder : now uses and maintains an acceleration table
- Favor creation of FFolder using ActorFolderGuid when available
- FFolder creation now always passes a Root Object to facilitate Root Object ptr resolving (even when it's the main world)
- Fixed Duplicate Hierarchy when using Actor Folders and target level is different
- Fixed copy/paste actor from Persistent to LevelInstance not loosing actor folder
- Fixed mark for delete of an Actor Folder that could generate duplicates
- Modified fix of duplicate Actor Folders in a level : instead of renaming duplicates, mark for delete all duplicates except one and redirect children to the one we keep

#jira UE-150566
#rb patrick.enfedaque, jeanfrancois.dube
#preflight 6284101f486700b561a555ff

[CL 20346124 by Richard Malo in ue5-main branch]
2022-05-24 06:58:06 -04:00
max chen
7f38066285 Sequencer/Valkyrie: Apply asset filters to asset pickers and drag and drop.
A private asset in a plugin can be seen and drag dropped into by a private asset in the same plugin. But a private asset cannot be referenced from another plugin.

#rb scott.nelson
#preflight 628721b30a57b0f54587500f

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 20337948 via CL 20339634 via CL 20339811 via CL 20339960
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20341224 by max chen in ue5-main branch]
2022-05-23 19:09:30 -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
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
max chen
78a0d65d90 Sequencer/Valkyrie: Disable media track, livelink track, gameplay cue track, template sequence track.
Disable event track and live link filters

Fix SupportsSequence logic so that track editors can't just blindly support a track if it's a level sequence. If it doesn't pass the permissions, the track is not supported

#preflight 62857944f239239af6b9c6be
#rb andrew.rodham

#ROBOMERGE-OWNER: max.chen
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 20283972 via CL 20284129 via CL 20284318 via CL 20284323
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20304670 by max chen in ue5-main branch]
2022-05-20 18:44:58 -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
Max Chen
d33ec8a450 Sequencer: Fix input handling
#jira UE-152674
#preflight 6283c7d218591b86df944fd7
#rb mike.zyracki

[CL 20245433 by Max Chen in ue5-main branch]
2022-05-17 12:38:25 -04:00
Max Chen
74b28384e6 Fix CIS
#jira UE-152665
#fyi mike.zyracki
#rb mike.zyracki
#preflight 6283b8baed2c0847b0417c7d

[CL 20244014 by Max Chen in ue5-main branch]
2022-05-17 11:28:59 -04:00
Mike Zyracki
491ba3ecff Sequencer: Add editor preference to do drag selection on left mouse click. Added new class to the ed mode to handle the needed drag behavior and then get it created when needed.
#jira UE-151456
#preflight 628319bd0b68afa14c7b6d40
#rb max.chen

[CL 20238438 by Mike Zyracki in ue5-main branch]
2022-05-17 00:03:38 -04:00
Matt Hoffman
bef62de6b4 Sequencer: Fixed Tick Resolution migration code not successfully migrating locked sections, and not migrating Marked Frames. This also adds the ability to recursively apply the time migration to all child sequences, which was the user-expected behavior and enables mass time migration for a sequence.
#jira UE-151835
#preflight 627ea75b631ab437050dc530
#rb Max.Chen

[CL 20186446 by Matt Hoffman in ue5-main branch]
2022-05-13 15:02:56 -04:00
Helge Mathee
83772fe84a Control Rig: Fix animation channel parenting + cross selection
#rb michael.zyracki
#jira UE-151739
#preflight https://horde.devtools.epicgames.com/job/627cf1664a05ef0394b8ce48

[CL 20167742 by Helge Mathee in ue5-main branch]
2022-05-12 14:04:45 -04:00
danny chapman
70983abb8b Expose functionality needed for caching, plus a few extra guards
#rb Mike.Zyracki
#preflight 627c34efce4192efbef053f0

[CL 20152205 by danny chapman in ue5-main branch]
2022-05-11 18:29:51 -04:00
juan canada
bc737fbb9c Moving Sequencer command registration to post engine init
#jira UE-151480
#rb Max.Chen
#preflight 627a786fd847d5f149e19092

#ushell-cherrypick of 20124100 by Lauren.Barnes

#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 20124815 via CL 20124822 via CL 20126239 via CL 20126517
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20129520 by juan canada in ue5-main branch]
2022-05-10 17:03:30 -04:00
Mike Zyracki
601fe810f0 Sequencer: Added IgnoreFitlersWhenCollapsed setting so if a section is collapsed and there is a filter, it will only show or key filtered key areas when that flag is false.
Defaults to true to keep existing behavior.
#jira UE-150016
#preflight 62755e97491d570f224aceca
#rb max.chen

[CL 20112933 by Mike Zyracki in ue5-main branch]
2022-05-09 18:23:13 -04:00