summaryrefslogtreecommitdiffstats
path: root/scene/resources/animation_library.cpp
diff options
context:
space:
mode:
authorSnailRhymer <harrymilnes@hotmail.com>2022-05-14 17:54:14 +0100
committerSnailRhymer <harrymilnes@hotmail.com>2022-05-17 00:02:51 +0100
commitd79818acb6d07c97232eb82932c91c676054ce6c (patch)
treeb8c0796c1cef62c7a2fd952242b1c13e2adc8485 /scene/resources/animation_library.cpp
parent067c1eb923dd38bac7ad86da52d94394eeac44e5 (diff)
downloadredot-engine-d79818acb6d07c97232eb82932c91c676054ce6c.tar.gz
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.
Diffstat (limited to 'scene/resources/animation_library.cpp')
-rw-r--r--scene/resources/animation_library.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/scene/resources/animation_library.cpp b/scene/resources/animation_library.cpp
index 2a581fb126..361bfd0cb3 100644
--- a/scene/resources/animation_library.cpp
+++ b/scene/resources/animation_library.cpp
@@ -63,7 +63,7 @@ Error AnimationLibrary::add_animation(const StringName &p_name, const Ref<Animat
}
void AnimationLibrary::remove_animation(const StringName &p_name) {
- ERR_FAIL_COND(!animations.has(p_name));
+ ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name));
animations.erase(p_name);
emit_signal(SNAME("animation_removed"), p_name);
@@ -71,9 +71,9 @@ void AnimationLibrary::remove_animation(const StringName &p_name) {
}
void AnimationLibrary::rename_animation(const StringName &p_name, const StringName &p_new_name) {
- ERR_FAIL_COND(!animations.has(p_name));
+ ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name));
ERR_FAIL_COND_MSG(!is_valid_animation_name(p_new_name), "Invalid animation name: '" + String(p_new_name) + "'.");
- ERR_FAIL_COND(animations.has(p_new_name));
+ ERR_FAIL_COND_MSG(animations.has(p_new_name), vformat("Animation name \"%s\" already exists in library.", p_new_name));
animations.insert(p_new_name, animations[p_name]);
animations.erase(p_name);