Commit Graph

443 Commits

Author SHA1 Message Date
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
Yuri Sizov 3bc842b1b1 Merge pull request #54524 from Calinou/animation-editor-add-bypass-confirmation
Skip keyframe creation dialog when holding Shift in the animation editor
2023-07-26 18:39:01 +02:00
kobewi de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hugo Locurcio 5e117ee7bf
Skip keyframe creation dialog when holding Shift in the animation editor
The editor setting to always bypass the confirmation dialog was removed,
since the new shortcut effectively supersedes it in a more granular way.
2023-07-17 12:09:32 +02:00
Rémi Verschelde a3a8d3463e
Merge pull request #74948 from AThousandShips/animation_key
Fix type check in AnimationTrackKeyEdit for methods
2023-06-09 15:30:16 +02:00
Silc Lizard (Tokage) Renew 14205804a9 Add spring tween to AnimationTrackEditor 2023-06-05 05:02:27 +09:00
Silc Renew fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
Samuele Panzeri b6abb34759 Fix editor spin slider remaining editable if set read_only during an edit and fix related animation player crash 2023-04-22 18:34:36 +02:00
Haoyu Qiu aa604ec435 Add i18n for track easing and baking dialogs 2023-04-13 13:06:55 +08:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Ninni Pipping ad769903b0 Fix type check in AnimationTrackKeyEdit for methods 2023-03-15 19:32:27 +01:00
Rémi Verschelde b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
SaracenOne 919df3ac0e Make animation length control respect read-only rules. 2023-02-15 15:13:50 +00:00
Haoyu Qiu 84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Ruthger Dijt e2a87ec28b fix nullptr dereference in AnimationTimelineEdit 2023-02-11 20:30:11 +01:00
Silc Renew 4c5bd4cb0a Fix weird bezier edit button update timing in AnimationTrackEditor 2023-02-11 20:48:18 +09:00
Rémi Verschelde 73c53cca81
Merge pull request #71054 from MarioLiebisch/fix-animationplayer-calltrack-strings
Properly stringify args for Call Method Tracks
2023-02-10 18:44:29 +01:00
Silc Renew 116c975a7b Fix rotation key edit is labeled scale in AnimationMultiTrackKeyEdit 2023-02-06 13:48:33 +09:00
Rémi Verschelde b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
Silc Renew 75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Gilles Roudière a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
kobewi b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Silc Renew 5d2e7b9b1d Fix undo of editing animation length with spinner by adding flag 2023-01-10 12:29:05 +09:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Mario Liebisch b495c63b0b
Properly stringify args for Call Method Tracks
This ensures string arguments are always shown as properly enclose in
quotes and escaped and should help avoid confusion, as the previously
shown key frame labels could display as invalid code, most prominently
missing quote characters around strings.
2023-01-08 11:27:44 +01:00
Rémi Verschelde 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
Silc Renew 060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
Silc Renew c87e9f0b7c Fix unmerged history in AnimationTrackEditor 2022-12-10 22:21:38 +09:00
Silc Renew 83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
Silc Renew f544b8f844 Fix crash AnimationTimelineEdit when switch FPS mode without track 2022-11-30 00:27:56 +09:00
trollodel c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Rémi Verschelde ef090ee6ea
Merge pull request #68874 from TokageItLab/fix-unique-path-keying
Added option to `get_path_to()` to get the shortest path considering unique name
2022-11-28 14:49:34 +01:00
Silc Renew 5e785e2ea4 Fix wrong AnimationTrackKeyEdit update timing 2022-11-25 14:50:16 +09:00
kobewi 8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
Silc Renew b739bafd51 Fix connection of animation changed signal in AnimationTrackEditor 2022-11-20 06:38:51 +09:00
Silc Renew b9d1550590 Add option to get_path_to() to get the shortest path with unique name 2022-11-19 15:06:25 +09:00
Silc Renew cb4bdc7e1b Fix update timing when AnimationEditor changes FPS 2022-11-17 12:53:01 +09:00
Rémi Verschelde beed90ea6d
Merge pull request #67963 from KoBeWi/den_of_actions
Fix nested actions in EditorUndoRedoManager
2022-11-14 18:29:46 +01:00
Rémi Verschelde 5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
kobewi d7ebf725c9 Fix nested actions in EditorUndoRedoManager 2022-10-28 02:54:55 +02:00
Silc Renew e7d0a2198b Add a tutorial link to Retarget Classes 2022-10-22 02:56:16 +09:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Haoyu Qiu 51c5278d83 Bind `AnimationTrackEditor::_redraw_tracks` for UndoRedo 2022-10-08 17:34:16 +08:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde e5594c26b1
Merge pull request #44143 from KoBeWi/callable_multiplayer 2022-09-18 13:47:04 +02:00
Tomasz Chabora 882a4f8906 Port remaining connections to callable_mp 2022-09-18 13:08:54 +02:00
Yuri Sizov 5676341864 Fix loop mode button update in the Animation editor 2022-09-16 16:19:53 +03:00
Rémi Verschelde a981a8061f Merge pull request #65325 from TokageItLab/refactor-variant-for-anim
Move some static methods to `Animation` from `Variant` for refactoring `Animation` and `Tween`
2022-09-16 09:20:50 +02:00
Silc Renew 9d47e079b7 Move some methods to Animation from Variant for refactoring 2022-09-15 04:52:43 +09:00
bruvzg 6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Rémi Verschelde 80dacac90c Merge pull request #65437 from YuriSizov/theme-gui-renames
Improve naming of theme properties throughout GUI code
2022-09-07 08:58:00 +02:00
Yuri Sizov 43f03e2ce6 Improve naming of theme properties throughout GUI code
Rename ItemList's bg -> panel
Rename ItemList's bg_focus -> focus
Rename ProgressBar's bg -> background
Rename ProgressBar's fg -> fill
Rename Tree's bg -> panel
Rename Tree's bg_focus -> focus
Rename ScrollContainer's bg -> panel
Rename FileDialog's *_icon_modulate -> *_icon_color
Rename FileDialog's files_disabled -> file_disabled_color
Rename CheckButton's on/off -> checked/unchecked
Rename check_v_adjust -> check_v_offset
2022-09-06 22:53:17 +03:00
Micky dd26ecdd31 Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
FireForge a914dc0c46 Improvements to multi-node editing
- Show revert button for properties that are not default for all selected nodes
- Show property documentation tooltips
- Show common class name and icon and number of selected nodes in EditorPath, e.g. "Node2D (4 Selected)"
- Hide metadata for MultiNodeEdit and AnimationMultiTrackKeyEdit
- Hide script for MultiNodeEdit
2022-09-05 18:36:03 -05:00
Micky e31bb5ffeb Rename `CanvasItem.update()` to `queue_redraw()`
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Rémi Verschelde 583c0c4897
Merge pull request #64980 from TokageItLab/fix-animedit-draw-and-find-key 2022-08-29 12:29:24 +02:00