mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 09:09:47 +00:00
v0.7 - The Timeline Update!
This commit is contained in:
parent
8a27bbca49
commit
d0825495d1
35
README.md
35
README.md
|
@ -25,7 +25,7 @@
|
|||
</a>
|
||||
</p>
|
||||
|
||||
[![Pixelorama's UI](https://static.wixstatic.com/media/cc6108_ccec89c37b3d425da4f03776160c859c~mv2.png)](https://www.youtube.com/watch?v=DULv-jzueRw&list=PLVEP1Zz6BUpBiQC0CB6eNBhhLF4tEwBB-&index=7)
|
||||
[![Pixelorama's UI](https://static.wixstatic.com/media/673cdd_061f5f9602ea4c35b6d4f3c50713d36a~mv2.png)](https://www.youtube.com/watch?v=NLb0TNxZ27E&list=PLVEP1Zz6BUpBiQC0CB6eNBhhLF4tEwBB-&index=10)
|
||||
|
||||
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
|
||||
|
@ -41,36 +41,41 @@ You can also support the development on patreon: [![Become a Patron!](https://c5
|
|||
- [Snap Store (Linux)](https://snapcraft.io/pixelorama)
|
||||
|
||||
## Documentation
|
||||
Coming soon!
|
||||
You can find Online Documentation for Pixelorama here: https://orama-interactive.github.io/Pixelorama-Docs
|
||||
|
||||
It's still work in progress so there are some pages missing. If you want to contribute, you can do so in [Pixelorama-Docs' GitHub Repository](https://github.com/Orama-Interactive/Pixelorama-Docs).
|
||||
|
||||
## Cloning Instructions
|
||||
Pixelorama uses Godot 3.2, so you will need to have it in order to run the project.
|
||||
As of right now, most of the code is written using GDScript, so the mono version of Godot is not required, but Pixelorama should also work with it.
|
||||
|
||||
Pixelorama uses a GDNative addon for gif exporting, since it's not possible to do it natively with Godot. In order to ensure that your clone works properly, you will need to use the command `git submodule update --init` right after you clone.
|
||||
|
||||
Note that the addon only works in Windows and Linux platforms, for the time being. Pixelorama should run without it fine on other platforms.
|
||||
|
||||
## Current features as of version v0.6.2:
|
||||
## Current features as of version v0.7:
|
||||
|
||||
- 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.
|
||||
- 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.
|
||||
- Choosing between 7 tools – pencil, eraser, fill bucket, lighten/darken, color picker, rectangle select and zoom– and mapping them to both of your left and right mouse buttons.
|
||||
- Are you an animator? Pixelorama has its own animation timeline just for you! You can work at an individual cel level, where each cel refers to a unique layer and frame. Supports onion skinning, cel linking, motion drawing and frame grouping with tags.
|
||||
- Different tool options 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!
|
||||
- Create or import custom palettes!
|
||||
- Pattern filling! Use the bucket tool to fill out an area with a pattern of your choosing.
|
||||
- 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.
|
||||
- Export your gorgeous art as `PNG` or `GIF` files. Exporting your projects as spritesheets is also possible.
|
||||
- Pixel perfect mode for perfect lines, for the pencil, eraser & lighten/darken tools.
|
||||
- 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!
|
||||
- Autosave support, with data recovery in case of a software crash.
|
||||
- Multiple theme support! Choose a theme from Dark, Gray, Blue, Caramel 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, 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!
|
||||
- Υou can zoom in and out with the mouse scroll wheel, and pan by clicking it, or by pressing `Space`!
|
||||
- Keyboard shortcuts! We're pretty sure this is a lifesaver for most of you.
|
||||
- Υou can zoom in and out with the mouse scroll wheel or the `+` and `-` keys respectively, and pan by clicking the middle mouse button, by holding `Space` or with the arrow keys!
|
||||
- Keyboard shortcuts, and the ability to change their bindings.
|
||||
- Rulers and guides!
|
||||
- Creating a new canvas with a size of your choosing.
|
||||
- Scale, crop, rotate, flip, color invert and desaturate your images!
|
||||
- English, Greek, German, French, Polish, Brazilian Portuguese, Russian, Traditional and Simplified Chinese, Italian, Spanish and Latvian localization support!
|
||||
|
||||
- Scale, crop, rotate, flip, color invert, HSV-adjust and desaturate your images!
|
||||
- Multi-language localization support! See our [Crowdin page](https://crowdin.com/project/pixelorama) for more details.
|
||||
|
|
|
@ -165,7 +165,7 @@ border_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
|||
expand_margin_top = 2.0
|
||||
expand_margin_bottom = 2.0
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=19]
|
||||
[sub_resource type="StyleBoxFlat" id=18]
|
||||
bg_color = Color( 0.109804, 0.0862745, 0.0862745, 0 )
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
|
@ -178,10 +178,10 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=20]
|
||||
[sub_resource type="StyleBoxFlat" id=19]
|
||||
bg_color = Color( 0.180392, 0.180392, 0.180392, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=21]
|
||||
[sub_resource type="StyleBoxFlat" id=20]
|
||||
content_margin_left = 4.5
|
||||
content_margin_right = 4.5
|
||||
content_margin_top = 3.0
|
||||
|
@ -192,7 +192,7 @@ corner_radius_top_right = 5
|
|||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=22]
|
||||
[sub_resource type="StyleBoxFlat" id=21]
|
||||
bg_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
border_width_left = 6
|
||||
border_width_top = 10
|
||||
|
@ -205,10 +205,10 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=23]
|
||||
[sub_resource type="StyleBoxFlat" id=22]
|
||||
bg_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=24]
|
||||
[sub_resource type="StyleBoxFlat" id=23]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 5
|
||||
border_width_top = 10
|
||||
|
@ -221,7 +221,7 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=25]
|
||||
[sub_resource type="StyleBoxFlat" id=24]
|
||||
bg_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -229,7 +229,7 @@ border_width_right = 10
|
|||
border_width_bottom = 8
|
||||
border_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=26]
|
||||
[sub_resource type="StyleBoxFlat" id=25]
|
||||
bg_color = Color( 0.145098, 0.145098, 0.164706, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -237,7 +237,7 @@ border_width_right = 10
|
|||
border_width_bottom = 8
|
||||
border_color = Color( 0.145098, 0.145098, 0.164706, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=27]
|
||||
[sub_resource type="StyleBoxFlat" id=26]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -245,7 +245,7 @@ border_width_right = 10
|
|||
border_width_bottom = 8
|
||||
border_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=28]
|
||||
[sub_resource type="StyleBoxFlat" id=27]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 4
|
||||
border_width_top = 4
|
||||
|
@ -258,7 +258,7 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=29]
|
||||
[sub_resource type="StyleBoxFlat" id=28]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 4
|
||||
border_width_top = 4
|
||||
|
@ -270,13 +270,13 @@ corner_radius_top_right = 4
|
|||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=30]
|
||||
[sub_resource type="StyleBoxFlat" id=29]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 2
|
||||
border_width_right = 2
|
||||
border_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=32]
|
||||
[sub_resource type="StyleBoxFlat" id=30]
|
||||
bg_color = Color( 0.176471, 0.176471, 0.176471, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 20
|
||||
|
@ -390,7 +390,7 @@ LineEdit/constants/minimum_spaces = 12
|
|||
LineEdit/fonts/font = null
|
||||
LineEdit/icons/clear = null
|
||||
LineEdit/styles/focus = null
|
||||
LineEdit/styles/normal = SubResource( 19 )
|
||||
LineEdit/styles/normal = SubResource( 18 )
|
||||
LineEdit/styles/read_only = null
|
||||
MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 )
|
||||
MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 )
|
||||
|
@ -416,10 +416,10 @@ OptionButton/styles/focus = null
|
|||
OptionButton/styles/hover = null
|
||||
OptionButton/styles/normal = null
|
||||
OptionButton/styles/pressed = null
|
||||
Panel/styles/panel = SubResource( 20 )
|
||||
Panel/styles/panel = SubResource( 19 )
|
||||
Panel/styles/panelf = null
|
||||
Panel/styles/panelnc = null
|
||||
PanelContainer/styles/panel = SubResource( 21 )
|
||||
PanelContainer/styles/panel = SubResource( 20 )
|
||||
PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 )
|
||||
PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 )
|
||||
PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 )
|
||||
|
@ -435,10 +435,10 @@ PopupMenu/icons/unchecked = null
|
|||
PopupMenu/styles/hover = null
|
||||
PopupMenu/styles/labeled_separator_left = null
|
||||
PopupMenu/styles/labeled_separator_right = null
|
||||
PopupMenu/styles/panel = SubResource( 22 )
|
||||
PopupMenu/styles/panel = SubResource( 21 )
|
||||
PopupMenu/styles/panel_disabled = null
|
||||
PopupMenu/styles/separator = null
|
||||
PopupPanel/styles/panel = SubResource( 23 )
|
||||
PopupPanel/styles/panel = SubResource( 22 )
|
||||
SpinBox/icons/updown = ExtResource( 4 )
|
||||
TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 )
|
||||
TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||
|
@ -455,10 +455,10 @@ TabContainer/icons/increment = null
|
|||
TabContainer/icons/increment_highlight = null
|
||||
TabContainer/icons/menu = null
|
||||
TabContainer/icons/menu_highlight = null
|
||||
TabContainer/styles/panel = SubResource( 24 )
|
||||
TabContainer/styles/tab_bg = SubResource( 25 )
|
||||
TabContainer/styles/tab_disabled = SubResource( 26 )
|
||||
TabContainer/styles/tab_fg = SubResource( 27 )
|
||||
TabContainer/styles/panel = SubResource( 23 )
|
||||
TabContainer/styles/tab_bg = SubResource( 24 )
|
||||
TabContainer/styles/tab_disabled = SubResource( 25 )
|
||||
TabContainer/styles/tab_fg = SubResource( 26 )
|
||||
Tabs/colors/font_color_bg = Color( 0.69, 0.69, 0.69, 1 )
|
||||
Tabs/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||
Tabs/colors/font_color_fg = Color( 0.94, 0.94, 0.94, 1 )
|
||||
|
@ -474,10 +474,10 @@ Tabs/icons/increment = null
|
|||
Tabs/icons/increment_highlight = null
|
||||
Tabs/styles/button = null
|
||||
Tabs/styles/button_pressed = null
|
||||
Tabs/styles/panel = SubResource( 24 )
|
||||
Tabs/styles/tab_bg = SubResource( 25 )
|
||||
Tabs/styles/tab_disabled = SubResource( 26 )
|
||||
Tabs/styles/tab_fg = SubResource( 27 )
|
||||
Tabs/styles/panel = SubResource( 23 )
|
||||
Tabs/styles/tab_bg = SubResource( 24 )
|
||||
Tabs/styles/tab_disabled = SubResource( 25 )
|
||||
Tabs/styles/tab_fg = SubResource( 26 )
|
||||
TextEdit/colors/background_color = Color( 0, 0, 0, 0 )
|
||||
TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 )
|
||||
TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 )
|
||||
|
@ -509,7 +509,7 @@ TextEdit/fonts/font = null
|
|||
TextEdit/icons/tab = null
|
||||
TextEdit/styles/completion = null
|
||||
TextEdit/styles/focus = null
|
||||
TextEdit/styles/normal = SubResource( 28 )
|
||||
TextEdit/styles/normal = SubResource( 27 )
|
||||
TextEdit/styles/read_only = null
|
||||
Tree/colors/cursor_color = Color( 0, 0, 0, 1 )
|
||||
Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 )
|
||||
|
@ -537,7 +537,7 @@ Tree/icons/checked = null
|
|||
Tree/icons/select_arrow = null
|
||||
Tree/icons/unchecked = null
|
||||
Tree/icons/updown = null
|
||||
Tree/styles/bg = SubResource( 29 )
|
||||
Tree/styles/bg = SubResource( 28 )
|
||||
Tree/styles/bg_focus = null
|
||||
Tree/styles/button_pressed = null
|
||||
Tree/styles/cursor = null
|
||||
|
@ -561,7 +561,7 @@ VScrollBar/styles/grabber_pressed = SubResource( 14 )
|
|||
VScrollBar/styles/scroll = null
|
||||
VScrollBar/styles/scroll_focus = null
|
||||
VSeparator/constants/separation = 4
|
||||
VSeparator/styles/separator = SubResource( 30 )
|
||||
VSeparator/styles/separator = SubResource( 29 )
|
||||
VSplitContainer/constants/autohide = 1
|
||||
VSplitContainer/constants/separation = 6
|
||||
VSplitContainer/icons/grabber = ExtResource( 5 )
|
||||
|
@ -574,4 +574,4 @@ WindowDialog/constants/title_height = 20
|
|||
WindowDialog/fonts/title_font = null
|
||||
WindowDialog/icons/close = null
|
||||
WindowDialog/icons/close_highlight = null
|
||||
WindowDialog/styles/panel = SubResource( 32 )
|
||||
WindowDialog/styles/panel = SubResource( 30 )
|
||||
|
|
BIN
pixelorama/Brushes/pixelorama_eye.png
Normal file
BIN
pixelorama/Brushes/pixelorama_eye.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 661 B |
|
@ -772,6 +772,7 @@ margin_top = 19.0
|
|||
margin_right = 106.0
|
||||
margin_bottom = 36.0
|
||||
hint_tooltip = "0: Color from the brush itself, 100: the currently selected color"
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 4
|
||||
value = 100.0
|
||||
align = 1
|
||||
|
@ -784,6 +785,7 @@ margin_bottom = 56.0
|
|||
rect_min_size = Vector2( 92, 0 )
|
||||
hint_tooltip = "0: Color from the brush itself, 100: the currently selected color"
|
||||
focus_mode = 0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 1
|
||||
value = 100.0
|
||||
|
|
|
@ -34,6 +34,7 @@ func _ready() -> void:
|
|||
contributors.create_item(contributor_root).set_text(0, " Igor Santarek (jegor377)")
|
||||
contributors.create_item(contributor_root).set_text(0, " Dávid Gábor BODOR (dragonfi)")
|
||||
contributors.create_item(contributor_root).set_text(0, " John Jerome Romero (Wishdream)")
|
||||
contributors.create_item(contributor_root).set_text(0, " Aaron Franke (aaronfranke)")
|
||||
|
||||
var donors_root := donors.create_item()
|
||||
donors.create_item(donors_root).set_text(0, " pcmxms - https://www.nonamefornowsoft.com.br/")
|
||||
|
|
|
@ -5,12 +5,18 @@ func _on_SplashDialog_about_to_show() -> void:
|
|||
var art_by_label : Label = Global.find_node_by_name(self, "ArtByLabel")
|
||||
var show_on_startup_button : CheckBox = Global.find_node_by_name(self, "ShowOnStartup")
|
||||
var developed_by_label : Label = Global.find_node_by_name(self, "DevelopedBy")
|
||||
var become_platinum : Button = Global.find_node_by_name(self, "BecomePlatinum")
|
||||
var become_gold : Button = Global.find_node_by_name(self, "BecomeGold")
|
||||
var become_patron : Button = Global.find_node_by_name(self, "BecomePatron")
|
||||
|
||||
if Global.config_cache.has_section_key("preferences", "startup"):
|
||||
show_on_startup_button.pressed = !Global.config_cache.get_value("preferences", "startup")
|
||||
window_title = "Pixelorama" + " " + Global.current_version
|
||||
|
||||
art_by_label.text = tr("Art by") + ":"
|
||||
become_platinum.text = "- " + tr("Become a Platinum Sponsor")
|
||||
become_gold.text = "- " + tr("Become a Gold Sponsor")
|
||||
become_patron.text = "- " + tr("Become a Patron")
|
||||
if "zh" in TranslationServer.get_locale():
|
||||
show_on_startup_button.add_font_override("font", preload("res://assets/fonts/CJK/NotoSansCJKtc-Small.tres"))
|
||||
developed_by_label.add_font_override("font", preload("res://assets/fonts/CJK/NotoSansCJKtc-Small.tres"))
|
||||
|
|
Loading…
Reference in a new issue