1
0
Fork 0
Commit Graph

498 Commits

Author SHA1 Message Date
Rémi Verschelde 1e57671718
Merge pull request #90130 from KoBeWi/erased_from_history
Expose EditorUndoRedoManager's `clear_history()`
2024-08-30 11:42:58 +02:00
Rémi Verschelde b310e5e064
Merge pull request #92842 from mihe/multi-node-keying
Allow keying properties when selecting multiple nodes
2024-08-30 09:59:01 +02:00
kobewi ad7a2d19a6 Expose EditorUndoRedoManager's clear_history() 2024-08-29 19:23:39 +02:00
Rémi Verschelde a5e157dd37
Merge pull request #91854 from ImpishOaths/PullReady
Don't lose in/out handles when bezier keyframe inserted on top of existing keyframe
2024-08-26 22:44:52 +02:00
Daniel Lowe 67a5932a4f Update AnimationPlayer in real-time when keyframe properties change 2024-08-26 07:19:01 -04:00
passivestar 155033384c Fix animation timeline resize widget allowing impossible internal values 2024-08-22 16:32:38 +04:00
passivestar 6120786ddc Allow theming animation editor 2024-08-21 15:29:27 +04:00
Mikael Hermansson 351f454a94 Allow keying properties with multiple nodes selected 2024-08-19 14:05:33 +02:00
A Thousand Ships 4fe0d0ee86
[Editor] Fix `AnimationTrackEditor::timeline_changed` signal
Signal was declared with two arguments, emitted with both two and three
2024-08-13 15:09:53 +02:00
Silc Lizard (Tokage) Renew b075eba68c Fix BlendShapeTrack insertion totally not working 2024-07-25 23:52:31 +09:00
BrinerLovo bf01119cdf
Animation: Fix reset value when adding new Bezier track
Fixes #81929.

In Float and Integer types, there is no subindex – only the primary value.
Currently, trying to retrieve a subindex from these types in the Variant leads
to a return value of null. To address this, the proposed change ensures that
the default value is returned for these types instead of attempting an invalid
subindex retrieval.
2024-07-08 23:18:03 +02:00
ImpishOaths 0f7c4d8375 Don't lose in/out handles when bezier keyframe inserted on top of existing keyframe
Apply suggestions from code review

Co-authored-by: Silc Lizard (Tokage) Renew <tokage.it.lab@gmail.com>
2024-07-08 09:05:07 -07:00
Silc Lizard (Tokage) Renew fae712d968 Fix broken sync between animation TrackEditor and PlayerEditor 2024-07-06 04:45:15 +09:00
Rémi Verschelde d2fc2a35b3
Merge pull request #92985 from KoBeWi/confirm_insert_shift
Restore "Confirm Insert Track" editor setting
2024-07-05 15:07:29 +02:00
Kasper Frandsen 7c6f32ddbf Clamp bezier handle length to half the length of animation 2024-07-04 13:41:12 +01:00
Silc Lizard (Tokage) Renew dde616f01c Revert the default InterpolationType with angle property to Linear 2024-06-28 21:22:11 +09:00
Rémi Verschelde eeef96b144
Merge pull request #93408 from CookieBadger/animation-track-key-inspector-fix
Fix displaying selected Bezier animation keys in inspector
2024-06-28 11:34:52 +02:00
emild 2b8b21c7f8 fix animation bezier keys not showing in inspector after selection 2024-06-21 12:29:33 +02:00
A Thousand Ships fbb879debd
[Scene] Add `SceneStringNames::text/value_changed` 2024-06-19 09:44:38 +02:00
A Thousand Ships ca18a06ecb
[Scene] Add `SceneStringNames::confirmed` 2024-06-19 09:40:54 +02:00
A Thousand Ships d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected` 2024-06-19 09:39:05 +02:00
A Thousand Ships d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)` 2024-06-18 17:24:27 +02:00
Rémi Verschelde a06a5e2ff1
Merge pull request #93257 from bruvzg/antrk_popup_drag
[AnimationTrackEdit] Cancel key drag when popup is shown.
2024-06-18 14:08:52 +02:00
Rémi Verschelde d66281c7b8
Merge pull request #80860 from RandomShaper/harmonize_track_insert
Simplify right-click track insertion code
2024-06-17 10:57:42 +02:00
bruvzg 0e76739bd6 [AnimationTrackEdit] Cancel key drag when popup is shown. 2024-06-17 10:22:58 +03:00
Rémi Verschelde e988c1a682
Merge pull request #92870 from KoBeWi/maybe_RESET_a_bit_less
Don't allow creating invalid RESET keys
2024-06-13 17:19:23 +02:00
Pedro J. Estébanez 9ba984e2c1 Simplify right-click track insertion code 2024-06-13 09:37:47 +02:00
kobewi 21345defe9 Restore "Confirm Insert Track" editor setting 2024-06-10 17:47:59 +02:00
kobewi 461bb8ee02 Don't allow creating invalid RESET keys 2024-06-07 15:02:13 +02:00
Silc Lizard (Tokage) Renew b83dc9b25b Fix unstable AnimationTrackEditor snapping value 2024-06-04 22:06:40 +09:00
A Thousand Ships 926afccbd8
[Scene] Add `SceneStringNames::panel` 2024-05-30 22:54:50 +02:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +02:00
kobewi e065d7132a Remove duplicate shortcut definitions 2024-05-21 23:28:49 +02:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
A Thousand Ships b4c6cc7d82
[Core] Add case-insensitive `String::containsn` 2024-05-08 12:48:01 +02:00
Rémi Verschelde 4b070e8031
Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Silc Lizard (Tokage) Renew fc21161525 Make adding track process to set interpolation type on creating RESET 2024-04-27 11:39:30 +09:00
RedMser 9cd30208d6 Improve SceneTreeEditor usability
- Mark contextually relevant node
- Remember/Clear selection as appropriate
- Scroll to marked/selected node
2024-03-31 21:35:10 +02:00
Rémi Verschelde 05372773e1
Merge pull request #89599 from timothyqiu/vegetate
Fix unexpected auto translation of editor `Tree` content
2024-03-23 21:15:39 -07:00
Rémi Verschelde 0ca0e8fc49
Merge pull request #88498 from CookieBadger/animation-fix-snapping-multiple
Fix snapping multiple keys in Animation
2024-03-24 01:14:23 +01:00
Rémi Verschelde b0505b580d
Merge pull request #88445 from CookieBadger/animation-paste-snap-fix
Fix various bugs in Animation key right click actions
2024-03-24 01:14:08 +01:00
Hilderin b46d0a6ea8 Add auto focus timeline and bezier scale on animation editor
Add a button at the bottom of the animation editor that change the zoom based on the animation length and the bezier scale based on the values and handles of the displayed tracks. The icon and the tooltip of the button change depending if the bezier editor is displayed or not.

