49 Commits

Author SHA1 Message Date
yoan stamant
08b5314641 [StateTreeDebugger] replaced WITH_STATETREE_DEBUGGER by WITH_STATETREE_TRACE and WITH_STATETREE_TRACE_DEBUGGER to allow different targets to use only one of the two functionalities. For example consoles can only output traces while Desktop targets can output traces and analyse them.
#rb Mieszko.Zielinski

[CL 33398309 by yoan stamant in ue5-main branch]
2024-05-02 11:47:26 -04:00
yoan stamant
db3b23de1c [StateTreeDebugger] enabled debugger on all desktop platforms
#jira UE-192305
#rb mikko.mononen

[CL 33371821 by yoan stamant in ue5-main branch]
2024-05-01 09:59:57 -04:00
yoan stamant
218566e2aa [StateTreeDebugger] fixed timelines reused for the same instances through multiple traces taken during the same game session
#rb mikko.mononen

[CL 33266685 by yoan stamant in ue5-main branch]
2024-04-26 12:01:04 -04:00
yoan stamant
9f4886944e [StateTreeDebugger]
allowed to provide verbosity to STATETREE_TRACE_LOG_EVENT and STATETREE_LOG_AND_TRACE so the debugger can add custom icons accordingly.
#jira UE-210505
#rb mikko.mononen

[CL 33140307 by yoan stamant in ue5-main branch]
2024-04-22 11:34:53 -04:00
yoan stamant
8f73653f92 [StateTreeDebugger]
- new recording started from the debugger will be selected as the new active analysis
- allow multiple recordings during the same PIE session to reactive existing tracks
- do not apply trace selection if user reselect the current trace to avoid clearing data
#jira UE-207595
#jira UE-207406
#jira UE-207414
#rb mikko.mononen

[CL 33099625 by yoan stamant in ue5-main branch]
2024-04-19 07:51:55 -04:00
mikko mononen
2b93815d0a StateTree: Improved event handling
- Added support for shared event buffer, so that multiple instance data can use the same
- Added API to consume events
- Removed double buffering from events
- Treat TriggerTransitions() as event handler (events flushed after each call to the method)
- Event handlers (including tasks) are executed in priority order
- Transitions and event capturing states can consume events on successful selection
- Added API to tick a StateTree in two passes (update tasks and trigger transitions)
- Change parallel tree tasks to do the task update in Tick(), and event handling in TriggerTransitions()
- Small improvements to the ST debugger to display events
- NOTE: this is breaking change for implementations that has relied events emitted during tick to be available on next EnterState()

#okfirgithub public
#rb Yoan.StAmant

[CL 32924765 by mikko mononen in ue5-main branch]
2024-04-12 06:04:01 -04:00
mikko mononen
a82ca89e98 StateTree: Added support for event payload in transitions and event capture for states. (contributed) [take 2]
- Transitions can now be set up to require a specific payload type and/or a gameplay tag
- Required transition event payload is visible to property bindind for transition conditions
- States can require an event type as enter condition, the event is captured when state is selected
- Required state event payload is visible to binding for state enter conditions, tasks and transistions

[CL 32150454 by mikko mononen in ue5-main branch]
2024-03-11 04:54:44 -04:00
bob tellez
0189872e84 [Backout] - CL32082262
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Added support for event payload in transitions and event capture for states. (contributed)
- Transitions can now be set up to require a specific payload type and/or a gameplay tag
- Required transition event payload is visible to property bindind for transition conditions
- States can require an event type as enter condition, the event is captured when state is selected
- Required state event payload is visible to binding for state enter conditions, tasks and transistions

[CL 32113027 by bob tellez in ue5-main branch]
2024-03-07 23:49:50 -05:00
mikko mononen
cec24c894d StateTree: Added support for event payload in transitions and event capture for states. (contributed)
- Transitions can now be set up to require a specific payload type and/or a gameplay tag
- Required transition event payload is visible to property bindind for transition conditions
- States can require an event type as enter condition, the event is captured when state is selected
- Required state event payload is visible to binding for state enter conditions, tasks and transistions

[CL 32082269 by mikko mononen in ue5-main branch]
2024-03-07 06:53:02 -05:00
yoan stamant
266d1dc2b9 [StateTreeDebugger] handle buffered data differently if it can be reused in multiple traces during the same game session or if it need to be reset when stopping the trace
#jira UE-207387
#rb mikko.mononen

