Commit Graph

58 Commits

Author SHA1 Message Date
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
Yoan StAmant
be5f6a5afd [DebugDrawDelegateHelper] rollback of delegate unregistration issue previous fix and implemented a different approach for cases where proxy is not created:
In some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).

Case 1 (normal flow): FRegisterComponentContext == nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : calls CreateSceneProxy
 > RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Case 2 (deferred AddPrimitive): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : defers CreateSceneProxy
 > RegisterDebugDrawDelegate (skip register since not init)
 > CreateSceneProxy
 > UnregisterDebugDrawDelegate  ==>  ensures in UnregisterDebugDrawDelegate

With this new version `CreateRenderState_Concurrent` calls `RequestRegisterDebugDrawDelegate` that will take care of registering the delegate immediately or mark it for deferred execution. An explicit call to `ProcessDeferredRegister` is then required from `CreateSceneProxy` to implement proper flow:

Case 2 (fixed) (deferred AddPrimitive + deferred Register): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent: defers CreateSceneProxy
 > RequestRegisterDebugDrawDelegate: defers RegisterDebugDrawDelegate
 > CreateSceneProxy: calls ProcessDeferredRegister & RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Bonus:
- New DebugDrawComponent abstract class that is now used to share common functionalities between existing debug related components. Takes care of DelegateHelper registration flow to render text on screen from different sources.
- FDebugDrawDelegateHelper::InitDelegateHelper is no longer virtual and derived classes requiring extra data from their associated scene proxy should set it up from their overriden CreateSceneProxy
- FDebugDrawDelegateHelper derived classes should not override RegisterDebugDrawDelegate/UnregisterDebugDrawDelegate to use their `DrawDebugLabels` method since this is already a virtual method that would get called from the base class.
- Fixed a few ViewFlag members in the SceneProxy so the DelegateHelper base class can behave as expected

#jira FORT-419154
#rb mieszko.zielinski
#robomerge FnMain
#preflight 61703f8766ed7f0001c0faf1

[CL 17875336 by Yoan StAmant in ue5-main branch]
2021-10-20 13:20:46 -04:00
Yoan StAmant
166f970337 [DebugDrawDelegate]
Update registration flow since CreateRenderState_Concurrent can't be used to register our delegate since it needs to be initialized first (CreateSceneProxy) and in some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).
In that case initialization won't called and an ensure will fire in UnregisterDebugDrawDelegate since registration failed (was not initialized).
Case 1: FRegisterComponentContext == nullptr  ==> Super::CreateRenderState_Concurrent + sync CreateSceneProxy (init) + RegisterDebugDrawDelegate ==> works fine
Case 2: FRegisterComponentContext != nullptr  ==> Super::CreateRenderState_Concurrent + deferred CreateSceneProxy + RegisterDebugDrawDelegate (skipped since not init) + CreateSceneProxy ==> ensures in UnregisterDebugDrawDelegate

Bonus:
- some code analysis fixes
- removed some 'CoreMinimal.h' includes
- exported log category 'LogVisual'
- fixed some uninitialized properties (FNavTestDebugDrawDelegateHelper, UNavMeshRenderingComponent, FNavMeshSceneProxyData)
- fixed some methods hiding non-virtual from base class (GetAllocatedSize)
- fixed FGameplayDebuggerCompositeSceneProxy::GetMemoryFootprint that was not considering base class allocations

#rnx
#jira UE-125097
#preflight 614362684778fa00016a8cad
#rb mieszko.zielinski

[CL 17544171 by Yoan StAmant in ue5-main branch]
2021-09-16 16:47:25 -04:00
Yoan StAmant
9fa9fd9f92 [AI] Merging 17468937: GameplayDebugger: Support separate alpha on text
#preflight 6140d2073c7c670001621c73

[CL 17508455 by Yoan StAmant in ue5-main branch]
2021-09-14 15:19:36 -04:00
mikko mononen
83b143641d GameplayDebugger: Added arrow and circle shape.
#preflight 611cdca25e73720001cc817b


#ROBOMERGE-SOURCE: CL 17212936
#ROBOMERGE-BOT: (v855-17104924)

[CL 17212982 by mikko mononen in ue5-main branch]
2021-08-18 06:36:50 -04:00
yoan stamant
af88a23dcd [FDebugDrawDelegateHelper] Allow calls to method InitDelegateHelper from Parallel For called from game thread (i.e. IsInParallelGameThread() || IsInGameThread() )
Removed previous hack added in UEQSRenderingComponent  and fixed some typos in method names.
#rb mikko.mononen mieszko.zielinski
#preflight 60c887272da7840001313475


#ROBOMERGE-SOURCE: CL 16672461
#ROBOMERGE-BOT: (v834-16658389)

