Commit Graph

61 Commits

Author SHA1 Message Date
yoan stamant
ce31754333 [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-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18355593 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18355643 by yoan stamant in ue5-release-engine-test branch]
2021-12-02 14:38:50 -05:00
yoan stamant
6962ee69a3 [GameplayDebugger] added MakeCircle overload that supports Thickness
#rb mikko.mononen
#preflight 61a4d7ad88439fccfe00e6f0

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18309225 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18309280 by yoan stamant in ue5-release-engine-test branch]
2021-11-29 09:41:28 -05:00
yoan stamant
ef1f10466b Misc type conversion warning fixes
#rb maxime.mercier
#preflight 618d6d32c80d0ce51ae61965

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18156659 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18156710 by yoan stamant in ue5-release-engine-test branch]
2021-11-11 14:57:15 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
yoan stamant
42299b520f [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
#preflight 61703f8766ed7f0001c0faf1

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 17875336 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 17875370 by yoan stamant in ue5-release-engine-test branch]
2021-10-20 13:23:33 -04:00
yoan stamant
2fa9d8e00f [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

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 17544171 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17544199 by yoan stamant in ue5-release-engine-test branch]
2021-09-16 16:50:03 -04:00
yoan stamant
ce092b2a5a [AI] Merging 17468937: GameplayDebugger: Support separate alpha on text
#preflight 6140d2073c7c670001621c73

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 17508455 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17508488 by yoan stamant in ue5-release-engine-test branch]
2021-09-14 15:21:43 -04:00
mikko mononen
229fbc9445 GameplayDebugger: Added arrow and circle shape.
#preflight 611cdca25e73720001cc817b

#ROBOMERGE-SOURCE: CL 17212936 via CL 17212982
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17212987 by mikko mononen in ue5-release-engine-test branch]
2021-08-18 06:37:19 -04:00
yoan stamant
b11aa112f7 [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 via CL 16672469
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16672473 by yoan stamant in ue5-release-engine-test branch]
2021-06-15 08:21:34 -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