Commit Graph

302 Commits

Author SHA1 Message Date
Serhii Snitsaruk b54f3696ff
Fix crash upon adding variable in the plan editor with empty default name
Also default to float when expected type is not specified.
2024-05-17 11:08:58 +02:00
Serhii Snitsaruk 026272f7f7
Fix BBParam subtypes incorrectly display type error in inspector 2024-05-17 10:27:22 +02:00
Serhii Snitsaruk 2718271bb1
Clean up & renames 2024-05-15 20:43:24 +02:00
Serhii Snitsaruk c6b1a40627
BlackboardPlan: Update inspector upon mapping editing finished 2024-05-15 12:52:50 +02:00
Serhii Snitsaruk a572613001
BlackboardPlan: Utilize mapping in LimboHSM
Also changes how parent plan providing is implemented (used for editor hints).
2024-05-15 11:38:53 +02:00
Serhii Snitsaruk c30c5a4d7a
BlackboardPlan: Auto-fill type info when adding a missing variable for a mapping 2024-05-14 22:55:25 +02:00
Serhii Snitsaruk e43bc25d82
BlackboardPlan: Provide editor hints for mappings 2024-05-14 13:29:04 +02:00
Serhii Snitsaruk 7f89659110
Support multiple debugger sessions 2024-04-21 13:04:16 +02:00
Serhii Snitsaruk 12fd9d00d6
Update file headers and fix whitespace 2024-03-21 21:38:57 +01:00
Serhii Snitsaruk 79d72c39e0
Use proper icon in inspector for BB vars 2024-03-20 17:42:04 +01:00
Serhii Snitsaruk 5a8fe97aac
Fix error when clicking resource header in debugger with a scene-embedded BT 2024-03-20 14:19:49 +01:00
Serhii Snitsaruk 39c4511249 BBParam editor: Combine type+mode functionality in one button
Previously, we had two buttons: "mode switch" and "type choice".
Now replaced with the One Button to rule them all!
2024-03-12 18:10:53 +01:00
Serhii Snitsaruk b09006a11b Fix issues with blackboard plan system 2024-03-11 18:58:40 +01:00
Serhii Snitsaruk b90b85f0c3
Merge pull request #68 from Rubonnek/fix-btview-update-crash
Fix `BehaviorTreeView::update_tree` null data crash
2024-03-07 20:32:58 +01:00
Wilson E. Alvarez dd837ff472
Fix BehaviorTreeView::update_tree null data crash 2024-03-07 11:50:34 -05:00
Wilson E. Alvarez 3f34e4dde2
Expose BehaviorTreeView::clear to GDScript 2024-03-07 11:39:53 -05:00
Serhii Snitsaruk 2658060b1c Move prefetching code into `BlackboardPlan` and add checkbox to the plan editor 2024-03-06 21:28:06 +01:00
Serhii Snitsaruk 4c26583007 Remove "p_" from the argument names in the `ClassDB` bindings 2024-03-04 21:36:16 +01:00
Serhii Snitsaruk bea25049a0 Update plan editor utilizing `StringName` 2024-03-04 18:06:59 +01:00
Serhii Snitsaruk 84aeb4bfff Adjust BB variable property editor to expect `StringName` 2024-03-04 15:09:15 +01:00
Dave Palais 73aa636271 Change some includes to use relative paths
The paths before assumed we were inside the Godot modules folder.
This change enables building as an external module.
2024-03-02 18:10:00 -05:00
Serhii Snitsaruk 7626c84633 New `task_selected` signal for BehaviorTreeView 2024-02-29 23:42:24 +01:00
Serhii Snitsaruk 78c61d459d
Merge pull request #42 from limbonaut/debugger-improvements
Debugger improvements
2024-02-17 15:35:09 +01:00
Serhii Snitsaruk b3380bd0ac Fix missing break in a switch 2024-02-17 15:15:20 +01:00
Serhii Snitsaruk ecf44e83e0 Debugger: Add update interval controls and keep it in the config
Also fix bug with partial update.
2024-02-17 14:56:19 +01:00
Serhii Snitsaruk b9cd31eb2b Debugger: Add BehaviorTreeView::update_interval_msec property 2024-02-17 13:40:53 +01:00
Serhii Snitsaruk 0ea8b9932c Debugger: Implement selective tree update in BehaviorTreeView
Flame graph showed performance bottleneck with recreating and redrawing the whole tree each frame.
This commit should improve debugger performance by a good margin.
2024-02-17 11:43:31 +01:00
Wilson E. Alvarez 1711cb6b87
Fix crash upon increasing TypedArray<BBVariant> size
Needed after upstream patch:

