Commit Graph

188 Commits

Author SHA1 Message Date
09658f7e3b Increase AnimationPlayer position SpinBox to fit more decimals
Fixed UI bug where it appeared that pushing the up or down incrementing
arrows did not increment the SpinBox value appropriately. Just needed
to increase the size of the box horizontally, to display four decimal
points consistently.
2022-06-09 09:59:26 +02:00
c8ce7e34e2 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:57:54 +02:00
b0e31eeb4a Remove configuration warning from AnimationPlayer
Remove warning about animations in different libraries having the same name, since shared names are fine.

Also fix missing vformat argument when setting the name of an animation to one that does conflict with an animation in the same library.
2022-05-24 13:22:16 +01:00
bd8d91254c Merge pull request #61106 from snailrhymer/animation-library-fixes
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
ba8398f270 Fixed delta & Implement selection of whether or not to seek root 2022-05-09 08:28:32 +09:00
b3162e270e Fix global AnimationLibrary name validation 2022-05-05 11:19:54 +08:00
d8fed8fb69 Fix AnimationLibrary name validation 2022-04-19 17:15:43 +08:00
2b97020543 Disable Open in Inspector when there is no animation 2022-04-12 13:10:42 +08:00
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
d1207a0504 [Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
6a1e3380f8 Remove unused code in AnimationPlayerEditor::_update_animation_list_icons() 2022-03-11 07:51:15 +08:00
83828c7d1b Fix some Animation panel icons not updating after theme change 2022-03-10 14:46:03 +08:00
8dc12135cd Fix animation resource name after duplication 2022-03-05 21:00:34 +08:00
8824b6c5e9 Update if == NOTIFICATION_* to switch statements to match coding style 2022-02-16 08:44:37 -05:00
11572c6e30 Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
f810f76890 Merge pull request #57306 from trollodel/remove_editornode_param 2022-02-14 16:40:40 +01:00
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
9aaab5b693 Make duplicate animation prompt for new name 2022-02-14 14:48:25 +08:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
fc076ece3d Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
b3a800b1e2 Fixed target which connected animation player, follow up #55066 2022-01-21 15:31:16 +09:00
aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
7e14548fc6 [Editor] Move some animation specific keying logic out of inspector.
Most of the custom logic to handle special keying cases is now inside
the AnimationPlayerEditorPlugin.

The EditorInspector now emits a signal when inspecting a new object.
2022-01-19 11:08:25 +01:00
1a091c498a Add option to paste animation as duplicate 2022-01-04 13:39:32 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
9cb66cac2d Add a constant StringName for RESET animation 2021-12-06 12:26:42 +01:00
3c0fdcc8ac Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
610de0974d Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
164dc11e04 Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo
Implement Skeleton Editor Gizmo
2021-10-06 21:11:20 +02:00
f2e9867e9f Implemented SkeletonEditorGizmo
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
6397eaa27e Fix some leftover references to idle_frame 2021-10-04 20:57:31 +02:00
cc51b045da Construct values only when necessary. 2021-09-23 22:26:07 +05:45
4f9784ca9c Fix 3D Onion skinning missing 2021-09-14 14:51:50 +02:00
c334989e00 Merge pull request #51821 from Calinou/builtin-shaders-add-comments
Add comments at the top of each built-in shader to ease debugging
2021-08-25 11:37:57 +02:00
b1db36e65d Allow to load multiple animations at once 2021-08-23 17:24:02 +02:00
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
a139e58f8c Add comments at the top of each built-in shader to ease debugging
When a shader error is printed about a built-in shader, the origin
of the shader will now be recognizable immediately by looking at
the top of the printed shader code.
2021-08-18 03:09:22 +02:00
fa3a32a2d6 Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
ae7a74625d Name new resource files with snake_case 2021-07-29 20:53:33 -04:00
ac3322b0af Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
4e6efd1b07 Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
394191c02f Merge pull request #50605 from Calinou/tweak-shader-code-style
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
abc38b8d66 Use C++11 raw literals for shader code to improve readability
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00