diff --git a/Changelog.md b/Changelog.md index 4495838f4..9562a5bfb 100644 --- a/Changelog.md +++ b/Changelog.md @@ -31,7 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Changed export dialog's options to be more clean and easier to understand. - Switched from a single .csv to gettext for handling translations. - The About dialog window got an overhaul. It now shows the names of the Development team, Contributors & Donors. -- Changed default cursor shape for the rulers. +- Changed default cursor shape for the rulers so the users can see that they are interactive. - Made the layer and timeline buttons have hover textures. (Thanks to Erevoid) - Brush color interpolation and LightenDarknen's amount now range from 0-100, instead of 0-1. - Redo has both `Ctrl-Y` and `Shift-Ctrl-Z` as its shortcuts. (Thanks to Schweini07) @@ -52,3 +52,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fixed "Parent node is busy setting up children, move_child() failed" when the Quit dialog popup was being called. (Issue #90, thanks to Sslaxx) - Fixed issues with bucket tool and mirroring. - Fixed issue with invisible layers becomes visible when a layer was added/removed/moved or changed frame. +- Switched to '2D' framebuffer allocation, which results in slightly increased performance and decreased CPU/GPU usage. (Thanks to Calinou) diff --git a/Main.tscn b/Main.tscn index 296e028dc..3ce5faf64 100644 --- a/Main.tscn +++ b/Main.tscn @@ -975,7 +975,6 @@ size_flags_vertical = 3 custom_constants/autohide = 0 [node name="ViewportandVerticalRuler" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers/HSplitContainer"] -editor/display_folded = true margin_right = 692.0 margin_bottom = 462.0 size_flags_horizontal = 3 @@ -1349,6 +1348,7 @@ margin_right = 224.0 margin_bottom = 199.0 [node name="PaletteVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"] +editor/display_folded = true margin_top = 203.0 margin_right = 224.0 margin_bottom = 355.0 @@ -1450,6 +1450,7 @@ margin_right = 224.0 margin_bottom = 32.0 [node name="LayerButtons" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons"] +editor/display_folded = true margin_left = 6.0 margin_right = 218.0 margin_bottom = 32.0 @@ -1527,41 +1528,48 @@ texture_normal = ExtResource( 55 ) texture_hover = ExtResource( 56 ) texture_disabled = ExtResource( 57 ) -[node name="OpacityCenter" type="CenterContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] +[node name="OpacityContainer" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] margin_top = 38.0 margin_right = 224.0 margin_bottom = 55.0 +custom_constants/separation = 2 +alignment = 1 -[node name="OpacityContainer" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter"] -margin_left = 6.0 -margin_right = 218.0 +[node name="SpacerControl" type="Control" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"] +margin_right = 3.0 margin_bottom = 17.0 -size_flags_horizontal = 3 +rect_min_size = Vector2( 3, 0 ) -[node name="OpacityLabel" type="Label" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] -margin_top = 1.0 -margin_right = 44.0 -margin_bottom = 16.0 +[node name="OpacityLabel" type="Label" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"] +margin_left = 5.0 +margin_right = 49.0 +margin_bottom = 17.0 +size_flags_vertical = 1 text = "Opacity:" -[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] -margin_left = 48.0 -margin_right = 154.0 +[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"] +margin_left = 51.0 +margin_right = 166.0 margin_bottom = 17.0 -rect_min_size = Vector2( 106, 0 ) mouse_default_cursor_shape = 2 +size_flags_horizontal = 3 size_flags_vertical = 1 value = 100.0 ticks_on_borders = true -[node name="OpacitySpinBox" type="SpinBox" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] -margin_left = 158.0 -margin_right = 212.0 +[node name="OpacitySpinBox" type="SpinBox" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"] +margin_left = 168.0 +margin_right = 222.0 margin_bottom = 17.0 mouse_default_cursor_shape = 2 value = 100.0 align = 1 +[node name="SpacerControl2" type="Control" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"] +margin_left = 224.0 +margin_right = 224.0 +margin_bottom = 17.0 + [node name="ScrollLayers" type="ScrollContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] editor/display_folded = true margin_top = 61.0 @@ -1771,8 +1779,8 @@ visible = false [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/MovwDownLayer" to="." method="change_layer_order" binds= [ -1 ]] [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/CloneLayer" to="." method="add_layer" binds= [ false ]] [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/MergeDownLayer" to="." method="_on_MergeLayer_pressed"] -[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer/OpacitySlider" to="." method="_on_OpacitySlider_value_changed"] -[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer/OpacitySpinBox" to="." method="_on_OpacitySlider_value_changed"] +[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer/OpacitySlider" to="." method="_on_OpacitySlider_value_changed"] +[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer/OpacitySpinBox" to="." method="_on_OpacitySlider_value_changed"] [connection signal="popup_hide" from="SplashDialog" to="." method="_can_draw_true"] [connection signal="popup_hide" from="CreateNewImage" to="." method="_can_draw_true"] [connection signal="file_selected" from="OpenSprite" to="." method="_on_OpenSprite_file_selected"] diff --git a/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml b/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml index 26a75cea8..30894c341 100644 --- a/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml +++ b/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml @@ -17,13 +17,17 @@ https://github.com/Orama-Interactive/Pixelorama/issues - https://static.wixstatic.com/media/673cdd_b31327135c20489d8d632cfe9e642257~mv2.png + https://static.wixstatic.com/media/cc6108_ccec89c37b3d425da4f03776160c859c~mv2.png + Art by Erevos + + + https://static.wixstatic.com/media/cc6108_854ca4dc022c481f96bbc2b4f03fb04d~mv2.png Art by Erevos - + hugo.locurcio@hugo.pro diff --git a/README.md b/README.md index eb0d73c04..df02d4fb5 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,32 @@ # Pixelorama - your free and open-source sprite editor! Your free & open-source 2D sprite editor, made by Orama Interactive in the Godot Engine, using GDScript! - [![Pixelorama's UI](https://img.itch.zone/aW1hZ2UvNDcwMzY3LzI3NzUxMDMucG5n/original/QrfONw.png)](https://www.youtube.com/watch?v=nBz0LgPx7G8&list=PLVEP1Zz6BUpBiQC0CB6eNBhhLF4tEwBB-&index=5&t=0s) + [![Pixelorama's UI](https://static.wixstatic.com/media/cc6108_ccec89c37b3d425da4f03776160c859c~mv2.png)](https://www.youtube.com/watch?v=DULv-jzueRw&list=PLVEP1Zz6BUpBiQC0CB6eNBhhLF4tEwBB-&index=7) -Current features as of version v0.5: +Current features as of version v0.6: - Choosing between 6 tools – pencil, eraser, fill bucket, lighten/darken, color picker and rectangle select – and mapping them to both of your left and right mouse buttons. -- Different colors and brush sizes for each of the mouse buttons. -- Support of two types of custom brushes: "From files" and "per project" brushes. Custom brushes from files get loaded from the "Brushes" folder that comes with Pixelorama, and per project brushes get saved with the rectangle select tool. -- Creating a new canvas with a size of your choosing. -- Are you an animator? Then you've come to the right place! Pixelorama has its own Animation Timeline just for you!​ -- Import images and edit them inside Pixelorama. If you import multiple files, they will be added as individual animation frames. -- Export your gorgeous art as PNG files. -- Save and open your projects as Pixelorama's custom file format, .pxo +- Are you an animator? Then you've come to the right place! Pixelorama has its own animation timeline with Onion Skinning just for you! +- Different colors, brush sizes and brush types for each of the mouse buttons. +- Custom brushes! Load your brushes from files or select them in your project with the selection tool, and they will get stored in `.pxo` files! +- Random custom brushes! Every time you draw, expect to see a different random result! +- Pixelorama has a multiple layer system! You can add, remove, move up and down, clone and merge as many layers as you like! You can also rename them, and change their opacity! +- Import images and edit them inside Pixelorama. If you import multiple files, they will be added as individual animation frames. Importing spritesheets is also supported. +- Export your gorgeous art as `PNG` files. Exporting your projects as spritesheets is also possible. +- Save and open your projects as Pixelorama's custom file format, `.pxo` - Undo/Redo support! +- Multiple theme support! Choose a theme from Dark, Gray, Godot, Gold and Light! - Horizontal & vertical mirrored drawing! - Tile Mode for pattern creation! - Split screen mode to see your masterpiece twice! And a mini canvas preview area to see it thrice! -- Create straight lines for pencil and eraser by holding down Shift while you draw. +- Create straight lines for pencil, eraser and the lighten/darken tool by pressing `Shift`. If you also press `Control`, you can constrain angles with a step of 15. +- Generate outlines for your images! - The middle mouse wheel isn’t forgotten, you can use it to pan around the canvas and by scrolling up and down, you can zoom in and out! -- Keyboard shortcuts! I’m pretty sure this is a lifesaver for most of you. -- Just like onions, Pixelorama has a multiple layer system! You can add, remove, move up and down, clone and merge as many layers as you like! You can also rename them! +- Keyboard shortcuts! We're pretty sure this is a lifesaver for most of you. - Rulers and guides! -- Scale, crop and flip your images! -- Greek localization support! +- Creating a new canvas with a size of your choosing. +- Scale, crop, flip, color invert and desaturate your images! +- English, Greek, German, French, Polish, Brazilian Portuguese, Russian and Traditional Chinese localization support! Make sure to visit our website for more information! https://www.orama-interactive.com/pixelorama Join our Discord community server​ where we can discuss about Pixelorama and all our other projects! https://discord.gg/GTMtr8s @@ -31,3 +34,4 @@ Join our Discord community server​ where we can discuss about Pixelorama and a Download it as a stand-alone on itch.io: https://orama-interactive.itch.io/pixelorama If you like, consider helping us by sponsoring this project! It would enable us to focus more on Pixelorama, and make more projects in the future! +Patreon link: https://patreon.com/OramaInteractive diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 7f617e74e..4d3be2a49 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -355,7 +355,7 @@ func help_menu_id_pressed(id : int) -> void: 1: # Issue Tracker OS.shell_open("https://github.com/Orama-Interactive/Pixelorama/issues") 2: # Changelog - OS.shell_open("https://github.com/Orama-Interactive/Pixelorama/blob/1b57c4ee22e959ad3b1e1648aff3885a5f22b2b8/Changelog.md") + OS.shell_open("https://github.com/Orama-Interactive/Pixelorama/blob/master/Changelog.md#v06---06-01-2020") 3: # About Pixelorama $AboutDialog.popup_centered() Global.can_draw = false