Commit Graph

64 Commits

Author SHA1 Message Date
Mieszko Zielinski
d0856c14d0 Fixed GameplayDebuggerPlayerManager's editor-time ticking (i.e. made sure it won't get its game-world tick via the tickable object mechanics). This change addresses a rare crash related to GameplayDebuggerPlayerManager accessing UWorld in some edge cases.
#review-20103802
#preflight 627a572bbd643341feefe5a9

[CL 20121711 by Mieszko Zielinski in ue5-main branch]
2022-05-10 08:46:16 -04:00
charles lefebvre
1fe167d9b6 [GameplayDebugger] Hide OnScreenMessages when the gameplay debugger is active
#tests Tested in UYE
#rb Yoan.StAmant
#rnx

#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 19608400 via CL 19608505 via CL 19608571 via CL 19608608 via CL 19608634
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19609660 by charles lefebvre in ue5-main branch]
2022-04-04 11:27:53 -04:00
yoan stamant
159efb4a7c [GameplayDebugger] use scene view to replicated view matrix only when associated actor is not available.
#rb maxime.mercier
#rnx
#preflight 61faa3614404d5fade1fe1af

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18828250 via CL 18828270 via CL 18828280 via CL 18836486 via CL 18836855
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18836964 by yoan stamant in ue5-main branch]
2022-02-02 18:44:21 -05:00
Yoan StAmant
ebc9ea62e4 [GameplayDebugger] viewer can now provide view location and direction to the replicator so detaching camera from controller is supported properly for actor picking and culling tests
added view distance and angle to config and updated actor picking + culling
#rb maxime.mercier, mieszko.zielinski
#preflight 61a917f61a368fd603a10e4f
#robomerge 5.0

[CL 18355593 by Yoan StAmant in ue5-main branch]
2021-12-02 14:36:54 -05:00
Yoan StAmant
9350969273 [GameplayDebugger] added MakeCircle overload that supports Thickness
#rb mikko.mononen
#robomerge 5.0
#preflight 61a4d7ad88439fccfe00e6f0

[CL 18309225 by Yoan StAmant in ue5-main branch]
2021-11-29 09:38:02 -05:00
Yoan StAmant
e8443d57cf Misc type conversion warning fixes
#rb maxime.mercier
#robomerge 5.0
#preflight 618d6d32c80d0ce51ae61965

[CL 18156659 by Yoan StAmant in ue5-main branch]
2021-11-11 14:55:19 -05:00
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