diff --git a/Changelog.md b/Changelog.md index 90dc291e4..8a1865f09 100644 --- a/Changelog.md +++ b/Changelog.md @@ -12,8 +12,9 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Matheus Peseg - Cels are now in the timeline. Each cel refers to a specific layer AND a frame. Frames are a collection of cels for every layer. - Cel linking is now possible. This way, layers can be "shared" in multiple frames. - You can now group multiple frames with tags. -- You can now export your projects to .gif files +- You can now export your projects to .gif files. - A new rotation method has been added, "Upscale, Rotate and Downscale". It's similar to Rotsprite. +- A HSV Adjust dialog has been added in the Images menu. - Pattern filling is now possible. If the user chooses a brush that is not the pixel or a circle brush and uses the bucket tool, the brush image is used as a pattern that fills the area. - Users can change keyboard shortcut binding for tools. - Importing .pngs as palettes is now possible. @@ -33,7 +34,7 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Matheus Peseg - An asterisk is added to the window title if there are unsaved changes. - A VSplitContainer has been added between the canvas and the timeline. - Notification text is now black on the gold and light themes. -- Layer's LineEdit now saves the changes when it loses focus, or when the user presses ESC (or Enter) +- Layer's LineEdit now saves the changes when it loses focus, or when the user presses ESC (or Enter). - LineEdits lose focus when the user presses Enter. - Layer visibility is taken into account when exporting the drawing as a .png file. This means that invisible layers will not be included in the final .png file. - The Godot theme has changed. @@ -50,6 +51,8 @@ Martin Novák (novhack), luiq54, Schweini07, Marco Galli (Gaarco), Matheus Peseg - Fixed issue when moving frames, the current frame was being shown but the frame next to it was actually the one being drawn on. - Fixed issue with LineEdits not letting go of focus when the user clicked somewhere else.! (Issue #167) - When the palette, outline and rotate image dialogs are open, the user can't zoom in the canvas anymore. +- Fixed bug where the user could drag the selection when it had no focus. + ### Removed - It's no longer possible for frames to have different amounts of layers. All frames have the same amount. diff --git a/Prefabs/Dialogs/FrameTagDialog.tscn b/Prefabs/Dialogs/FrameTagDialog.tscn index 1ca056257..b2df1e007 100644 --- a/Prefabs/Dialogs/FrameTagDialog.tscn +++ b/Prefabs/Dialogs/FrameTagDialog.tscn @@ -12,14 +12,24 @@ window_title = "Frame Tag Properties" resizable = true script = ExtResource( 1 ) -[node name="ScrollContainer" type="ScrollContainer" parent="."] +[node name="VBoxContainer" type="VBoxContainer" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 +margin_bottom = -32.0 __meta__ = { "_edit_use_anchors_": false } -[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +margin_right = 400.0 +margin_bottom = 140.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxTagContainer" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"] margin_right = 400.0 margin_bottom = 28.0 size_flags_horizontal = 3 @@ -27,7 +37,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="HSeparator" type="HSeparator" parent="ScrollContainer/VBoxContainer"] +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/ScrollContainer/VBoxTagContainer"] margin_right = 400.0 margin_bottom = 4.0 size_flags_horizontal = 3 @@ -35,7 +45,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="AddTag" type="TextureButton" parent="ScrollContainer/VBoxContainer" groups=[ +[node name="AddTag" type="TextureButton" parent="VBoxContainer/ScrollContainer/VBoxTagContainer" groups=[ "UIButtons", ]] margin_top = 8.0 @@ -50,15 +60,28 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="PlayOnlyTags" type="CheckBox" parent="VBoxContainer"] +margin_top = 144.0 +margin_right = 326.0 +margin_bottom = 168.0 +hint_tooltip = "If it's selected, the animation plays only on the frames that have the same tag. +If it's not, the animation will play for all frames, ignoring tags." +mouse_default_cursor_shape = 2 +size_flags_horizontal = 0 +pressed = true +text = "Animation plays only on frames of the same tag" + [node name="TagOptions" type="ConfirmationDialog" parent="."] -margin_right = 200.0 -margin_bottom = 70.0 +margin_left = 8.0 +margin_top = 8.0 +margin_right = 392.0 +margin_bottom = 164.0 [node name="GridContainer" type="GridContainer" parent="TagOptions"] margin_left = 8.0 margin_top = 8.0 -margin_right = 259.0 -margin_bottom = 64.0 +margin_right = 376.0 +margin_bottom = 120.0 custom_constants/vseparation = 8 custom_constants/hseparation = 8 columns = 4 @@ -122,7 +145,8 @@ min_value = 1.0 value = 1.0 [connection signal="about_to_show" from="." to="." method="_on_FrameTagDialog_about_to_show"] [connection signal="popup_hide" from="." to="." method="_on_FrameTagDialog_popup_hide"] -[connection signal="pressed" from="ScrollContainer/VBoxContainer/AddTag" to="." method="_on_AddTag_pressed"] +[connection signal="pressed" from="VBoxContainer/ScrollContainer/VBoxTagContainer/AddTag" to="." method="_on_AddTag_pressed"] +[connection signal="toggled" from="VBoxContainer/PlayOnlyTags" to="." method="_on_PlayOnlyTags_toggled"] [connection signal="confirmed" from="TagOptions" to="." method="_on_TagOptions_confirmed"] [connection signal="custom_action" from="TagOptions" to="." method="_on_TagOptions_custom_action"] [connection signal="popup_hide" from="TagOptions" to="." method="_on_TagOptions_popup_hide"] diff --git a/Scripts/Dialogs/FrameTagDialog.gd b/Scripts/Dialogs/FrameTagDialog.gd index 21aa73a94..73735fac5 100644 --- a/Scripts/Dialogs/FrameTagDialog.gd +++ b/Scripts/Dialogs/FrameTagDialog.gd @@ -5,8 +5,8 @@ var current_tag_id := 0 var tag_vboxes := [] var delete_tag_button : Button -onready var main_vbox_cont : VBoxContainer = $ScrollContainer/VBoxContainer -onready var add_tag_button : TextureButton = $ScrollContainer/VBoxContainer/AddTag +onready var main_vbox_cont : VBoxContainer = $VBoxContainer/ScrollContainer/VBoxTagContainer +onready var add_tag_button : TextureButton = $VBoxContainer/ScrollContainer/VBoxTagContainer/AddTag onready var options_dialog = $TagOptions @@ -29,6 +29,7 @@ func _on_FrameTagDialog_about_to_show() -> void: var edit_button := Button.new() edit_button.text = "Edit" + edit_button.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND edit_button.connect("pressed", self, "_on_EditButton_pressed", [i]) hbox_cont.add_child(edit_button) vbox_cont.add_child(hbox_cont) @@ -100,3 +101,7 @@ func _on_TagOptions_custom_action(action : String) -> void: func _on_TagOptions_popup_hide() -> void: if delete_tag_button: delete_tag_button.visible = false + + +func _on_PlayOnlyTags_toggled(button_pressed : bool) -> void: + Global.play_only_tags = button_pressed diff --git a/Translations/Translations.pot b/Translations/Translations.pot index 0423fff97..e0c46b3de 100644 --- a/Translations/Translations.pot +++ b/Translations/Translations.pot @@ -679,6 +679,13 @@ msgstr "" msgid "Manage frame tags" msgstr "" +msgid "Animation plays only on frames of the same tag" +msgstr "" + +msgid "If it's selected, the animation plays only on the frames that have the same tag.\n" +"If it's not, the animation will play for all frames, ignoring tags." +msgstr "" + msgid "Blue-Red Mode" msgstr ""