[CL 16672469 by yoan stamant in ue5-main branch]
2021-06-15 08:21:00 -04:00
Steve Robb
bfddf3e267 TMethodPtr<U, ...> and TConstMethodPtr<U, ...> template aliases added to delegates to replace the T*Delegate_Const<U, ...>::FMethodPtr types.
#rb robert.manuszewski
#jira none

[CL 16092754 by Steve Robb in ue5-main branch]
2021-04-22 09:49:28 -04:00
Yoan StAmant
ec8b03491b [GameplayDebugger] Extracted picking view point calculation to GetViewPoint exposed through GameplayDebuggerPlayerManager
#jira UE-105121
#review-15321294 @maxime.mercier
#rb maxime.mercier

[CL 15355736 by Yoan StAmant in ue5-main branch]
2021-02-08 07:46:38 -04:00
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Mieszko Zielinski
963c7e097e Made GameplayDebugger's availability in editor mode optional and cconfigured by per-user settings
I've also tabbified *.build.cs since I was modifying it anyway.

#review-14812433 @Mikko.Mononen, @Stephen.Holmes
#rb swarm
#rnx

[CL 14812500 by Mieszko Zielinski in ue5-main branch]
2020-11-25 06:42:17 -04:00
Mieszko Zielinski
0f0297d8db Fixed GameplayDebuggerCategoryReplicator unintentionally holding a reference to AActor being debugged which resulted in all sorts of undesired behaviors in editor mode (including fatal-level logs)..
#jira UE-103657
#review-14812437 @Mikko.Mononen, @Stephen.Holmes
#rb swarm
#rnx

[CL 14812499 by Mieszko Zielinski in ue5-main branch]
2020-11-25 06:42:02 -04:00
Mieszko Zielinski
1fe6d03b53 GameplayDebugger CIS fixes
#rb trivial

[CL 14807508 by Mieszko Zielinski in ue5-main branch]
2020-11-23 15:48:43 -04:00
Mieszko Zielinski
f3635c4ead Made displaying GameplayDebugger's UI possible in pure editor-mode
#review-14806333 @Stephen.Holmes, @Aris.Theophanidis, @Maxime.Mercier, @Yoan.StAmant, @Mikko.Mononen
#rb swarm

[CL 14807157 by Mieszko Zielinski in ue5-main branch]
2020-11-23 14:16:46 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Jamie Dale
70a54d23ca Moved USelection to UnrealEd
#rb Chris.Gagnon
#rnx

[CL 14037101 by Jamie Dale in ue5-main branch]
2020-08-05 10:28:16 -04:00
mieszko zielinski
5d3b0465a9 Made it possible to summon in-game hud for GameplayDebugger during replay playback
Yoan.StAmant, Maxime.Mercier
#rb Yoan.StAmant, Maxime.Mercier


#ROBOMERGE-SOURCE: CL 11496843 via CL 11496844 via CL 11496845
#ROBOMERGE-BOT: (v654-11333218)

[CL 11496846 by mieszko zielinski in Main branch]
2020-02-18 05:57:18 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
yoan stamant
4c6bd37f71 GameplayDebugger console commands:
+ EnableGDT (for legacy support)
+ gdt.Toggle
+ gdt.SelectPreviousRow
+ gdt.SelectNextRow
+ gdt.ToggleCategory

#jira UE-77688
[at]maxime.mercier [at]mieszko.zielinski
#rb maxime.mercier mieszko.zielinski


#ROBOMERGE-SOURCE: CL 11213975 via CL 11213976
#ROBOMERGE-BOT: (v644-11213502)

[CL 11213977 by yoan stamant in Main branch]
2020-02-04 09:13:37 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
mieszko zielinski
aec134e035 Added a piece of information to GameplayDebugger that allows syncing it to specific VisLogger recording file (if recoding-to-file is in progress).
#rb none


#ROBOMERGE-SOURCE: CL 8641042 via CL 8652607
#ROBOMERGE-BOT: (v417-8656536)

[CL 8657768 by mieszko zielinski in Main branch]
2019-09-12 13:54:39 -04:00
yoan stamant
d9bc2ae771 GameplayDebugger_NavMesh new features
- can switch between debug actor and player actor as position reference for navmesh display [Shift + Substract]
- possible to cycle through all available navigation data [Shift + Add]
- no longer fetch the entire navigation data when no tiles are found around reference position

[at]mieszko.zielinski
#rb mieszko.zielinski


#ROBOMERGE-SOURCE: CL 8193937 via CL 8207666
#ROBOMERGE-BOT: (v401-8057353)

[CL 8207827 by yoan stamant in Main branch]
2019-08-21 23:59:48 -04:00