Commit Graph

275 Commits

Author SHA1 Message Date
henrik karlsson
c74a069ae5 Fixed non-unity/pch compile errors caused by header removals in engine
#rb none
#jira none
#preflight skipped

[CL 22971200 by henrik karlsson in ue5-main branch]
2022-11-03 19:39:18 -04:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
Max Chen
f57db3e0fa Sequencer: Remove Master from Sequencer
- Remove all instances of Master from the UI - ie. Replace Create Master Sequence with Create Sequence with Shots
- Internally, remove Master - Master Tracks in the MovieScene can just be Tracks

Deprecations (Properties):
- UMovieScene:MasterTracks deprecated for Tracks
- UMovieSceneFolder:ChildMasterTracks deprecated for ChildTracks
- FLevelSequencePlayerSnapshot: MasterName, MasterTime for RootName, RootTime
- UMoviePipelineSetting_BlueprintBase: bIsValidOnMaster for bIsValidOnPrimary

Deprecations (Functions):
- UMovieScene: GetMasterTracks, FindMasterTracksByType, FindMasterTracksByExactType, AddMasterTrack, RemoveMasterTrack deprecated for GetTracks, FindTracksByType, FindTracksByExactType, AddTrack, RemoveTrack
- UMovieSceneFolder: GetChildMasterTracks, AddChildMasterTrack, RemoveChildMasterTrack deprecated for GetChildTracks, AddChildTracks, RemoveChildTrack
- FMovieSceneTrackEditor: FFindOrCreateMasterTrackResult, FindOrCreateMasterTrack deprecated for FindOrCreateRootTrackResult, FindOrCreateRootTrack
- ULevelSequenceDirector: GetMasterSequenceTime deprecated for ULevelSequenceDirector::GetRootSequenceTime
- UDaySequenceDirector: GetMasterSequenceTime deprecated for UDaySequenceDirector::GetRootSequenceTime
- UMoviePipelineSetting: IsValidOnMaster for IsValidOnPrimary
- UMoviePipelineBlueprintLibrary: GetMasterTimecode, GetMasterFrameNumber for GetRootTimecode, GetRootFrameNumber
- UMoviePipeline: GetPipelineMasterConfig for GetPipelinePrimaryConfig
- UMovieSceneAudioTrack: IsAMasterTrack

Classes Renamed:
- FAnimTypePreAnimatedStateMasterStorage for FAnimTypePreAnimatedStateRootStorage
- UMovieSceneMasterInstantiatorSystem for UMovieSceneRootInstantiatorSystem
- ULevelSequenceMasterSequenceSettings to ULevelSequenceSequenceWithShotsSetting

Note, the following instances of master still occur and a "KnownCase" has been added for them in CheckAcceptableWords.cs:
- Deprecated properties (MasterTracks -> Tracks) and functions (ie. GetMasterTracks -> GetTracks)
- masterclip in FCPXML since it's an industry standard term
- masteraudiosubmix in AudioCaptureProtocol
- mastersubmix in MoviePipelineAudioRendering
- masteertimecode, masterframenumber, masterconfig, validonmaster in MovieRenderPipeline
- mastersequencetime, mastertime, mastername in LevelSequence

#jira UE-158660
#preflight 634645e48a0a7b2adc5722e7
#rb matt.hoffman, andrew.rodham

[CL 22739302 by Max Chen in ue5-main branch]
2022-10-24 18:22:10 -04:00
max chen
b70a5545b6 Sequencer: Added the ability to bind to a skeletal mesh component's post process instance.
#jira UE-167803
#rb andrew.rodham
#preflight 635199ace6096564af188134

[CL 22705188 by max chen in ue5-main branch]
2022-10-21 19:51:33 -04:00
andrew rodham
b688b8f9d4 Sequencer: MovieScene, LevelSequence and UMG Animation header dependency cleanup
#rb Max.Chen
#preflight 6349bb321f6054a99f000732

