Commit Graph

264 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
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Yoan StAmant
4e9d310509 [GameplayDebugger] visibility of the replicator actor is code driven (hidden on dedicated server, visible otherwise) and should not be replicated.
This fixes some edge cases where value was resent by server after BeginPlay resulting in component not rendering the GameplayCategories on the client.
#jira UE-149710
#rb mieszko.zielinski
#preflight 6273c0df1364d1b5cc4cba72

[CL 20056478 by Yoan StAmant in ue5-main branch]
2022-05-05 08:42:54 -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
283f8d859e [GameplayDebugger] Prevent access to the GLevelEditorModeTools from commandlet environment
#rnx
#rb maxime.mercier
#preflight 61fc3371a540d6e61bb9f5de

[CL 18848968 by Yoan StAmant in ue5-main branch]
2022-02-03 15:23:28 -05: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
Brian Bekich
783d9bdd50 Fix for shootergame rep graph crash after seamless travel
#jira UE-137636
#preflight none
#rb louisphilippe.seguin, jason.adcock

[CL 18475360 by Brian Bekich in ue5-main branch]
2021-12-16 09:16:03 -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
Maxime Mercier
a531605ca9 Fix crash opening maps when gameplay debugger is enabled for editor world in editor settings
#jira none
#review-18274544
#rnx
#preflight 619d5fb5aa4521f9e7a33611

#robomerge 5.0
#robomerge FnMain

[CL 18276685 by Maxime Mercier in ue5-main branch]
2021-11-23 17:33:37 -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
d8e21c151a GameplayDebugger: Fixed color on circle shape
#preflight 612497e98ff5540001386ff5


#ROBOMERGE-SOURCE: CL 17282179
#ROBOMERGE-BOT: (v858-17259218)

[CL 17282211 by mikko mononen in ue5-main branch]
2021-08-24 03:47:40 -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
Max Chen
9b73c0f152 Editor: Change to SLevelViewport
#jira UE-108941
#rb brooke.hubert

[CL 15520489 by Max Chen in ue5-main branch]
2021-02-24 16:03:09 -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
Zousar Shaker
fc2ad21a5e Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Call-site changes for non-scalar wrapped object pointer upgrades in Engine + Shootergame

#rb devin.doucette

[CL 14996467 by Zousar Shaker in ue5-main branch]
2021-01-05 19:16:25 -04:00