[CL 31805935 by yoan stamant in ue5-main branch]
2024-02-26 11:32:07 -05:00
yoan stamant
a415b9d013 [StateTreeTrace] fixed performance issue when buffering lot of events (> 17K in City Sample) by switching array to map.
#jira UE-204488
#rb mikko.mononen

[CL 30919514 by yoan stamant in ue5-main branch]
2024-01-26 07:23:56 -05:00
steve robb
6f623bfddb Fixed pass-by-value archive in SerializeDataViewToArchive.
#rb yoan.stamant

[CL 30568948 by steve robb in ue5-main branch]
2024-01-11 10:41:12 -05:00
yoan stamant
4f9060345b Fix CIS issue 408392 (seems to not be an issue with clang 17)
[CL 30299113 by yoan stamant in ue5-main branch]
2023-12-13 14:01:08 -05:00
yoan stamant
0fd9125ce9 Other fix for CIS issue 408344
[CL 30295174 by yoan stamant in ue5-main branch]
2023-12-13 11:37:30 -05:00
yoan stamant
291f8bc9e0 [StateTreeDebugger] support for linked tree assets
- added new dedicated section for completed states
#rb mikko.mononen

[CL 30293000 by yoan stamant in ue5-main branch]
2023-12-13 10:21:13 -05:00
yoan stamant
ce114b5c09 [StateTreeDebugger] minor changes to improve timeline visualization and to properly handle unbound delegates.
#rb Mieszko.Zielinski, mikko.mononen
#rb mieszko.zielinski

[CL 29888621 by yoan stamant in ue5-main branch]
2023-11-22 10:29:04 -05:00
juan portillo
8e6093cead [StateTreeDebugger]
- Fixed crash when closing and reopening State Tree Debugger
- Exported FStateTreeTraceActiveStatesEvent constructor

#rb Yoan.StAmant
#rnx

[CL 28669926 by juan portillo in ue5-main branch]
2023-10-11 12:52:48 -04:00
juan portillo
aa0f4756ed [StateTreeDebugger]
Changed Tree Path from being just the package name to the actual object path

#rb Yoan.StAmant
#rnx

[CL 28669083 by juan portillo in ue5-main branch]
2023-10-11 12:38:41 -04:00
yoan stamant
2dbcbee1ae [StateTreeDebugger] Fixed task breakpoints by using OnEntered/OnExited events instead of OnEntering/OnExiting since Tasks only traced the former.
#rb mikko.mononen

[CL 28468259 by yoan stamant in ue5-main branch]
2023-10-04 14:50:21 -04:00
steve robb
a84e22104b Replaced GET_VARARGS* macros with GET_TYPED_VARARGS*.
#rb james.hopkin
#jira UE-194628

[CL 28346416 by steve robb in ue5-main branch]
2023-09-29 13:00:07 -04:00
yoan stamant
8638187e4a [StateTreeDebugger] removed ensure that was for local debugging only
#rb trivial
#rnx

[CL 28137306 by yoan stamant in ue5-main branch]
2023-09-22 11:13:54 -04:00
yoan stamant
37c44c23e6 [StateTreeDebugger] can now auto start analysis of traces started from console command
#jira UE-195659
#rb mikko.mononen

[CL 28034432 by yoan stamant in ue5-main branch]
2023-09-20 10:01:01 -04:00
louisphilippe seguin
36c722f3c4 Fix wrong printf parameters in checkf & ensuremsgf found in engine code
#rb Fabian.Giesen, Kirill.Zorin
#rnx

[CL 27519547 by louisphilippe seguin in ue5-main branch]
2023-08-31 08:56:30 -04:00
yoan stamant
6e26cbb348 [StateTreeDebugger] add traces for Evaluators
#rnx
#rb maxime.mercier

[CL 26901368 by yoan stamant in ue5-main branch]
2023-08-07 18:06:40 -04:00
yoan stamant
8aba578f59 [StateTreeDebuggger] Frame details view update:
- replaced node details view by embedding property values in the tree view
- node exported text (e.g. Task, Conditions, etc) is no longer imported in struct or object to avoid problems with missing types or property types with specific requirements (e.g. Object base property needs to find the specified value). Goal is to always be able to inspect key/value pairs.
- improved hierarchy of event to improve readibility
- started adding some custom row widgets for the different event types
- reworked the toolbar to regroup the different concepts (Simulation controls, Trace recording, Trace analyzing)
#rnx
#rb mikko.mononen

[CL 26855639 by yoan stamant in ue5-main branch]
2023-08-04 14:55:23 -04:00