Emmanouil Papadeas
5c8cf56f8f
Make snapping distance change based on the zoom
...
Should work similarly to GIMP now
2023-04-16 21:15:40 +03:00
Emmanouil Papadeas
9cf82e7f71
[skip ci] Update Translations.pot
2023-04-15 16:53:52 +03:00
Emmanouil Papadeas
23198a84aa
Small canvas preview UI changes and translation string additions
2023-04-15 13:46:42 +03:00
Chris Tsoychlakis
db29ec9f0f
fixed mirrored drawing ( #843 )
...
* fixed mirrored drawing
* fix mirrored drawing
2023-04-14 15:56:08 +03:00
Emmanouil Papadeas
0349dccf04
[skip ci] Some more translation strings
2023-04-13 19:07:47 +03:00
Variable
d40b9744ed
fix canvas preview only showing first layer ( #844 )
2023-04-12 13:24:19 +03:00
Emmanouil Papadeas
2bca2db27a
Add more licenses to the AboutDialog
2023-04-08 00:34:38 +03:00
Emmanouil Papadeas
6700a72e73
Sort contributors and donors in AboutDialog in alphabetical order
2023-04-07 03:01:02 +03:00
Emmanouil Papadeas
d68032fbda
Fix previous commit to only show the notification once
2023-04-07 02:16:52 +03:00
Emmanouil Papadeas
272ea63615
Only show the "File(s) exported" notification on successful export
2023-04-07 02:09:49 +03:00
Emmanouil Papadeas
7e0bd46235
[skip ci] Update CHANGELOG.md
2023-04-05 19:01:01 +03:00
Emmanouil Papadeas
60997723e2
Create a parent scene for the image effects
...
This helps with shared nodes, such as the preview, the affect selection, cels etc options, and the animation properties
2023-04-04 04:19:18 +03:00
Emmanouil Papadeas
b137762b1b
New Crowdin updates ( #829 )
...
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (German)
* New translations Translations.pot (German)
* New translations Translations.pot (Italian)
* New translations Translations.pot (French)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (French)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Danish)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Albanian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (French)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (French)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Danish)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Albanian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (French)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Danish)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Albanian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (French)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (French)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Danish)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Albanian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (German)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (French)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Belarusian)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Danish)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Albanian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (German)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (French)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Romanian)
2023-04-03 17:58:15 +03:00
Emmanouil Papadeas
8ce68700dd
3D object optimizations
2023-04-02 01:36:02 +03:00
Emmanouil Papadeas
4943ab5eab
Add pxo version to pxo files, starting from 2
...
Its value should increase every time there is a compatibility-breaking or a major change between previous pxo files, similar to extensionsAPI version.
2023-04-01 02:16:24 +03:00
Emmanouil Papadeas
91aea32864
Implement 3D layers ( #840 )
...
* Implement 3D layers
* Remove unneeded files
* Fix bug where a single hidden layer would ignore all of the layers on top when exporting
* Fix pxo loading
* Remove junk nodes from 3DShapeEdit
Seems like they were created when I copied from the old 3D Options.tscn panel to the new 3D Shape Edit tool.
* Make light gizmos half the size, and hide gizmos when rotating
* Fix crash when using the 3D shape edit tool on a group layer
* Remove unneeded code in Canvas.gd
* Add torus in the Cel3DObject.Type enumerator
Torus isn't currently supported in Godot 3.5, but it is in 3.6 and 4.0, so this is just future-proofing. May break compatibility with .pxo files that were exported with 3D layers before this change.
* Toggle 3D object visibility
* Change texts and some variable names
* Fill translation strings
* Fix crash on group blending, and make the code in Export.blend_layers() more general
* Fix errors when attempting to draw on a 3D cel
Can occur when multiple cels are selected, some of them 3D and some of them pixel
* Make scene properties and objects be per-cel instead of per-layer
Breaks compatibility with previous .pxo files that had 3D layers. Also introduces serialize() and deserialize() methods to BaseCel
* Use if not layer is get_script() in GroupLayer.blend_children()
* Flip the condition in GroupLayer.blend_children()
* Fix bug where locked/invisible layers could get drawn
Regression from c2f6bf0f3f
* Move gizmo code to 3DShapeEdit's draw_start(), move some undo/redo logic to 3DShapeEdit
* Move all of the undo/redo code to 3DShapeEdit, simplify code in Cel3D
* Store Cel3D image data to pxo, for easy usage by external software
This makes importing projects with 3D layers to other software, such as Godot using godot_pixelorama_importer easier.
* Make the linter happy
* Fix bug where the previously selected object would remain selected when it got removed with undo
2023-03-31 21:58:56 +03:00
Emmanouil Papadeas
5f290ae343
Change resize SpinBox to ValueSlider in ExportDialog
2023-03-30 18:20:55 +03:00
Emmanouil Papadeas
78fda42743
Remove unneeded lines in AnimationTimeline.gd
2023-03-29 15:24:30 +03:00
Emmanouil Papadeas
5c9f0d8c18
Fix bug where, if the bottom-most layer is invisible, selection can't transform content on other layers
2023-03-27 03:42:16 +03:00
Emmanouil Papadeas
6b587688f1
Fix bug where clicking on previous/next frame when only one frame exists makes the cel unselected
...
Apparently this bug exists at least since v0.10
2023-03-27 00:24:40 +03:00
Emmanouil Papadeas
2ce9f72c51
Use a ValueSliderV2 in the drop shadow dialog
2023-03-26 21:33:33 +03:00
Emmanouil Papadeas
4e9b4c33f7
Fix LayerButton drag and drop passing wrong parameter to BaseLayer.accepts_child()
...
It was passing the index of the layer as an integer instead of a BaseLayer class. Also made some code stylistic changes.
2023-03-25 18:42:50 +02:00
Variable
b384e706a9
Animate image effect properties ( #836 )
...
* Added auto animation system
* Animation to dialog
* Added Animated properties
* animate ranges
* formatting
* Fix missing commit
* Formatting
2023-03-25 16:59:02 +02:00
Emmanouil Papadeas
acf376865f
Fix crash when there is no pixel layer in the timeline, only a group layer
2023-03-24 17:37:40 +02:00
Emmanouil Papadeas
acb32844a1
Replace the Locked Aspect Ratio mode in the crop tool with a lock button next to the size sliders
2023-03-24 01:17:30 +02:00
Variable
2ad1391ca1
Spritesheet Animation Canvas Preview ( #835 )
...
* spritesheet preview
* formatting
2023-03-23 15:25:33 +02:00
Emmanouil Papadeas
4e7d5d34cf
Keep aspect ratio when resizing a selection with gizmos, if the button is pressed next to the ValueSliders
...
Also fixes a bug with the inconsistent behavior caused by resizing a selection with gizmos without pressing Shift, while the keep ratio button was pressed.
2023-03-21 16:36:25 +02:00
Emmanouil Papadeas
99b014ef7f
Fix segmentation fault when resizing canvas to a large size
...
For some reason, cel_texture.texture.get_data() seemed to cause a segmentation fault, and then a crash, when the image size was large. Also added some extra static typing to the drag and drop methods, but they are unrelated to the crash.
2023-03-21 02:06:57 +02:00
Emmanouil Papadeas
d4ebf9c585
Use Vector2s for min and max values in ValueSliderV2
...
This lets us have different min/max values for x and y.
2023-03-21 01:45:09 +02:00
Emmanouil Papadeas
a5496daa5b
Add a ValueSliderV2 to the Pencil's spacing options
2023-03-20 20:28:01 +02:00
Emmanouil Papadeas
05fa436b12
Disable ValueSliderV2's ratio button when set to not editable
...
And use a NinePatchRect for the ratio guides, for proper scaling.
2023-03-20 01:59:15 +02:00
Emmanouil Papadeas
e174f6e942
Add a new custom node, ValueSliderV2
...
ValueSliderV2 is a container for two ValueSliders and an optional lock ratio button, that helps with handling Vector2 values in the UI.
2023-03-20 00:56:43 +02:00
Emmanouil Papadeas
5ed91c6d8a
Fix ValueSlider's text color from staying grayed out even if the slider is editable
2023-03-19 00:36:37 +02:00
Emmanouil Papadeas
df00e43b84
Do not allow the ValueSlider's global shortcut to affect it if it's hidden
2023-03-18 14:29:11 +02:00
Emmanouil Papadeas
b5388093ef
Add a minimum size to CanvasPreviewContainer
...
Fixed issues with the UI system, when changing the tab to Reference Images and then back to Canvas Preview
2023-03-17 01:24:20 +02:00
Emmanouil Papadeas
c43f28b323
Manage layout dialog UI changes
2023-03-17 01:20:17 +02:00
Emmanouil Papadeas
e3a163b8c7
Update Default layout
2023-03-17 00:55:34 +02:00
Emmanouil Papadeas
1a769293fc
Dim cel buttons based on whether the cel is transparent/empty or not
...
Should replace #817 , but in a more optimized way, as it does not rely on _input().
2023-03-17 00:02:01 +02:00
Variable
ad3a0155b6
Set tilemask automatically ( #833 )
...
* AutoCreate Tile Masks
* removed a print()
* Disable masking by default
* changed visibility
* Remove Godot's needless changes in Main.tscn
Godot pls
---------
Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2023-03-16 20:07:03 +02:00
mrtripie
0ad86816e5
Crop Tool ( #830 )
...
* Added intial crop tool
* [skip ci] Removed unneeeded LINE_WIDTH constant from CropRect
* Added DimensionsLabel
* Cleaned up CropRect._draw
* Hide the CropRect after switching to a different tool
* Sets the crop values to the entire canvas size on setup
* [skip ci] Added crop tool tooltip
* Made Crop tools synced with eachother by placing the crop settings on CropRect
* Added new modes, refactored, added rule of thirds lines and darkened background
* [skip ci] reset optimization
* Renames
* [skip ci] Tweaked the darkened background
* Fixed bug with top/bottom/left/right sliders after rect refactor
* Changing width/height on locked aspect ratio bug
* Aspect ratio sliders rounding/setting a min of 1 px height/width
* Fixed bugs with drawing the crop rect, especially with locked aspect ratio
* Save the mode to config_cache
* Added size lock and renamed mode
* Added tooltip for size lock. Not sure if I did the translation file right
* removed signal that wasn't used
* Formatting
* Removed old TODO comment from one of my previous PRs that isn't true anymore
* Fixed definition order for linter
* Changed locked size modes moving to offset by @Variable-ind, reordered methods
---------
Co-authored-by: MrTriPie <MrTriPie>
2023-03-16 19:50:45 +02:00
Variable
e008c39286
Added color Averaging ( #822 )
2023-03-15 15:05:18 +02:00
Emmanouil Papadeas
ad61ddc2c0
Fix crash when opening the rotate image dialog for the second time for large canvases
2023-03-14 15:34:06 +02:00
Emmanouil Papadeas
4bf7829b0a
Fix swatch getting transparent on double click
2023-03-14 15:24:15 +02:00
Emmanouil Papadeas
30d279c494
Fix image brushes being drawn outside the selection
2023-03-14 14:59:22 +02:00
Variable
0cb0f9c1bd
Added recent sizes to new project ( #819 )
...
* Added recen sizes to new project
* Formatting
* Limit list size to 10
2023-03-14 13:58:40 +02:00
Emmanouil Papadeas
ebdffb026c
[skip ci] Update CHANGELOG.md
2023-03-12 15:29:35 +02:00
Emmanouil Papadeas
5b2708a44f
Add shortcut for the paint selection tool
2023-03-11 03:33:53 +02:00
Emmanouil Papadeas
de7ef580f9
Fix dynamics hint tooltip and add some missing dynamic-related translation strings
2023-03-09 15:22:29 +02:00
Emmanouil Papadeas
598199eda5
New Crowdin updates ( #756 )
2023-03-08 14:51:58 +02:00
Emmanouil Papadeas
cd4e9ef9bd
Use Godot 3.x's gdtoolkit.
...
gdtoolkit got updated to Godot 4.x, so we need to explicitly state that we are installing the Godot 3.x version.
2023-03-07 16:24:59 +02:00