[CL 22566610 by andrew rodham in ue5-main branch]
2022-10-17 11:49:35 -04:00
mike zyracki
6970b0d77b Sequencer: Bake Animation: Add ability to specify sequence interpolation and curve interpolation types, needed for Juno since they are changing to step/constant often and need to make sure to always manul change this after every save. Also change TickAllSkeletalMeshes to true
#preflight 63470e38f04e6f8505232393
#rb max.chen

[CL 22547940 by mike zyracki in ue5-main branch]
2022-10-15 02:15:53 -04:00
Matt Peters
3b57fa2789 IncrementalCooking: Add DeclareConstructClasses for classes that need it. Fix some transient UObjects that assert they are never persistently serialized to support Serialize being called on their ClassDefaultObject to support DeclareCustomVersions.
#rb Zousar.Shaker
#rnx
#preflight 63497341f622f6c4bb1dd625

[CL 22529151 by Matt Peters in ue5-main branch]
2022-10-14 12:42:43 -04:00
max chen
c5727585e9 Sequencer: Separate application of UMovieSceneSequencePlayer::PlaybackSettings from Initialize
Captain's log of the reason behind why this is required:

When spawning a replicated Level Sequence Actor on the server, a SequencePlayer subobject is also created and replicated along with it. If the sequence player is interacted with directly (by way of calling things like PlayLooping, which adjust the loop count of the player's playback settings directly), there can be a justifiable discrepancy in playback settings on the server between the actor and its player. This is not a problem in practice because the Actor's playback settings are only used for initialization.

When these 2 objects are replicated to the client, the client receives the properties for both the actor and sequence player in the same network bunch, applies them, then calls PostNetReceive on both objects. Unfortunately it can call ALevelSequenceActor::PostNetReceive before UMovieSceneSequencePlayer::PostNetReceive, which means the Actor ends up calling Initialize on the player (because it hasn't been set up yet - it's only just been spawned by the net code), which ends up trampling over the player's PlaybackSettings that were just applied by the net replication.

Since the shadow state on the server thinks it has already sent those properties to the client, it never sends them again, so the client doesn't think it's looping when the server does.

#rb Ludovic.Chabant, Max.Chen
#preflight 63345955031c90cb0bab2afb

[CL 22240516 by max chen in ue5-main branch]
2022-09-28 22:24:01 -04:00
eric knapik
5022250ab8 Sequencer: Fix cinematic sequence device's level sequence actor spawn transform, and add option for always-on networking
#rb max.chen, andrew.rodham
#preflight 63337d8de11ae0b19c2b838b

[CL 22239175 by eric knapik in ue5-main branch]
2022-09-28 21:43:04 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
max chen
c58a3b0ada Sequencer: Replace spaces with underscores in spawned actor names
#jira UE-148898
#preflight 632e0c22d747fe52c8d403ea
#rb andrew.rodham, matt.hoffman

[CL 22165747 by max chen in ue5-main branch]
2022-09-23 20:58:34 -04:00
patrick boutot
4a22287964 UMG: Add GameViewportSubsystem. It manage the UWidget that are fullscreen or on a player screen. Previously, the logic was only on UserWidget.
[REVIEW] daren.cheng
#preflight 632083c68838676d10e89cd8, 6321fc09bc40358fa2f5cd89

[CL 22023171 by patrick boutot in ue5-main branch]
2022-09-14 23:20:21 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
bryan sefcik
cb0456c6d4 Cleaned up build.cs files by removing any include paths that were already being added by UBT. This was done to help identify how include paths are being added and to help with future refactoring.
#jira
#preflight 631a5c04967ffc68fbf0dd8f

[CL 21911226 by bryan sefcik in ue5-main branch]
2022-09-08 21:44:02 -04:00
Robert Millar
672e3896a5 FNames containing asset paths are deprecated. FSoftObjectPath should be used instead.
Fixups for LevelSequence/SequenceRecorder.

#jira UE-161932
#rb andrew.rodham
#preflight 6317df0cb069eea9ab1a322d

[CL 21840551 by Robert Millar in ue5-main branch]
2022-09-06 23:56:00 -04:00
Michael Forot
bde5d70d49 Chaos Cache Manager tracks
#rb cedric.caillaud
#jira none
#preflight 6305dcce5a5d4e46244dd06c

[CL 21536847 by Michael Forot in ue5-main branch]
2022-08-24 04:36:09 -04:00
ludovic chabant
86135278a5 Don't try to resolve bound actors with component possessables.
#jira none
#rb max.chen
#preflight 62d998fcac71f3a22581d4ca

[CL 21205194 by ludovic chabant in ue5-main branch]
2022-07-21 14:32:10 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Patrick Vane
b248bc2059 CachedCameraComponent fix.
#preflight 62d5b5a0dc4397d384de4ac7

[CL 21151846 by Patrick Vane in ue5-main branch]
2022-07-18 15:47:17 -04:00
andrew rodham
b28cc739f1 Sequencer: Added support for tick intervals to UMovieSceneSequenceTickManager
The sequence tick manager is now able to manage updating sequences at various different tick intervals. To do so it creates new linkers and runners for each unique tick interval, and groups all updates for that tick interval into their own linker.
As such, sequences running at different tick intervals are unable to blend with each other, since the data is separated, but this is an acceptable trade-off for the flexibility it brings.

Usage of Actor nomenclature in UMovieSceneSequenceTickManager has been deprecated and replaced with 'client' since it is not necessarily an actor. In fact, all existing implementations of this interface have been unified into UMovieSceneSequencePlayer so it can be updated directly without having to go through an actor or component indirection first. This does introduce an issue whereby the player could continue to tick _after_ its owner EndPlay has been called, which forces the owner to call TearDown on EndPlay. The SequencePlayer itself is only registered inside ::Initialize so should not begin ticking until it is ready to play.

A new struct type, FMovieSceneSequenceTickInterval (and FMovieSceneSequenceResolvedTickInterval), has been added to unify places where we deal with tick intervals and provide a nice edit interface in the playback settings allowing users to manually override it without having to manipulate actor ticks.

#rb Ludovic.Chabant, Lonnie.Li
#preflight 62b5e6b3d82986248b668723

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 20814562 via CL 20814726 via CL 20815069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20816478 by andrew rodham in ue5-main branch]
2022-06-24 16:46:29 -04:00
Anatole Menichetti
93086fe8cf Fix AnimSequenceLink missing option (Evaluate All Skeletal Mesh Components)
#robomerge[METAHUMAN] Main
#preflight 62b49a44c366895b826a4ea6

