mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 09:09:47 +00:00
v0.6 - Palettes, random brushes, multiple themes, image menu and many more!
This commit is contained in:
parent
bdfcb44633
commit
eb8ce5c2e9
|
@ -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.
|
- Changed export dialog's options to be more clean and easier to understand.
|
||||||
- Switched from a single .csv to gettext for handling translations.
|
- 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.
|
- 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)
|
- 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.
|
- 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)
|
- 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 "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 issues with bucket tool and mirroring.
|
||||||
- Fixed issue with invisible layers becomes visible when a layer was added/removed/moved or changed frame.
|
- 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)
|
||||||
|
|
46
Main.tscn
46
Main.tscn
|
@ -975,7 +975,6 @@ size_flags_vertical = 3
|
||||||
custom_constants/autohide = 0
|
custom_constants/autohide = 0
|
||||||
|
|
||||||
[node name="ViewportandVerticalRuler" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers/HSplitContainer"]
|
[node name="ViewportandVerticalRuler" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers/HSplitContainer"]
|
||||||
editor/display_folded = true
|
|
||||||
margin_right = 692.0
|
margin_right = 692.0
|
||||||
margin_bottom = 462.0
|
margin_bottom = 462.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
|
@ -1349,6 +1348,7 @@ margin_right = 224.0
|
||||||
margin_bottom = 199.0
|
margin_bottom = 199.0
|
||||||
|
|
||||||
[node name="PaletteVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"]
|
[node name="PaletteVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_top = 203.0
|
margin_top = 203.0
|
||||||
margin_right = 224.0
|
margin_right = 224.0
|
||||||
margin_bottom = 355.0
|
margin_bottom = 355.0
|
||||||
|
@ -1450,6 +1450,7 @@ margin_right = 224.0
|
||||||
margin_bottom = 32.0
|
margin_bottom = 32.0
|
||||||
|
|
||||||
[node name="LayerButtons" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons"]
|
[node name="LayerButtons" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_left = 6.0
|
margin_left = 6.0
|
||||||
margin_right = 218.0
|
margin_right = 218.0
|
||||||
margin_bottom = 32.0
|
margin_bottom = 32.0
|
||||||
|
@ -1527,41 +1528,48 @@ texture_normal = ExtResource( 55 )
|
||||||
texture_hover = ExtResource( 56 )
|
texture_hover = ExtResource( 56 )
|
||||||
texture_disabled = ExtResource( 57 )
|
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_top = 38.0
|
||||||
margin_right = 224.0
|
margin_right = 224.0
|
||||||
margin_bottom = 55.0
|
margin_bottom = 55.0
|
||||||
|
custom_constants/separation = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
[node name="OpacityContainer" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter"]
|
[node name="SpacerControl" type="Control" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"]
|
||||||
margin_left = 6.0
|
margin_right = 3.0
|
||||||
margin_right = 218.0
|
|
||||||
margin_bottom = 17.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"]
|
[node name="OpacityLabel" type="Label" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"]
|
||||||
margin_top = 1.0
|
margin_left = 5.0
|
||||||
margin_right = 44.0
|
margin_right = 49.0
|
||||||
margin_bottom = 16.0
|
margin_bottom = 17.0
|
||||||
|
size_flags_vertical = 1
|
||||||
text = "Opacity:"
|
text = "Opacity:"
|
||||||
|
|
||||||
[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"]
|
[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"]
|
||||||
margin_left = 48.0
|
margin_left = 51.0
|
||||||
margin_right = 154.0
|
margin_right = 166.0
|
||||||
margin_bottom = 17.0
|
margin_bottom = 17.0
|
||||||
rect_min_size = Vector2( 106, 0 )
|
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 1
|
size_flags_vertical = 1
|
||||||
value = 100.0
|
value = 100.0
|
||||||
ticks_on_borders = true
|
ticks_on_borders = true
|
||||||
|
|
||||||
[node name="OpacitySpinBox" type="SpinBox" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"]
|
[node name="OpacitySpinBox" type="SpinBox" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityContainer"]
|
||||||
margin_left = 158.0
|
margin_left = 168.0
|
||||||
margin_right = 212.0
|
margin_right = 222.0
|
||||||
margin_bottom = 17.0
|
margin_bottom = 17.0
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
value = 100.0
|
value = 100.0
|
||||||
align = 1
|
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"]
|
[node name="ScrollLayers" type="ScrollContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"]
|
||||||
editor/display_folded = true
|
editor/display_folded = true
|
||||||
margin_top = 61.0
|
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/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/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="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/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/OpacitySpinBox" to="." method="_on_OpacitySlider_value_changed"]
|
||||||
[connection signal="popup_hide" from="SplashDialog" to="." method="_can_draw_true"]
|
[connection signal="popup_hide" from="SplashDialog" to="." method="_can_draw_true"]
|
||||||
[connection signal="popup_hide" from="CreateNewImage" 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"]
|
[connection signal="file_selected" from="OpenSprite" to="." method="_on_OpenSprite_file_selected"]
|
||||||
|
|
|
@ -17,13 +17,17 @@
|
||||||
<url type="bugtracker">https://github.com/Orama-Interactive/Pixelorama/issues</url>
|
<url type="bugtracker">https://github.com/Orama-Interactive/Pixelorama/issues</url>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default" width="1919" height="1079">
|
<screenshot type="default" width="1919" height="1079">
|
||||||
<image type="source">https://static.wixstatic.com/media/673cdd_b31327135c20489d8d632cfe9e642257~mv2.png</image>
|
<image type="source">https://static.wixstatic.com/media/cc6108_ccec89c37b3d425da4f03776160c859c~mv2.png</image>
|
||||||
|
<caption>Art by Erevos</caption>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot type="default" width="1919" height="1079">
|
||||||
|
<image type="source">https://static.wixstatic.com/media/cc6108_854ca4dc022c481f96bbc2b4f03fb04d~mv2.png</image>
|
||||||
<caption>Art by Erevos</caption>
|
<caption>Art by Erevos</caption>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<content_rating type="oars-1.1"/>
|
<content_rating type="oars-1.1"/>
|
||||||
<releases>
|
<releases>
|
||||||
<release version="0.5" date="2019-12-12"/>
|
<release version="0.6" date="2020-01-06"/>
|
||||||
</releases>
|
</releases>
|
||||||
<update_contact>hugo.locurcio@hugo.pro</update_contact>
|
<update_contact>hugo.locurcio@hugo.pro</update_contact>
|
||||||
</component>
|
</component>
|
||||||
|
|
32
README.md
32
README.md
|
@ -1,29 +1,32 @@
|
||||||
# Pixelorama - your free and open-source sprite editor!
|
# 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!
|
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.
|
- 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.
|
- Are you an animator? Then you've come to the right place! Pixelorama has its own animation timeline with Onion Skinning just for you!
|
||||||
- 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.
|
- Different colors, brush sizes and brush types for each of the mouse buttons.
|
||||||
- Creating a new canvas with a size of your choosing.
|
- 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!
|
||||||
- Are you an animator? Then you've come to the right place! Pixelorama has its own Animation Timeline just for you!
|
- Random custom brushes! Every time you draw, expect to see a different random result!
|
||||||
- Import images and edit them inside Pixelorama. If you import multiple files, they will be added as individual animation frames.
|
- 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!
|
||||||
- Export your gorgeous art as PNG files.
|
- 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.
|
||||||
- Save and open your projects as Pixelorama's custom file format, .pxo
|
- 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!
|
- Undo/Redo support!
|
||||||
|
- Multiple theme support! Choose a theme from Dark, Gray, Godot, Gold and Light!
|
||||||
- Horizontal & vertical mirrored drawing!
|
- Horizontal & vertical mirrored drawing!
|
||||||
- Tile Mode for pattern creation!
|
- Tile Mode for pattern creation!
|
||||||
- Split screen mode to see your masterpiece twice! And a mini canvas preview area to see it thrice!
|
- 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!
|
- 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.
|
- Keyboard shortcuts! We're 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!
|
|
||||||
- Rulers and guides!
|
- Rulers and guides!
|
||||||
- Scale, crop and flip your images!
|
- Creating a new canvas with a size of your choosing.
|
||||||
- Greek localization support!
|
- 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
|
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
|
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
|
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!
|
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
|
||||||
|
|
|
@ -355,7 +355,7 @@ func help_menu_id_pressed(id : int) -> void:
|
||||||
1: # Issue Tracker
|
1: # Issue Tracker
|
||||||
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama/issues")
|
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama/issues")
|
||||||
2: # Changelog
|
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
|
3: # About Pixelorama
|
||||||
$AboutDialog.popup_centered()
|
$AboutDialog.popup_centered()
|
||||||
Global.can_draw = false
|
Global.can_draw = false
|
||||||
|
|
Loading…
Reference in a new issue