diff --git a/Changelog.md b/Changelog.md index 903fd42..8b97add 100644 --- a/Changelog.md +++ b/Changelog.md @@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Palettes. You can choose default ones or make your own! (Thanks to greusser) - Multiple theme support (Dark, Gray, Light, Godot, Gold) to better match your style (Thanks to Erevoid)! -- Image sub-menu with new features (Outlines, Color invert, desaturation) for more editing power. +- Image menu with new features (Outlines, Color invert, desaturation) for more editing power. - Added a layer opacity slider, that lets you change the alpha values of layers. - Added a better circle and filled circle brushes. They use Bresenham's circle algorithm for scaling. - Added random brushes! Every time you draw, expect to see something different! To create random brushes, place the images you want your brush to have in the same folder, and put the symbol "%" in front of their filename. Examples, "%icon1.png", "%grass_green.png" diff --git a/Scripts/Global.gd b/Scripts/Global.gd index 2d0dd81..3828a65 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -194,6 +194,7 @@ var current_frame_label : Label var loop_animation_button : BaseButton var play_forward : BaseButton var play_backwards : BaseButton +var timeline_seconds : Control var frame_container : HBoxContainer var vbox_layer_container : VBoxContainer @@ -305,6 +306,7 @@ func _ready() -> void: loop_animation_button = find_node_by_name(root, "LoopAnim") play_forward = find_node_by_name(root, "PlayForward") play_backwards = find_node_by_name(root, "PlayBackwards") + timeline_seconds = find_node_by_name(root, "TimelineSeconds") frame_container = find_node_by_name(root, "FrameContainer") var layer_stuff_container = find_node_by_name(root, "LayerVBoxContainer") diff --git a/Scripts/Main.gd b/Scripts/Main.gd index aaa9581..d48036a 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -838,6 +838,7 @@ func _on_AnimationTimer_timeout() -> void: func _on_FPSValue_value_changed(value) -> void: fps = float(value) Global.animation_timer.wait_time = 1 / fps + Global.timeline_seconds.update() func _on_PastOnionSkinning_value_changed(value) -> void: Global.onion_skinning_past_rate = int(value) diff --git a/Scripts/Rulers/TimelineSeconds.gd b/Scripts/Rulers/TimelineSeconds.gd index 7c8607d..9f9a5b3 100644 --- a/Scripts/Rulers/TimelineSeconds.gd +++ b/Scripts/Rulers/TimelineSeconds.gd @@ -39,7 +39,7 @@ func _draw() -> void: first = (transform * ruler_transform * major_subdivide * minor_subdivide).affine_inverse().xform(starting_pos) last = (transform * ruler_transform * major_subdivide * minor_subdivide).affine_inverse().xform(rect_size - starting_pos) - for i in range(ceil(first.x), last.x): + for i in range(ceil(first.x), last.x - 1): var position : Vector2 = (transform * ruler_transform * major_subdivide * minor_subdivide).xform(Vector2(i, 0)) if i % (major_subdivision * minor_subdivision) == 0: draw_line(Vector2(position.x + RULER_WIDTH, 0), Vector2(position.x + RULER_WIDTH, RULER_WIDTH), color)