Commit graph

613 commits

Author SHA1 Message Date
Silc Renew
9d47e079b7 Move some methods to Animation from Variant for refactoring 2022-09-15 04:52:43 +09:00
Hugo Locurcio
f7292dbeb3
Rename or_lesser range property hint to or_less
"less" should be used for quantity, rather than "lesser".

Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Rémi Verschelde
736632ee7e
Merge pull request #63893 from guilhermefelipecgs/fix_state_machine_is_playing
Fix AnimationNodeStateMachinePlayback::is_playing
2022-08-31 17:41:17 +02:00
Rémi Verschelde
fbf8632556
Merge pull request #64247 from guilhermefelipecgs/fix_end_node
Re-add AnimationNodeStateMachine::end_node for root state machine
2022-08-31 17:40:38 +02:00
Rémi Verschelde
7b63e5db1e
Merge pull request #59919 from piiertho/enhancement/rename-AnimationNodeTransition-input_count-to_enabled_inputs 2022-08-31 12:07:31 +02:00
Pierre-Thomas Meisels
9391316b8e enhancement: Rename declared property AnimationNodeTransition::input_count to AnimationNodeTransition::enabled_inputs 2022-08-31 10:34:03 +02:00
Hugo Locurcio
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient interpolate() to sample()
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Micky
2b18a4002c Cast between float and ints in Tween.tween_property() 2022-08-30 10:53:31 +02:00
Haoyu Qiu
385a5b44aa Improve documentation for get_animation() 2022-08-29 14:54:57 +08:00
Silc Renew
931fb4dc11 Add linear/cubic angle interpolation to Animation interpolation type 2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
0123752dc4
Merge pull request #54456 from rafallus/fix/anim_state_machine_start
Fix AnimationTree state machine start()
2022-08-26 07:47:11 +02:00
Rémi Verschelde
b9919fd87d
Merge pull request #64678 from TokageItLab/implement-ease-baker
Fix Quaternion Tween and add Easing baker to AnimationTrackEditor
2022-08-23 09:19:21 +02:00
Rémi Verschelde
b8a64313f0
Merge pull request #59564 from KoBeWi/FINALLY,_ULTIMATE_UNDO_REDO 2022-08-22 22:37:33 +02:00
Rémi Verschelde
9c567a0604
Merge pull request #63802 from TokageItLab/curve-transition 2022-08-22 22:30:09 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
kobewi
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Silc Renew
f7dd83ce60 Fix Quaternion Tween and implement ease baker 2022-08-22 19:04:58 +09:00
Aaron Franke
8893b2bdb4
Clean up mesh include code and comments 2022-08-20 13:24:40 -05:00
Silc Renew
2c2e1a7736 added Curve in animation node transition for better control over cros…
Co-authored-by: jeronimo-schreyer <jeronimo.schreyer@gmail.com>
2022-08-18 08:17:30 +09:00
Guilherme Felipe de C. G. da Silva
15b5bc88e2 Re-add AnimationNodeStateMachine::end_node for root state machine
Fix #63660
2022-08-10 19:29:53 -03:00
Yuri Sizov
1362bc22bd Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript 2022-08-08 16:36:01 +03:00
Guilherme Felipe de C. G. da Silva
a2e63096c6 Fix AnimationNodeStateMachinePlayback::is_playing
Fix #24790
2022-08-03 14:38:57 -03:00
Guilherme Felipe de C. G. da Silva
0ad580a740 Fix AnimationNodeStateMachine::rename_node 2022-07-31 18:47:19 -03:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
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-29 16:26:13 +02:00
Hugo Locurcio
aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.

This can be used to create videos that stop at a specified time
without having to write any script.

A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.

A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
Silc Renew
dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
Silc Renew
e27119a51f Fix initial value of TRS3DTrack cache in AnimationPlayer 2022-07-26 05:32:26 +09:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
reduz
455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
João Pedro São Gregorio Silva
324b4884d6 Fix incorrect expression base in AnimationNodeStateMachinePlayback::_check_advance_condition 2022-07-21 16:36:52 +02:00
Silc Renew
9be288edf9 refactor sync in AnimationTree 2022-07-16 21:45:32 +09:00
Rémi Verschelde
d631ee3307
Merge pull request #62510 from MinusKube/animation-reset-crash
Fix animation player crashing when caching disabled tracks
2022-06-29 10:19:33 +02:00
MinusKube
a73882305c Fix animation player crashing when caching disabled tracks 2022-06-29 06:18:45 +02:00
Silc Renew
2201c281dd fixed Pingpong animation get snaging on the edge in AnimationTree 2022-06-29 08:39:41 +09:00
SaracenOne
75a8606b83 Add AnimationTree Advance Expressions
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-28 09:26:13 -07:00
Rémi Verschelde
1a4a4856f6
Merge pull request #61885 from TokageItLab/fix-method-seek
Improved way of getting MethodTrack keys
2022-06-23 10:07:45 +02:00
Rémi Verschelde
21b51fdf7e
Merge pull request #61826 from guilhermefelipecgs/fix_leak
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-23 09:58:51 +02:00
Rémi Verschelde
64918e4ae9
Merge pull request #62337 from reduz/respect-disabled-animation-tracks
Respect disabled animation tracks
2022-06-23 09:13:54 +02:00
reduz
11805ac01d Respect disabled animation tracks
Fixes #25537, supersedes #60509
2022-06-23 08:35:34 +02:00
reduz
df6cd650d1 Fix animation reset on save
Old (prototype) name was left in code

Supersedes #60565
2022-06-23 07:49:41 +02:00
Silc 'Tokage' Renew
dedc4710a3 improved way of getting method track keys 2022-06-23 04:57:42 +09:00
reduz
141c375581 Clean up Hash Functions
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Haoyu Qiu
74e15ea35f Remove argument option for the remove_animation that no longer exists 2022-06-19 11:08:19 +08:00
Andreas Raddau
0e4fd72ae6 Remove duplicate assignment of AnimationNode::State.valid
In AnimationTree::_process_graph, the State.valid variable is set to true.
A few lines later, it's set again. Probably a copy/paste mistake. This
commit removes the second assignment.
2022-06-18 11:59:19 +02:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
Guilherme Felipe de C. G. da Silva
7fc3aa43ce Fix ObjectDB instances leaked on state machine when editor closes 2022-06-08 17:08:48 -03:00