Commit Graph

199 Commits

Author SHA1 Message Date
yoan stamant
17811fc0e8 [StateTreeDebugger]
- Tracks are no longer cleared when running multiple consecutive PIE sessions unless 'bShouldDebuggerResetDataOnNewPIESession' is set to true in the StateTree Editor Settings. Non editor session analysis will always clear tracks.
- Added dedicated button to clear track data.
- Since tracks can be preserved between PIE session clamp range of the timelines is now the longest recording duration instead of the current session duration.
- Allow goto previous active states when scrubbing past the recording duration of the current analysis session
- Scrub buttons can now be used when the session is no longer active, regardless of the autoscroll state
- Manual scrubbing no longer change auto scroll status if session is not active
#rnx
#rb mieszko.zielinski
#jira UE-191087

[CL 26641868 by yoan stamant in ue5-main branch]
2023-07-27 11:27:43 -04:00
yoan stamant
4a982ee59c Reuse existing View in StateTreeEditor when debugger tab is reopened
#jira UE-189899
#rb trivial

[CL 26413063 by yoan stamant in ue5-main branch]
2023-07-17 14:37:42 -04:00
yoan stamant
d5a434e9b3 Fix CIS 328889: Localization warnings
#rb trivial

[CL 26405475 by yoan stamant in ue5-main branch]
2023-07-17 09:12:26 -04:00
yoan stamant
1f7269cb0d [StateTreeDebugger]
- active states text is truncated to the window size in the timeline
- fixed cursor tracking when scrubbing with the buttons
- fixed TrackedCursor when scrubbing to the beginning of the timeline
- replaced toggle pause button by a single button changing icon
#rb maxime.mercier

[CL 26344112 by yoan stamant in ue5-main branch]
2023-06-30 10:38:20 -04:00
yoan stamant
b37a531b65 [StateTreeDebugger] added missing transaction when toggling Transition breakpoints (undo/redo). Also prevented State and Task breakpoint toggle from dirtying the asset.
[CL 26321894 by yoan stamant in ue5-main branch]
2023-06-29 14:37:16 -04:00
yoan stamant
8caa0ddc9c [StateTree] ResolveLeafValueStructType returns nullptr for data view with type only (null memory)
#rb mikko.mononen

[CL 26291527 by yoan stamant in ue5-main branch]
2023-06-28 13:54:43 -04:00
yoan stamant
3f326b2c0a [StateTreeDebugger]
- On breakpoint hit the tree view will select and focus on the associated state and event treeview will select the event that triggered the breakpoint
- added missing trace for exiting tasks
- scrub to the record time when breakpoint is hit so events tree view is synchronized to the right time (not the latest processed time)
#rb mikko.mononen

[CL 26268463 by yoan stamant in ue5-main branch]
2023-06-27 15:55:11 -04:00
yoan stamant
b0a6f69f4f Fixed duplicated ID in statetree asset
#jira UE-189371
#jira UE-189653
#rb none
#changelist validated

[CL 26264439 by yoan stamant in ue5-main branch]
2023-06-27 14:01:11 -04:00
yoan stamant
79ed0fe3c4 Fixed CIS Issue 326584
[CL 26256163 by yoan stamant in ue5-main branch]
2023-06-27 09:42:30 -04:00
mikko mononen
0c9e82ff6d StateTree: Show mismatching property types on property binding
- Improved formatting of State Tree error messages
- Fixed GetDataViewByID to return true on null values but valid types (e.g. context data)
- Added check if property types match for property binding widget
- Cache current property binding data for binding widget

#jira UE-168333

[CL 26230591 by mikko mononen in ue5-main branch]
2023-06-26 06:34:49 -04:00
yoan stamant
6653455ac2 [StateTreeDebugger]
- created a dedicated option to auto-scroll and converted debugger pause to control event processing
- clear tracks when selecting new valid session
- scrub buttons can now be used as soon as analysis is pause of auto-scroll disabled
- fixed potential access to invalid struct view when processing a FStateTreeTraceNodeEvent
- added return value and output parameter to IStateTreeModule::StartTraces to take appropriate actions if traces was already active or not.
- added new button to the DebuggerView to control the session analysis state (pause or not). Mainly required when performing a remove analysis of non editor target.
- added new button to the DebuggerView to toggle auto-scroll. Manual selection in the timeline will turn it off so it can now be turned back on.
#rb mikko.mononen

[CL 26188376 by yoan stamant in ue5-main branch]
2023-06-22 14:18:20 -04:00
mikko mononen
7eb949f751 StateTree: Fix out of range access when compiling empty task.
[CL 26179640 by mikko mononen in ue5-main branch]
2023-06-22 08:35:24 -04:00
mikko mononen
7d3c03534e StateTree: Fix handling of transition tasks during State Tree compile
- restored tracking of struct/object instances per state (got lost in a merge)
- fixed tracking of bHasTransitionTasks (was storing only last task)

