Commit Graph

212 Commits

Author SHA1 Message Date
dcb4e5b22a Replace Animation::_clear() with explicit .clear() calls. 2025-01-09 16:43:57 +01:00
73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
ed13a840fa Add markers to animation 2024-09-29 17:27:36 +09:00
8eab2b52ed Merge pull request #96835 from Malcolmnixon/animation-optimize
Expose the optimize method of the Animation class to gdscript.
2024-09-26 18:45:15 +02:00
4c5e879cc5 Merge pull request #97380 from TheSofox/handle_modes_default_fix
Ensure `handle_modes` is given default values rather than flagging error if undefined
2024-09-25 12:39:22 +02:00
633df0b29c Handle handle_modes being undefined by giving default values rather than flagging error 2024-09-23 20:22:26 +01:00
dd9525be04 Fix animation compression going the wrong way
When compressing animation key frame indices the truncation breaks the animation near the border of pages.

We use banker's rounding (FE_TONEAREST) as implemented by fast_ftoi to get the nearest integer frame.
2024-09-21 19:20:19 -07:00
3e93970ef5 Expose the optimize method of the Animation class to gdscript. 2024-09-11 01:18:30 -04:00
154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
415331f474 Make Animation::capture_included read-only
The `PROPERTY_USAGE_READ_ONLY` flag only makes the property read-only in the inspector, but the property also has the `PROPERTY_USAGE_NO_EDITOR` flag which means it won't show up in the inspector. So it does nothing, while still making it editable from scripting.

To make it read-only for scripting too, this PR removes the setter from the `PropertyInfo`. And since the `set_capture_included` method is now unused, it was also removed.
2024-08-10 18:53:45 +02:00
7c6f32ddbf Clamp bezier handle length to half the length of animation 2024-07-04 13:41:12 +01:00
bea47d877b Fix seeking Animation immediate after playback for Discrete track 2024-06-08 22:09:37 +09:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
6fd8b25d38 Add argument options to AnimationPlayer for auto capture 2024-05-03 07:06:37 +09:00
36abb55dd2 Add auto_capture option to AnimationPlayer 2024-05-02 19:57:36 +09:00
9903e6779b Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
4659090543 Make consistent the retrieval of audio tracks 2024-02-18 00:15:33 +09:00
bc20fdf16f Add CallbackModeDiscrete to AnimationMixer 2024-02-17 18:25:56 +09:00
27575c4d4b Merge pull request #87817 from Dheatly23/fix-87813
Fix quaternion keyframe optimization for collinear rotation over 180 degrees
2024-02-12 13:34:22 +01:00
684752e75b Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
9862056fa5 Fix Quaternion Keyframe Optimization 2024-02-03 16:16:21 +07:00
a5dffe7804 Fix cubic interpolation wrong argument for the time 2024-01-31 14:02:42 +09:00
a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
e538ce3851 Add cubic_interpolate_in_time_variant() to Animation 2023-12-30 13:30:14 +09:00
12ce2e33b2 Restored the ability for linear interpolation to work on a mix of integer and float keyframes. 2023-12-13 00:24:46 +01:00
80c9533810 Rework blending method in Variant animation for Int/Array/String 2023-11-16 21:37:18 +09:00
034c0f1624 Replace sanity with safety for checks 2023-10-08 16:22:24 +02:00
5c43e4c1ef Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
1a52c0c543 Fix animation keyframes being skipped sometimes when being played backwards. #57271 2023-09-08 14:13:53 +01:00
035cf5e210 Fix incorrect cast when animating int
Type was cast to `int` rather than `int64_t`
Also corrects `real_t` to `double`
2023-09-04 11:58:29 +02:00
16565fb630 Merge pull request #79426 from sepTN/fix-basis-tweening
Fix `tween_property` on "Basis" to properly update its value
2023-07-14 18:50:12 +02:00
de14f09c1d Merge pull request #79279 from kleonc/animation-fix-transform-subtracting
Fix `Animation::subtract_variant` for affine transforms
2023-07-14 18:49:40 +02:00
eb7f87e9a8 Fix tween_property on "Basis" to properly update its value 2023-07-13 23:07:23 +07:00
87935ca837 Fix Animation::subtract_variant for affine transforms 2023-07-10 13:49:30 +02:00
1686a7a1a2 add 3.x compatibility for animation loop mode 2023-07-10 16:16:19 +05:30
fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
1bf7b84fbf Merge pull request #62123 from holgac/bugfix-62097
Fix infinite loop in animation compress
2023-01-27 15:42:05 +01:00
615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
e5f6e03490 Merge pull request #70547 from TokageItLab/pingpong-wrap
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
d95794ec8a One Copyright Update to rule them all
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".
2023-01-05 13:25:55 +01:00
8745c206c4 Fix pingpong with loop wrap is not working 2022-12-25 18:16:38 +09:00
060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
1fc3833617 Refactor process of animation to retrive keys more exactly 2022-12-01 22:07:47 +09:00
c1ec99f0e1 Refactor process of AnimationTree for end of animation 2022-11-22 18:12:45 +09:00
28af870750 Code simplifications found by cppcheck
They are based on:
- Boolean arithmetic simplifications
- setting variables that are not accessed
- constant variables
2022-11-21 08:43:36 +01:00
b739bafd51 Fix connection of animation changed signal in AnimationTrackEditor 2022-11-20 06:38:51 +09:00
efe3220b2e Fix periods in editor strings and messages
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
  messages.
2022-11-14 19:36:36 +01:00