Some refactor was made in animation_track_editor.cpp to remove code duplication with the visibility check of the tracks.

This should help with the issue #85826
2024-03-19 21:01:15 -04:00
emild d88df641ee Fix snapping multiple keys in Animation 2024-03-18 11:21:12 +01:00
Haoyu Qiu 8cd1ebbd6d Fix unexpected auto translation of Tree content 2024-03-18 09:31:00 +08:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Rémi Verschelde 6037500219
Merge pull request #69032 from KoBeWi/check_every_changed_setting_in_every_group_everywhere()
Use `check_changed_settings_in_group()` everywhere
2024-02-20 19:34:30 +01:00
emild 041315253f Fix various bugs in Animation key right click actions 2024-02-20 12:17:20 +01:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
CookieBadger 47dba6bc56 use ED_IS_SHORTCUT macro instead of matches_event 2024-02-19 13:16:06 +01:00
Rémi Verschelde 7bc2605f02
Merge pull request #88436 from AThousandShips/editor_ellipses
[Editor] Add missing ellipses to menu options that open dialogs
2024-02-18 11:23:48 +01:00
Rémi Verschelde 4002ea7e15
Merge pull request #88350 from CookieBadger/animation-cut-keyframe
Implement Cut Selected Keys in AnimationPlayer
2024-02-18 11:23:41 +01:00
A Thousand Ships fc3a2933de
Fix crash with animation audio track offset 2024-02-17 17:42:45 +01:00
A Thousand Ships dde5368dee
[Editor] Add missing ellipses to menu options that open dialogs 2024-02-17 17:09:17 +01:00
Silc Lizard (Tokage) Renew 4659090543 Make consistent the retrieval of audio tracks 2024-02-18 00:15:33 +09:00
Rémi Verschelde 2c5fa95aea
Merge pull request #87530 from YeldhamDev/atr_inheritance
Rework the auto translation system
2024-02-17 15:54:31 +01:00
Rémi Verschelde b6ef996eb7
Merge pull request #86608 from TokageItLab/add-warn-setting-anim
Add some options to Project Settings to silence warnings in AnimationMixer caching
2024-02-17 00:22:52 +01:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Rémi Verschelde b8a402b3cb
Merge pull request #88352 from CookieBadger/bezier-handle-mode-undo-fix
Fix Bezier Editor HandleMode UndoRedo History mismatch
2024-02-15 15:45:27 +01:00
emild 0f7b4e4252 Fix bezier editor handle mode undo history mismatch 2024-02-15 01:31:07 +01:00
emild af08997de7 implemented cut selected keys in animation player 2024-02-15 00:44:40 +01:00
Silc Lizard (Tokage) Renew dc4b7bc364 Add option to silence some warnings in AnimationMixer caching 2024-02-14 14:48:02 +09:00
Rémi Verschelde 9fb52d969b
Merge pull request #88302 from CookieBadger/bezier-remove-unused-signals
Remove unused signals in AnimationBezierTrackEdit
2024-02-13 23:43:57 +01:00
emild e4d491a880 remove unused signals in AnimationBezierTrackEdit 2024-02-13 22:52:54 +01:00
emild b66b188cf9
Fix vertical zoom factor in Animation Bezier Editor 2024-02-13 10:32:50 +01:00
Rémi Verschelde 75255bd15c
Merge pull request #87250 from CookieBadger/animation-copy-paste-keyframe
Implement consistent functionality for select, copy, paste, and duplicate in AnimationPlayer
2024-02-12 13:33:57 +01:00
Rémi Verschelde 7b1525236a
Merge pull request #85367 from KoBeWi/elephant_in_the_editor
Fix custom type icon sizes in animation tracks
2024-02-12 13:33:27 +01:00
emild a5cb760d90 implement consistent select, copy, paste, duplicate in animation player 2024-02-06 18:57:10 +01:00
Yuri Sizov 635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde 0354dc4205
Merge pull request #86867 from TokageItLab/reset-copy-options-for-more
Copy InterpolationType / LoopMode for all track & UseBlend option for audio when adding reset keys
2024-01-08 11:59:07 +01:00
Rémi Verschelde a2bd7c3301
Merge pull request #85142 from CookieBadger/animation-player-improvements
Improve usability of zooming in the animation editor
2024-01-08 11:50:38 +01:00
CookieBadger 5b3d5e0a65 Improved usability of zoom features in animation player 2024-01-07 01:30:06 +01:00
Silc Lizard (Tokage) Renew 5ade1077ff Copy intrp/loop for all track & use_blend for audio when adding reset 2024-01-06 17:15:45 +09:00
Rémi Verschelde 4c0db7765d
Merge pull request #86630 from TokageItLab/value-track-default-option
Make default options of int value track refer to RESET animation
2024-01-02 18:06:02 +01:00
Silc Lizard (Tokage) Renew eecfe5d75a Make default options of int value track refer to RESET animation 2024-01-02 13:13:47 +09:00
kobewi d96fca371b Copy track update mode when adding reset key 2023-12-30 18:02:55 +01:00
Saracen 09a4aa3ce8 Fix setting bezier track handle mode from inspector. 2023-12-14 23:11:47 +00:00
kobewi 3517ab5627 Fix custom type icon sizes in animation tracks 2023-11-25 23:41:25 +01:00
Silc Lizard (Tokage) Renew 21833f3dfd Fix seeking bug in AnimationPlayerEditor 2023-11-22 06:43:26 +09:00
Saracen 8db9884dd5 Add descriptive warning for animation track hint fails. 2023-10-30 14:34:15 +00:00
Rémi Verschelde e897a46a5f
Merge pull request #82627 from kleonc/animation-editor-audio-clip-offset-sliders-limit-to-length
Limit animation audio clip inspector offset sliders to clip length
2023-10-16 10:38:08 +02:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
RealMadvicius e7a35d1521 Fix crash when clicking on "Interpolation Mode" with nonexistent node path
issue reference [https://github.com/godotengine/godot/issues/81769]
#81769 AnimationPlayer: Editor crashes when clicking on "Interpolation Mode" with nonexistent node path

- adding a nullptr check on a Node pointer obtained from get_node(NodePath) in case it is null now we wont execute the next instruction

> ClassDB::get_property_info(nd->get_class(), prop, &prop_info);

Which then prevents the crash
2023-10-07 11:34:02 +02:00
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde a3d6d60fe1
Merge pull request #81188 from the-sink/animation_player_things
Select node when clicked in AnimationPlayer timeline
2023-10-03 17:14:25 +02:00
kleonc c1008c2471 Limit animation audio clip inspector offset sliders to clip length 2023-10-01 18:40:41 +02:00
the-sink cbdb23e7ee Select node when clicked in AnimationPlayer timeline 2023-09-28 18:00:34 -07:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
A Thousand Ships e45927b2f2 Replace `radians` range hint with `radians_as_degrees` 2023-09-25 08:50:19 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
Haoyu Qiu b8b0339549 Improve undo action names
* Avoid concating strings manually for better i18n and easy l10n
   * Use `vformat` when possible
   * Use separate strings if the changing part is only a few hardcoded strings
* Don't put a period at the end of the name
2023-09-12 18:53:50 +08:00
jsjtxietian 042e0f7019 Ignore method track when drawing line between keys 2023-09-12 14:43:23 +08:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00