[CL 26177538 by mikko mononen in ue5-main branch]
2023-06-22 05:26:39 -04:00
yoan stamant
f687596e32 [StateTreeDebugger]
- enabled by default in the StateTreeEditor
- traces can be automatically started on non-editor targets by setting 'bAutoStartDebuggerTracesOnNonEditorTargets = true in StateTreeSettings or' under [/Script/StateTreeModule.StateTreeSettings]
in the .ini config file.
- traces can be manually started/stopped using `statetree.startdebuggertraces` and `statetree.stopdebuggertraces` from the console
#rb mikko.mononen

[CL 26152323 by yoan stamant in ue5-main branch]
2023-06-21 12:05:31 -04:00
yoan stamant
fb4de53169 On behalf of mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26149038 by yoan stamant in ue5-main branch]
2023-06-21 10:32:41 -04:00
yoan stamant
3110bb501b On behalf of mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Improved reconciling property names when they change
- Added PropertyGuid to FStateTreePropertyPathSegment to allow reconsile changed Blueprint class and User Defined Struct property names
- Changed FStateTreePropertyPath to optionally handle property redirects and BP/UDS name changes
- Renamed UpdateInstanceStructsFromValue to UpdateSegmentsFromValue to better reflect the use
- Improved State Tree editor bindings to update when BP/UDS properties are changed

#jira UE-184193, UE-168168

[CL 26148754 by yoan stamant in ue5-main branch]
2023-06-21 10:25:47 -04:00
mikko mononen
866e20fbf7 [Backout] - CL26143160
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Improved reconciling property names when they change
- Added PropertyGuid to FStateTreePropertyPathSegment to allow reconsile changed Blueprint class and User Defined Struct property names
- Changed FStateTreePropertyPath to optionally handle property redirects and BP/UDS name changes
- Renamed UpdateInstanceStructsFromValue to UpdateSegmentsFromValue to better reflect the use
- Improved State Tree editor bindings to update when BP/UDS properties are changed

#jira UE-184193, UE-168168

[CL 26145857 by mikko mononen in ue5-main branch]
2023-06-21 08:49:48 -04:00
mikko mononen
37b01a1b20 [Backout] - CL26145152
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26145795 by mikko mononen in ue5-main branch]
2023-06-21 08:45:02 -04:00
mikko mononen
dbda318952 StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26145413 by mikko mononen in ue5-main branch]
2023-06-21 08:18:32 -04:00
mikko mononen
0b159c4cd2 StateTree: Improved reconciling property names when they change
- Added PropertyGuid to FStateTreePropertyPathSegment to allow reconsile changed Blueprint class and User Defined Struct property names
- Changed FStateTreePropertyPath to optionally handle property redirects and BP/UDS name changes
- Renamed UpdateInstanceStructsFromValue to UpdateSegmentsFromValue to better reflect the use
- Improved State Tree editor bindings to update when BP/UDS properties are changed

#jira UE-184193, UE-168168

[CL 26143169 by mikko mononen in ue5-main branch]
2023-06-21 04:10:57 -04:00
yoan stamant
b9f50d9216 [StateTreeDebugger] breakpoint improvements
- added support for breakpoint when exiting state (was only when entering)
- added support for breakpoint when entering or exiting a task
- state breakpoints can be added from contextual menu in the TreeView or from the Debug options in the details panel
- task breakpoints can be added from the Debug options in the details panel
- added feedback labels in the details panel for states and tasks with breakpoints
#rb mikko.mononen

[CL 26134195 by yoan stamant in ue5-main branch]
2023-06-20 16:50:50 -04:00
yoan stamant
8a9af22b42 Static Analysis fix
#rb trivial

[CL 26131049 by yoan stamant in ue5-main branch]
2023-06-20 15:24:27 -04:00
yoan stamant
7d4961a65f [StateTreeDebugger]
- added option to disable state transitions
- added state transition breakpoints
- fixed scrubbing not using the right time (analysis time instead of world simulation time) when hitting a breakpoint
- fixed new instance auto selection on record when previous selection is a stale subtrack
- added console variable `statetree.displayitemids` to display states, tasks and transitions Ids in the StateTreeEditor (details view and state treeview)
#rb mikko.mononen

[CL 26128077 by yoan stamant in ue5-main branch]
2023-06-20 13:49:25 -04:00
mikko mononen
f8fd0d4649 StateTree: Improved state tree error logging.
- fixed object tokens not to open asset browser
- made the node text token easier to distinguish and added type to it too
- fixed typo in error

[CL 26116592 by mikko mononen in ue5-main branch]
2023-06-20 06:02:25 -04:00
mikko mononen
0a339e13c3 StateTree: Prevent level Actor references in State Tree
- Added check in the compiler to error when level Actors are found in the node, instance or parameter properties
- Made debug text task's ReferenceActor optional input to hide the level actor picker

#jira UE-185445

[CL 26086218 by mikko mononen in ue5-main branch]
2023-06-19 05:49:34 -04:00