db7175458a
2024-02-16 10:46:42 -05:00
Serhii Snitsaruk 654eda1c65 Better error handling when resolving _generate_name 2024-02-10 15:05:50 +01:00
Serhii Snitsaruk d38e6f97f1 Editor: Implement Cut-Copy-Paste
Resolves #14
2024-02-08 17:16:26 +01:00
Serhii Snitsaruk 6405f9031b Fix shortcuts not working in the module version
Resolves #27
2024-02-07 12:36:59 +01:00
Serhii Snitsaruk 16840057a1 Editor: More space and align to right for BehaviorTreeView timings 2024-02-06 15:44:25 +01:00
Serhii Snitsaruk a353e561de Editor: More space for timings in BehaviorTreeView 2024-02-06 14:54:18 +01:00
Serhii Snitsaruk d0c7d98fc4 Editor: Clip content in BehaviorTreeView 2024-02-04 16:23:15 +01:00
Serhii Snitsaruk 8dc645c9a7 Fix issues and update docs for BehaviorTreeData/View 2024-02-03 17:53:12 +01:00
Serhii Snitsaruk c5b92aa676 Expose BehaviorTreeView for tools and in-game use 2024-02-03 16:59:51 +01:00
Serhii Snitsaruk 3e32051791 Editor: Remember collapsed items in task tree 2024-02-02 16:46:26 +01:00
Serhii Snitsaruk b4ab521e0f Editor: Improve tooltips in the property editors 2024-01-29 10:26:13 +01:00
Serhii Snitsaruk ee0795269d Editor: Fix issues with property editors & remove old docs 2024-01-29 10:16:24 +01:00
Serhii Snitsaruk 656bc169b0 Editor: Scroll to focus when adding a var in Blackboard Plan editor 2024-01-28 22:25:31 +01:00
Serhii Snitsaruk c44648c69c Fix nullptr crash 2024-01-28 22:00:47 +01:00
Serhii Snitsaruk 011040e46f Editor: Distinguish private variables in the inspector 2024-01-28 21:58:18 +01:00
Serhii Snitsaruk 87a1687c74 BlackboardPlanEditor: Focus on added var and autofill name 2024-01-28 21:03:22 +01:00
Serhii Snitsaruk 174810fb34 Editor: Validate var name in BlackboardPlanEditor 2024-01-28 20:15:42 +01:00
Serhii Snitsaruk 7ac1bc2dec Use variable property editor within the param property editor 2024-01-28 19:24:59 +01:00
Serhii Snitsaruk 73f51f23ef Implement BB variable property editor 2024-01-28 17:49:38 +01:00
Serhii Snitsaruk a6717ec76d Editor: Show only relevant hints for the chosen variant type in the Blackboard Plan editor 2024-01-26 16:47:45 +01:00
Serhii Snitsaruk 761b211740 Editor: Mark behavior tree as dirty when blackboard plan changes 2024-01-26 16:47:26 +01:00
Serhii Snitsaruk f912f0acc4 Usability improvements 2024-01-25 22:58:21 +01:00
Serhii Snitsaruk 5fee89b00b Make blackboard improvements compatible with GDExtension 2024-01-25 19:46:27 +01:00
Serhii Snitsaruk 8155c2764a Refactoring and clean up 2024-01-25 14:35:48 +01:00
Serhii Snitsaruk 06052332b2 BlackboardPlanEditor: Fixes and clean up 2024-01-25 11:08:35 +01:00
Serhii Snitsaruk 15e0323919 Implement BlackboardPlan editor 2024-01-24 23:11:09 +01:00
Serhii Snitsaruk 390d4a9385 New and improved workaround for the missing ClassDB::add_virtual_method 2024-01-17 22:46:48 +01:00
Serhii Snitsaruk c5be3a725f Editor: Links to "Creating custom tasks" doc page in the editor 2024-01-17 15:51:24 +01:00
Serhii Snitsaruk 27d3ec7555 Editor: Show alert about editing project settings in GDExtension 2024-01-17 15:17:22 +01:00
Serhii Snitsaruk dc8dcf9d71 Add action banner if native method override warning is set to Error 2024-01-17 14:49:43 +01:00
Serhii Snitsaruk 17a480ed19 Utilize space better with BBParam property editor
For types that need more space, the bottom editor will be used instead. In effect also for string parameters with @export_multiline.
2024-01-15 21:57:31 +01:00
Serhii Snitsaruk 61790085cc Fix editor shortcuts not working 2024-01-14 23:50:35 +01:00
Serhii Snitsaruk 80781db7cd Fix compilation issues related to open_doc_*() 2024-01-14 16:54:08 +01:00
Serhii Snitsaruk cbbc0b0135 Link to online docs in the code 2024-01-13 22:40:27 +01:00
Serhii Snitsaruk f546e285b7 Refactor and clean up the code 2024-01-13 17:10:42 +01:00
Serhii Snitsaruk 21b5053b72 Rename window wrapper 2024-01-11 15:38:29 +01:00
Serhii Snitsaruk 52f218e6b9 Don't compile editor classes into template builds 2024-01-11 11:22:02 +01:00
Serhii Snitsaruk e6c87be723 Fix various bugs and unit tests 2024-01-11 00:31:42 +01:00
Serhii Snitsaruk 0e37d3dfa3 Fix module compilation 2024-01-10 22:45:42 +01:00
Serhii Snitsaruk ac3da5ab90 Handle resource reloading (or for GDExtension - don't) 2024-01-10 20:00:04 +01:00
Serhii Snitsaruk 8e9cc74857 Fix: User icons are not showing in the task palette 2024-01-10 19:16:43 +01:00
Serhii Snitsaruk 59537138bc Fix: Create script template not working as expected 2024-01-10 15:23:04 +01:00
Serhii Snitsaruk a8dc78765b Restore icons 2024-01-10 01:17:09 +01:00
Serhii Snitsaruk 960f04b0ab Fix Forward button icon and crash 2024-01-10 00:02:24 +01:00
Serhii Snitsaruk c1d0353798 Don't show "Open debugger" in GDExtension 2024-01-09 21:59:09 +01:00
Serhii Snitsaruk a9a38bbffb Port debugger 2024-01-09 21:47:22 +01:00
Serhii Snitsaruk d1030b877c Project config file macro 2024-01-09 15:23:02 +01:00
Serhii Snitsaruk 59a8ab97d8 chore: Rename macro LSNAME to LW_NAME 2024-01-09 13:42:54 +01:00
Serhii Snitsaruk 9645baeb30 Port LimboAI plugin and editor 2024-01-09 13:34:24 +01:00
Serhii Snitsaruk bb346ef5f2 Port TaskTree 2024-01-07 21:20:51 +01:00
Serhii Snitsaruk 97daa29eda Port TaskPalette
Not even sure if it works, since I need other bits before I test it.
2024-01-07 17:33:05 +01:00
Serhii Snitsaruk 73497b1908 Port ModSwitchButton 2024-01-07 13:45:27 +01:00
Serhii Snitsaruk f9ad9cc794 Port ActionBanner 2024-01-07 13:36:59 +01:00
Serhii Snitsaruk 3d86a76db9 Port BehaviorTreeView 2024-01-07 06:51:34 +01:00
Serhii Snitsaruk 0767c0eee1 Port BTPlayer and LimboDebugger (game-side part) 2024-01-07 02:40:51 +01:00
Serhii Snitsaruk 3f61204961 Open BehaviorTree in the BT editor when its property is clicked in the inspector 2023-12-18 15:49:20 +01:00
Serhii Snitsaruk 35f1dabe93 Editor: Add "Extract Subtree" action
Supports undo-redo, but it doesn't remove the newly created file automatically.
2023-12-17 15:24:38 +01:00
Serhii Snitsaruk a2a2ba1f7b TaskPalette: Shift+Click to add task after the selected and on the same level as the selected task. 2023-12-17 14:26:38 +01:00
Serhii Snitsaruk c20e0dfc2d Don't focus on buttons in Task Palette 2023-12-17 13:59:03 +01:00
Serhii Snitsaruk 9abf8a084f Fix debugger's "elapsed" column not always has enough space for decimals
Closes #5.
2023-12-16 11:12:47 +01:00
Serhii Snitsaruk ed72784766 Add a header label for "Change Type" popup 2023-12-14 23:51:48 +01:00
Serhii Snitsaruk 08a8ef9c77 Disable some task palette functionality when it is in dialog mode 2023-12-14 23:38:02 +01:00
Serhii Snitsaruk f94aca4433 Add "Change Type" popup and menu action 2023-12-14 23:18:44 +01:00
Serhii Snitsaruk fb8585282d Debugger: Add the resource header control with a path to the BehaviorTree for the currently debugged instance. 2023-12-12 23:37:28 +01:00
Serhii Snitsaruk dfa332490a Add object(resource) support for variant param editor 2023-12-10 16:32:41 +01:00
Serhii Snitsaruk 678df76c65 Hide type choice when editing variable name 2023-12-10 15:58:57 +01:00
Serhii Snitsaruk 2fc5732ed8 Fix param type button not updated when property is reset 2023-12-10 15:50:03 +01:00
Serhii Snitsaruk 949583a6b4 Change type choice position, appearance and tooltip 2023-12-10 14:51:52 +01:00
Serhii Snitsaruk 106abe0b5a Add support for variant param editing and fix bug with ModeSwitchButton 2023-12-10 14:35:28 +01:00
Serhii Snitsaruk 7bce63fbcb Remove separation in param editor 2023-12-09 21:28:20 +01:00
Serhii Snitsaruk 91ed8bfe3d Implement mode switch button for BB parameters 2023-12-09 19:31:51 +01:00
Serhii Snitsaruk b4bef31df5 Add property editor for blackboard parameters 2023-12-08 21:56:14 +01:00
Serhii Snitsaruk 60012d984b Fix drag & drop position in the same branch
Also, refactor get_child_index() into get_index().
2023-11-22 13:05:55 +01:00
Serhii Snitsaruk 52a8dc2a0b Merge branch 'godot42' 2023-10-30 10:26:40 +01:00
Serhii Snitsaruk dca3ba38c0 Fix error when trying to add fav task while no BT is edited 2023-10-29 13:45:32 +01:00
Serhii Snitsaruk f9f930133f Fix Script includes 2023-10-28 13:09:03 +02:00
Serhii Snitsaruk bf91be1ff1 Fix StyleBoxFlat includes 2023-10-28 13:08:26 +02:00
Serhii Snitsaruk 2b13c24277 Add "Introduction" menu item linking to BehaviorTree doc 2023-10-24 15:44:18 +02:00
Serhii Snitsaruk 0c325e3660 Increase help tooltip maximum characters to 1400 2023-09-28 13:57:27 +02:00
Serhii Snitsaruk 953d98f89c Add probability icon 2023-09-26 16:28:53 +02:00
Serhii Snitsaruk b5a44c0807 Fix BTProbabilitySelector showing probability for comments 2023-09-26 16:28:47 +02:00
Serhii Snitsaruk 27254581a4 Fix Probability popup stuck with ghost value 2023-09-26 11:10:23 +02:00
Serhii Snitsaruk 1df821fdfa Allow editing weight as percent in Probability popup 2023-09-25 22:36:37 +02:00
Serhii Snitsaruk 52a70fdee5 Add editor support for BTProbabilitySelector 2023-09-25 18:07:26 +02:00
Serhii Snitsaruk 22d82d7c02 Fix "Edit Script" in task palette not switching workspace 2023-09-20 10:32:38 +02:00
Serhii Snitsaruk e7687d7a57 Update demo and remove debug prints 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 9a4fd8ad12 Update script template 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 97eee2a801 Fix not registering BT instance with debugger when BTPlayer is removed and then added to SceneTree 2023-09-09 13:37:09 +02:00
Serhii Snitsaruk a625173786 Cache theme items at LimboDebuggerPluggin 2023-08-29 12:54:38 +02:00
Serhii Snitsaruk 8dd61357da Cache theme items in TaskPalette 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk 235d596e59 Cache theme items in LimboAIEditor 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk e794436c69 Cache theme items in TaskTree 2023-08-29 12:44:40 +02:00
Serhii Snitsaruk 4ff1b874f3 Assign "bold" font to tasks with custom name set in BT debugger
Also, fixes resources used without Ref in debugger view.
2023-08-29 12:44:31 +02:00
Serhii Snitsaruk 5a0ff91658 Fix task disappearing on drag & drop 2023-08-28 16:22:44 +02:00
Serhii Snitsaruk df92ea02f0 Remove hard-coded BTComment from toolbar and add it to favorite default instead 2023-08-28 13:23:25 +02:00
Serhii Snitsaruk e73d4b0959 TaskPalette: Remember filter settings in a project config.
Also, fixes ConfigFile usage without Ref.
2023-08-28 11:39:56 +02:00
Serhii Snitsaruk 60f1d12246 Add: Filter button pressed state reflects filter settings 2023-08-27 12:22:49 +02:00
Serhii Snitsaruk 8341396640 Fixes to filter popup and task palette 2023-08-26 19:42:17 +02:00
Serhii Snitsaruk a601d44517 TaskPalette filter: Add background for category list 2023-08-26 16:57:18 +02:00
Serhii Snitsaruk 62f964474c Filter tasks in TaskPalette by category and type 2023-08-26 15:41:11 +02:00
Serhii Snitsaruk 0bd60bae88 Extract TaskTree code 2023-08-26 10:24:08 +02:00
Serhii Snitsaruk cff4626b2d Extract TaskPanel code => TaskPalette 2023-08-26 10:08:01 +02:00
Serhii Snitsaruk 2ffcbf0565 Add `LimboTaskDB` to handle task categories and scanning user tasks 2023-08-25 17:32:46 +02:00
Serhii Snitsaruk f489744755 Fix: Pressing keys after editor starts result in errors printed.
"scene/main/node.cpp:1748 - Parameter "p_node" is null."
2023-08-23 16:32:02 +02:00
Serhii Snitsaruk 067f73e11e Add documentation tooltips for tasks in the panel 2023-08-23 13:06:18 +02:00
Serhii Snitsaruk 2fdcff4886 Show tasks without category in "Uncategorized" section 2023-08-22 15:20:24 +02:00
Serhii Snitsaruk e2d596d44a Show warning banner when favorite task is not found 2023-08-22 14:43:45 +02:00
Serhii Snitsaruk 24678e4332 Implement ActionBanner class for actionable editor alerts 2023-08-22 12:20:09 +02:00
Serhii Snitsaruk 4942173e5b Implement "User task folder doesn't exist" warning 2023-08-21 18:17:34 +02:00
Serhii Snitsaruk b33b0c6993 Add "Refresh" button to TaskPanel 2023-08-21 15:51:18 +02:00
Serhii Snitsaruk 00ed65f0fb Use ProjectSettings path for script templates 2023-08-21 15:27:30 +02:00
Serhii Snitsaruk 4cabbc6082 Implement "Misc->Create Script Template" 2023-08-21 14:57:34 +02:00
Serhii Snitsaruk 1cb3b64a29 Add "Misc>Project Settings..." menu option 2023-08-21 11:51:19 +02:00
Serhii Snitsaruk 79c71d06f5 Add global shortcut for "Open Debugger" menu option 2023-08-20 11:49:33 +02:00
Serhii Snitsaruk 2afdb4bc95 Add "Open Debugger" menu option and "Misc" menu 2023-08-20 11:34:13 +02:00
Serhii Snitsaruk e851011678 Rename dialog now says "Edit comment" for comments 2023-08-19 13:12:24 +02:00
Serhii Snitsaruk 0ae2b6869a Don't count BTComment tasks for configuration warnings 2023-08-19 12:20:18 +02:00
Serhii Snitsaruk a717a3ed8f Add BTComment task 2023-08-18 21:38:28 +02:00
Serhii Snitsaruk 107b94fad6 Emphasize tasks with custom name set 2023-08-18 18:53:55 +02:00
Serhii Snitsaruk 5c3445236f Implement: Add/Remove task favorites
Favorite tasks are tasks selected to be shown on the toolbar.
Order can be edited in the project settings.
2023-08-18 13:24:53 +02:00
Serhii Snitsaruk b3dedc737e Add a popup menu for tasks in the TaskPanel
Adds such menu items (similar to task popup menu):
- Edit Script
- Open Documentation
2023-08-17 18:14:24 +02:00
Serhii Snitsaruk 985c4812f3 Editor: Add "Open Documentation" popup menu option 2023-08-17 15:29:12 +02:00
Serhii Snitsaruk a2b123a9be Editor: Add "Edit Script" popup menu option 2023-08-17 11:41:40 +02:00