summaryrefslogtreecommitdiff
path: root/scene/animation/animation_node_state_machine.cpp
AgeCommit message (Collapse)Author
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-26Fix wrong AnimationStateMachine process for end of fadingSilc Renew
2022-12-23Merge pull request #70278 from ↵Rémi Verschelde
TokageItLab/add-animation-started-finished-signal-to-tree Add `animation_started/finished` signals to `AnimationTree` and fix time accuracy in StateMachine
2022-12-23Merge pull request #65312 from SaracenOne/auto_advance_behaviourRémi Verschelde
Make auto-advance flag a requirement for conditional/expression evaluation
2022-12-21Fix StateMachine cannot connect nodes bugSilc Renew
2022-12-21Add animation_started/finished signals to AnimationTreeSilc Renew
2022-12-20Fixed a bug where negative Blend values were being discardedSilc Renew
2022-12-16Change auto_advance flag to advance_mode enum and unify with disabled flag.SaracenOne
Expressions and conditions now require auto mode to be set to auto. Adds a toggle button to the state machine editor for whether new transitions advance settings should default to auto mode or not.
2022-12-01Refactor process of animation to retrive keys more exactlySilc Renew
2022-11-22Refactor process of AnimationTree for end of animationSilc Renew
2022-10-07Merge pull request #67020 from GuilhermeGSousa/remove-transition-expression-nodeRémi Verschelde
Remove expression base node for transitions
2022-10-07Remove expression base node for transitionsGuilherme Sousa
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-25Fix expression base path on transitionsGuilherme Sousa
2022-08-31Merge pull request #63893 from guilhermefelipecgs/fix_state_machine_is_playingRémi Verschelde
Fix AnimationNodeStateMachinePlayback::is_playing
2022-08-31Merge pull request #64247 from guilhermefelipecgs/fix_end_nodeRémi Verschelde
Re-add AnimationNodeStateMachine::end_node for root state machine
2022-08-30Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()`Hugo Locurcio
"sampling" is a more accurate term than "interpolating" for what's happening when using that function.
2022-08-26Merge pull request #54456 from rafallus/fix/anim_state_machine_startRémi Verschelde
Fix AnimationTree state machine start()
2022-08-18added Curve in animation node transition for better control over cros…Silc Renew
Co-authored-by: jeronimo-schreyer <jeronimo.schreyer@gmail.com>
2022-08-10Re-add AnimationNodeStateMachine::end_node for root state machineGuilherme Felipe de C. G. da Silva
Fix #63660
2022-08-03Fix AnimationNodeStateMachinePlayback::is_playingGuilherme Felipe de C. G. da Silva
Fix #24790
2022-07-31Fix AnimationNodeStateMachine::rename_nodeGuilherme Felipe de C. G. da Silva
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-21Fix incorrect expression base in ↵João Pedro São Gregorio Silva
`AnimationNodeStateMachinePlayback::_check_advance_condition`
2022-07-16refactor sync in AnimationTreeSilc Renew
2022-06-28Add AnimationTree Advance ExpressionsSaracenOne
Allows specifying an expression as a condition for state machine transitions. This gives much greater flexibility for creating complex state machines. By directly interfacing with the script code, it is possible to create complex animation advance condition for switching between states. Ensure assigning AnimationTreeStateMachineTransition base expression node in editor is relative to current AnimationTree node. Allow setting an expression base node on the AnimationTree itself. Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-23Merge pull request #61826 from guilhermefelipecgs/fix_leakRémi Verschelde
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-06-08Fix ObjectDB instances leaked on state machine when editor closesGuilherme Felipe de C. G. da Silva
2022-05-23Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git.
2022-05-18Merge pull request #60774 from TokageItLab/root-seek-modeRémi Verschelde
Fixed broken root motion calculation in internal process of `AnimationBlendTree` such as `NodeOneShot`
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-09Fixed delta & Implement selection of whether or not to seek rootSilc Renew
2022-05-02Improvements of state machineGuilherme Felipe
- Open the menu to add new animation nodes by dragging the transitions to empty areas and automatically connecting them. - Adds box selection to the state machine. - Add feature to group/ungroup selected nodes in a "sub" state machine. - Add start/end node by default. In addition, add new color to these nodes to differentiate then. - Add tooltip for transitions to show the connection "from -> to". - Add new "type" of transition line when multiple transitions are grouped. - Add popup to connect nodes in sub state machine. - Add dialog to select which nodes can be deleted when they are grouped. - Add classes: AnimationNodeStartState AnimationNodeEndState EditorAnimationMultiTransitionEdit - Implements disabled transition API Changes: - Now it's posible to add transitions between state machines, `AnimationNodeStateMachine::add_transition` will works with relative path, this means you can use it like this `add_transition("Idle", "Walk", tr)` or `add_transition("Idle", "StateMachine/Shoot)`.
2022-04-14Replaced loops_current with end_loopScottVMariotte
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-02-04String: Add contains().Anilforextra
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-10-30Fix AnimationTree state machine start()rafallus
2021-10-03Merge pull request #44964 from Dragoncraft89/animation_tree_bugRémi Verschelde
2021-09-30Use range iterators for `Map`Lightning_A
2021-08-09Use doubles for time in animation codeAaron Franke
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-05-25Tweak dozens of editor property hints for consistencyHugo Locurcio
- Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.