Commit Graph

181 Commits

Author SHA1 Message Date
Serhii Snitsaruk 761b211740 Editor: Mark behavior tree as dirty when blackboard plan changes 2024-01-26 16:47:26 +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 20a995d1d2 Rename BlackboardSource => BlackboardPlan
Because it's a better name ;)
2024-01-23 20:02:23 +01:00
Serhii Snitsaruk b04f7530e4 Add a mechanism for overriding and resetting variables in a derived blackboard source 2024-01-23 17:54:20 +01:00
Serhii Snitsaruk f84127657b Fix crash while initializing blackboard in the BTPlayer node 2024-01-23 16:22:10 +01:00
Serhii Snitsaruk dc40109ade Fix default object value issues 2024-01-23 15:56:30 +01:00
Serhii Snitsaruk 8c67886b52 Parsing BlackboardSource properties 2024-01-23 15:31:56 +01:00
Serhii Snitsaruk a247d0d67b Replace node blackboard data with BlackboardSource 2024-01-23 12:05:54 +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 c63785b5bc CallMethod: Use array of BBVariant to specify arguments
This allows specifying variables on the blackboard as arguments in additions to raw values.

WARNING: Breaks compatibility if you are using CallMethod tasks. CallMethod arguments in existing trees will need to be reassigned!
2024-01-15 21:51:17 +01:00
Serhii Snitsaruk 184361d460 CallMethod: Store result on the blackboard 2024-01-15 21:32:39 +01:00
Serhii Snitsaruk f546e285b7 Refactor and clean up the code 2024-01-13 17:10:42 +01:00
Serhii Snitsaruk eec085278a Fix name generation broken in module 2024-01-13 13:35:16 +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 966199e8dc Fix: Weird name showing on the tasks 2024-01-09 22:06:56 +01:00
Serhii Snitsaruk a9a38bbffb Port debugger 2024-01-09 21:47:22 +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 f5b1b52f67 Port LimboHSM, LimboState and BTState 2024-01-07 05:54:17 +01:00
Serhii Snitsaruk 0767c0eee1 Port BTPlayer and LimboDebugger (game-side part) 2024-01-07 02:40:51 +01:00
Serhii Snitsaruk 4f97c1bd24 Post the rest of the BT tasks (massive changes) 2024-01-07 00:47:46 +01:00
Serhii Snitsaruk 2c4e343a48 Port the first core classes to get started
Ported: Blackboard, BTTask, BTAction, BTComment, BTDecorator, BTComposite, BTDecorator, LimboStringNames, LimboTaskDB, LimboUtility
2024-01-06 21:04:34 +01:00
Serhii Snitsaruk 4cf5a18721 Fix another potential crash related to debugger not being active 2023-12-28 14:41:58 +01:00
Serhii Snitsaruk 9e33b81f50
Merge pull request #11 from Rubonnek/fix-limbodebugger-crash
Fix LimboDebugger crash when EngineDebugger is not active
2023-12-28 14:37:00 +01:00
Serhii Snitsaruk 22bfb9e3ab Improve BTCallMethod
- Fix `include_delta` not initialized for some reason
- Add additional tests
- Group argument properties
- Improve name generation
2023-12-28 14:26:39 +01:00
Wilson E. Alvarez 56d7fb91c6
Fix LimboDebugger crash when EngineDebugger is not active 2023-12-27 21:02:22 -05:00
Wilson E. Alvarez ab311c5770
Allow BTCallMethod to include its delta as an argument 2023-12-27 19:46:19 -05: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 71909648b7 Add "inline" optimizations 2023-11-22 13:41:28 +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 caf1ff86b0 SetAgentProperty: Operation feature 2023-11-20 15:02:18 +01:00
Serhii Snitsaruk c48eeef081 BTSetVar: Cover operations in unit tests & fix bugs 2023-11-15 16:35:56 +01:00
Serhii Snitsaruk 554ae5a165 Update class docs and refactor SetVar enums 2023-11-15 15:40:07 +01:00
Serhii Snitsaruk 1ac24e67bb BTSetVar: Specify operation to be performed with assignment 2023-11-15 14:45:10 +01:00
Serhii Snitsaruk 166cc8b1d9 Rename BTTask::cancel() to abort() and expose it. 2023-10-26 16:26:10 +02:00
Serhii Snitsaruk 39971b1e1a Improve BTPlayer doc 2023-10-26 13:44:09 +02:00
Serhii Snitsaruk b5a44c0807 Fix BTProbabilitySelector showing probability for comments 2023-09-26 16:28:47 +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 32cbce6b80 Add abort_on_failure policy to BTProbabilitySelector 2023-09-24 16:45:10 +02:00
Serhii Snitsaruk 55e0b7404c Add BTProbabilitySelector class 2023-09-24 14:06:09 +02:00
Serhii Snitsaruk c94073fb39 Move BTCallMethod to Utility category 2023-09-20 10:40:16 +02:00
Serhii Snitsaruk efe693347e Refactor to return enum instead of int in task methods 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 50bcbcf616 Promote TaskStatus to named enum 2023-09-19 15:29:29 +02:00
Serhii Snitsaruk 476c4fd497 Merge branch 'unit-testing' 2023-09-12 10:03:30 +02:00
Serhii Snitsaruk 427de50ea1 Fix exposed methods missing arguments 2023-09-12 09:46:10 +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 e1604fab67 Fix BTWaitTicks counting prematurely 2023-09-08 11:19:55 +02:00
Serhii Snitsaruk 198954e45f Fix BTSetAgentProperty wrong error message 2023-09-07 12:13:31 +02:00
Serhii Snitsaruk fe81b90dc1 Allow objects in BBNode 2023-09-05 11:00:58 +02:00
Serhii Snitsaruk fe551e0299 Fix BTSetVar succeeding and setting variable to null when value parameter doesn't exist on the Blackboard 2023-09-02 14:16:52 +02:00
Serhii Snitsaruk a07654394b Fix BTCallMethod incompatibility with .NET glue 2023-08-28 19:24:55 +02:00
Serhii Snitsaruk 25246a1c77 Reorganize task categories 2023-08-28 13:22:23 +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 3f673c6865 Improve BTComment
Warn user about having comment as root task or having other tasks as children
2023-08-19 12:39:51 +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 13f5eb1f71 Reorganize BT tasks 2023-08-15 17:49:13 +02:00
Serhii Snitsaruk 21c65541bf Refactor BTTask.get_configuration_warnings() 2023-08-15 17:06:07 +02:00
Serhii Snitsaruk d037295e1c Add CallMethod action task 2023-08-15 13:09:18 +02:00
Serhii Snitsaruk 015ec64771 Add BTAwaitAnimation action 2023-08-14 17:24:27 +02:00
Serhii Snitsaruk 94f6d289a8 Allow BTPlayAnimation with `animation_name` empty to resume playback after pause 2023-08-14 14:31:02 +02:00
Serhii Snitsaruk 8e3c4c7570 Add BTPauseAnimation action 2023-08-14 14:08:10 +02:00
Serhii Snitsaruk 0b1d249ebe BTStopAnimation: Add `keep_state` and fixes 2023-08-14 13:06:00 +02:00
Serhii Snitsaruk abe1117055 Add BTStopAnimation action 2023-08-14 12:43:12 +02:00
Serhii Snitsaruk 45cf74dca9 Add BTPlayAnimation action 2023-08-13 17:34:34 +02:00
Serhii Snitsaruk f286673dde BT*AgentProperty fixes 2023-08-11 22:16:03 +02:00
Serhii Snitsaruk 557d457c1c Add BTSetAgentProperty task 2023-08-11 12:33:39 +02:00
Serhii Snitsaruk d3d5a0c50e Refactor BTCheckVar 2023-08-10 13:12:13 +02:00
Serhii Snitsaruk 605444ee0f Add BTCheckAgentProperty condition 2023-08-10 13:04:53 +02:00
Serhii Snitsaruk a6077e202d Add BTCheckTrigger 2023-08-09 10:33:04 +02:00
Serhii Snitsaruk afe210b014 Update variables demo and small fixes 2023-08-08 15:07:02 +02:00
Serhii Snitsaruk 2795c6dcf2 Add BTCheckVar condition task 2023-08-08 15:06:01 +02:00
Serhii Snitsaruk c8ec35c798 Improve BTConsolePrint action
- Make generated name less verbose
- Escape new line and tab characters
2023-08-07 14:58:09 +02:00
Serhii Snitsaruk 34e70d48ce Add BTSetVar action
BTSetVar action can be used to assign any variant-type value to a blackboard variable.
2023-08-07 14:42:34 +02:00
Serhii Snitsaruk 458ad5280e BTRepeat: Add `forever` property
This property makes BTRepeat iterate child indefinitely.
2023-08-06 12:45:19 +02:00
Serhii Snitsaruk 6699fa0627 Fix errors with compiling on windows 2023-07-29 09:40:38 +02:00
Serhii Snitsaruk 7906a493ef BTTask: Don't show `elapsed_time` in inspector. 2023-07-27 13:52:29 +02:00
Serhii Snitsaruk 62e07e4395 Add MIT license - LimboAI is now Open Source! 2023-07-22 19:41:01 +02:00
Serhii Snitsaruk d2eede3f76 Fix shadowing members in the module 2023-07-20 20:10:02 +02:00
Serhii Snitsaruk 5dc002098f Reorganize files and sort includes 2023-07-20 18:35:36 +02:00
Serhii Snitsaruk 5c0c359832 Debugger: Add performance monitoring 2023-04-15 15:49:34 +02:00
Serhii Snitsaruk 29d994f3a0 Debugger: Use warning icon for alerts 2023-04-15 10:53:57 +02:00
Serhii Snitsaruk a6a11f56d9 Fix physics process_mode using wrong delta 2023-04-14 10:17:08 +02:00
Serhii Snitsaruk ded2ed2fef Add elapsed, timing info and improve drawing 2023-04-14 10:16:26 +02:00
Serhii Snitsaruk 9abfeadc21 Implement basics of behavior tree debugger 2023-04-13 12:46:48 +02:00
Serhii Snitsaruk 348aa4f750 Use double instead of float when dealing with time 2023-04-10 10:08:11 +02:00
Serhii Snitsaruk 6fc97c43cd Fix precision issues for _generate_name() tasks 2023-04-10 07:54:02 +02:00
Serhii Snitsaruk ef7480b054 Fix editor crash related to bt resource reloading 2022-12-19 10:29:46 +01:00
Serhii Snitsaruk d5088a9f20 Implement pascal case auto naming for tasks without _generate_name() 2022-12-17 21:18:11 +01:00
Serhii Snitsaruk 370efcba73 Refactor composite and decorator classes 2022-12-17 11:47:10 +01:00
Serhii Snitsaruk 3693c3fc50 Refactor BTAction classes 2022-12-17 11:26:48 +01:00
Serhii Snitsaruk 0ba36cb3dd Refactor BTTask class 2022-12-17 08:33:18 +01:00
Serhii Snitsaruk c67216c1e1 Refactor BTPlayer and BTState 2022-12-16 15:29:36 +01:00
Serhii Snitsaruk 0bb03c2b4c Clean and improve BehaviorTree resource class 2022-12-16 14:29:14 +01:00
Serhii Snitsaruk dbc9a7ad31 Add mostly minimal changes in order to compile and run with godot 4 2022-12-15 14:33:03 +01:00
Serhii Snitsaruk 5220c1c6e7 Fix _get_configuration_warning() is not called for scripts 2022-11-22 23:15:48 +01:00