diff --git a/Translations/Translations.pot b/Translations/Translations.pot index 69db3cd40..0be0fe957 100644 --- a/Translations/Translations.pot +++ b/Translations/Translations.pot @@ -2480,3 +2480,83 @@ msgstr "" #. Refers to the range of something, like the range of a spotlight. msgid "Range:" msgstr "" + +#. Found under certain image effects that support properties that can be animated. +msgid "Animatable Properties" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. Refers to the frame that is currently being previewed. +msgid "Preview frame:" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. It is a checkbox that toggles whether a property should be animated or not. +msgid "Animate" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. Refers to the initial value of the property. +msgid "Initial value:" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. Refers to the final value of the property. +msgid "Final value:" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. Refers to the easing function that should be used to animate the property. https://easings.net/ +msgid "Ease type:" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of easing function. +msgid "Starts slowly and speeds up towards the end" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of easing function. +msgid "Starts quickly and slows down towards the end" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of easing function. +msgid "Slowest at both ends, fast at middle" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of easing function. +msgid "Fast at both ends, slow at middle" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Quadratic (power of 2)" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Cubic (power of 3)" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Quartic (power of 4)" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Quintic (power of 5)" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Exponential (power of x)" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Square root" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Sine" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Wiggling around the edges" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Bouncing at the end" +msgstr "" + +#. Found under certain image effects that support properties that can be animated. A type of interpolation. +msgid "Backing out at ends)" +msgstr "" diff --git a/src/UI/Dialogs/ImageEffects/ImageEffectParent.tscn b/src/UI/Dialogs/ImageEffects/ImageEffectParent.tscn index 9e1b31b17..13f4f91f8 100644 --- a/src/UI/Dialogs/ImageEffects/ImageEffectParent.tscn +++ b/src/UI/Dialogs/ImageEffects/ImageEffectParent.tscn @@ -24,6 +24,7 @@ margin_left = 340.0 margin_right = 360.0 margin_bottom = 20.0 rect_min_size = Vector2( 20, 0 ) +mouse_default_cursor_shape = 2 size_flags_horizontal = 8 toggle_mode = true diff --git a/src/UI/Nodes/AnimatePanel.gd b/src/UI/Nodes/AnimatePanel.gd index 2b041513e..4d0ea3af7 100644 --- a/src/UI/Nodes/AnimatePanel.gd +++ b/src/UI/Nodes/AnimatePanel.gd @@ -5,7 +5,7 @@ var image_effect_node: ConfirmationDialog var frames := [] # Set this value before calling "get_animated_values" var properties := [] # Contains dictionary of properties var resetter_values := [] # Contains the Original properties without any change -var _current_id: int = 0 # The property currently selected in "property_list" +var _current_id := 0 # The property currently selected in "property_list" onready var can_animate_button: CheckBox = $"%CanAnimate" onready var property_list: ItemList = $"%PropertyList" @@ -28,8 +28,8 @@ func re_calibrate_preview_slider(): preview_slider.visible = true -func add_float_property(name: String, property_node: Range): - var info = { +func add_float_property(prop_name: String, property_node: Range): + var info := { "range_node": property_node, "can_animate": false, "initial_value": property_node.value, @@ -38,17 +38,17 @@ func add_float_property(name: String, property_node: Range): } properties.append(info) resetter_values.append(property_node.value) - property_list.add_item(name) + property_list.add_item(prop_name) property_node.connect("value_changed", self, "_on_range_node_value_changed") func get_animated_values(frame_idx: int, property_idx := 0) -> float: - var tween = SceneTreeTween.new() + var tween := SceneTreeTween.new() if property_idx <= 0 or property_idx < properties.size(): if frame_idx in frames: if properties[property_idx]["can_animate"] and frames.size() > 1: - var duration = frames.size() - 1 - var elapsed = frames.find(frame_idx) + var duration := frames.size() - 1 + var elapsed := frames.find(frame_idx) var initial = properties[property_idx]["initial_value"] var delta = properties[property_idx]["range_node"].value - initial var transition_type = properties[property_idx]["transition_type"] @@ -61,7 +61,7 @@ func get_animated_values(frame_idx: int, property_idx := 0) -> float: else: return resetter_values[property_idx] else: - printerr("something is wrong") + printerr("Property index is exceeding the bounds of the number of properties") return 0.0 @@ -131,20 +131,20 @@ func _refresh_properties(idx: int): func _populate_ease_type(): - $"%EaseType".add_item("Start slowly and speeds up towards the end", Tween.EASE_IN) - $"%EaseType".add_item("Starts quickly and slows down towards the end.", Tween.EASE_OUT) - $"%EaseType".add_item("Slowest at both ends fast at middle", Tween.EASE_IN_OUT) - $"%EaseType".add_item("Fast at both ends slow at middle", Tween.EASE_OUT_IN) + $"%EaseType".add_item("Starts slowly and speeds up towards the end", Tween.EASE_IN) + $"%EaseType".add_item("Starts quickly and slows down towards the end", Tween.EASE_OUT) + $"%EaseType".add_item("Slowest at both ends, fast at middle", Tween.EASE_IN_OUT) + $"%EaseType".add_item("Fast at both ends, slow at middle", Tween.EASE_OUT_IN) func _populate_transition_type(): $"%TransitionType".add_item("Linear", Tween.TRANS_LINEAR) - $"%TransitionType".add_item("Quadratic (to the power of 2)", Tween.TRANS_QUAD) - $"%TransitionType".add_item("Cubic (to the power of 3)", Tween.TRANS_CUBIC) - $"%TransitionType".add_item("Quartic (to the power of 4)", Tween.TRANS_QUART) - $"%TransitionType".add_item("Quintic (to the power of 5)", Tween.TRANS_QUINT) - $"%TransitionType".add_item("Exponential (to the power of x)", Tween.TRANS_EXPO) - $"%TransitionType".add_item("Square Root", Tween.TRANS_CIRC) + $"%TransitionType".add_item("Quadratic (power of 2)", Tween.TRANS_QUAD) + $"%TransitionType".add_item("Cubic (power of 3)", Tween.TRANS_CUBIC) + $"%TransitionType".add_item("Quartic (power of 4)", Tween.TRANS_QUART) + $"%TransitionType".add_item("Quintic (power of 5)", Tween.TRANS_QUINT) + $"%TransitionType".add_item("Exponential (power of x)", Tween.TRANS_EXPO) + $"%TransitionType".add_item("Square root", Tween.TRANS_CIRC) $"%TransitionType".add_item("Sine", Tween.TRANS_SINE) $"%TransitionType".add_item("Wiggling around the edges", Tween.TRANS_ELASTIC) $"%TransitionType".add_item("Bouncing at the end", Tween.TRANS_BOUNCE) diff --git a/src/UI/Nodes/AnimatePanel.tscn b/src/UI/Nodes/AnimatePanel.tscn index c94caa67a..3723270f3 100644 --- a/src/UI/Nodes/AnimatePanel.tscn +++ b/src/UI/Nodes/AnimatePanel.tscn @@ -32,7 +32,7 @@ margin_right = 346.0 min_value = 1.0 max_value = 1.0 value = 1.0 -prefix = "Preview Frame:" +prefix = "Preview frame:" [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] margin_top = 28.0 @@ -51,62 +51,63 @@ unique_name_in_owner = true visible = false margin_left = 104.0 margin_right = 346.0 -margin_bottom = 194.0 +margin_bottom = 184.0 size_flags_horizontal = 3 [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/Options"] -margin_right = 40.0 -margin_bottom = 40.0 +margin_right = 242.0 +margin_bottom = 14.0 [node name="Name" type="Label" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"] unique_name_in_owner = true -margin_right = 242.0 margin_bottom = 14.0 theme_type_variation = "Header" [node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer/Options/HBoxContainer"] -margin_right = 40.0 -margin_bottom = 4.0 +margin_left = 4.0 +margin_right = 242.0 +margin_bottom = 14.0 size_flags_horizontal = 3 [node name="CanAnimate" type="CheckBox" parent="VBoxContainer/HBoxContainer/Options"] unique_name_in_owner = true -margin_left = 108.0 +margin_left = 160.0 margin_top = 18.0 margin_right = 242.0 -margin_bottom = 58.0 +margin_bottom = 42.0 +mouse_default_cursor_shape = 2 size_flags_horizontal = 8 text = "Animate" [node name="Values" type="GridContainer" parent="VBoxContainer/HBoxContainer/Options"] -margin_top = 62.0 +margin_top = 46.0 margin_right = 242.0 -margin_bottom = 162.0 +margin_bottom = 146.0 columns = 2 [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] margin_top = 5.0 -margin_right = 80.0 +margin_right = 87.0 margin_bottom = 19.0 -text = "Initial Value:" +text = "Initial value:" align = 2 [node name="Initial" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )] unique_name_in_owner = true -margin_left = 84.0 +margin_left = 91.0 margin_right = 242.0 editable = false [node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] margin_top = 33.0 -margin_right = 80.0 +margin_right = 87.0 margin_bottom = 47.0 -text = "Final Value: " +text = "Final value:" align = 2 [node name="Final" parent="VBoxContainer/HBoxContainer/Options/Values" instance=ExtResource( 2 )] unique_name_in_owner = true -margin_left = 84.0 +margin_left = 91.0 margin_top = 28.0 margin_right = 242.0 margin_bottom = 52.0 @@ -114,35 +115,37 @@ editable = false [node name="Label4" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] margin_top = 59.0 -margin_right = 80.0 +margin_right = 87.0 margin_bottom = 73.0 -text = "Ease Type:" +text = "Ease type:" align = 2 [node name="EaseType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"] unique_name_in_owner = true -margin_left = 84.0 +margin_left = 91.0 margin_top = 56.0 margin_right = 242.0 margin_bottom = 76.0 +mouse_default_cursor_shape = 2 size_flags_vertical = 4 disabled = true clip_text = true [node name="Label5" type="Label" parent="VBoxContainer/HBoxContainer/Options/Values"] margin_top = 83.0 -margin_right = 80.0 +margin_right = 87.0 margin_bottom = 97.0 -text = "Interpolate :" +text = "Interpolation:" align = 2 [node name="TransitionType" type="OptionButton" parent="VBoxContainer/HBoxContainer/Options/Values"] unique_name_in_owner = true -margin_left = 84.0 +margin_left = 91.0 margin_top = 80.0 margin_right = 242.0 margin_bottom = 100.0 hint_tooltip = "How the value changes while moving from initial to final value" +mouse_default_cursor_shape = 2 size_flags_vertical = 4 disabled = true clip_text = true