[CL 20796960 by Anatole Menichetti in ue5-main branch]
2022-06-23 12:57:35 -04:00
Andrew Rodham
f48639382a Sequencer: Only ever call FixupForPIE for bindings that are being resolved within a World context that has a PIE instance ID
Sometimes binding resolution can be triggered inside a call stack that has a GPlayInEditorID, even if the bindings and resolution context do not. In these situations we were previously erroneously calling FixupForPIE before resolving the soft object path, and ending up finding the PIE actor instead of the one that's actually inside the world context provided. We now explicitly override the GPlayInEditorID for bindings based on the provided context object.

#jira UE-155681
#rb Max.Chen, Ludovic.Chabant
#preflight 62a22c12c12a722b4f065fb1

[CL 20581176 by Andrew Rodham in ue5-main branch]
2022-06-09 14:00:26 -04:00
Max Chen
06ed881423 Sequencer: Add guards when IsSavingPackage or IsGarbageCollecting before calling FindObject
Illegal call to StaticFindObjectFast() while serializing object data or garbage collecting.

#jira UE-155821
#preflight 629cef52ff562cb75c74b483
#rb mike.zyracki

[CL 20527156 by Max Chen in ue5-main branch]
2022-06-06 16:37:03 -04:00
matt peters
f7fa573932 ANY_PACKAGE Removal: ULevelSequence::PostLoadAssetRegistryTags needs to postload blueprint tags.
#rb None, trivial
#rnx
#preflight None, trivial

#ROBOMERGE-OWNER: matt.peters
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 20464583 via CL 20464597 via CL 20464639 via CL 20464640
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v952-20449836)

[CL 20466212 by matt peters in ue5-main branch]
2022-06-02 03:01:54 -04:00