Emmanouil Papadeas
85d73bdb5d
Allow extensions to create new palettes
2024-04-19 18:50:27 +03:00
Emmanouil Papadeas
9fa9c01a93
Fix extensions not being listed in the Preferences
2024-04-19 16:08:13 +03:00
Emmanouil Papadeas
6c002756c7
Move all selected layers with drag & drop
...
Similar to 7507206726
but for layers. Layer swapping (with control) only works when one layer is selected. The move up/down buttons in the timeline only work with one layer as of this commit.
2024-04-15 02:10:52 +03:00
Emmanouil Papadeas
4ddcf37d0b
Fix crash when dropping frames to re-arrange them
...
Also don't allow dropping on a selected frame
2024-04-14 16:03:22 +03:00
Emmanouil Papadeas
0d375631b8
Better static typing in the timeline related methods in Project
2024-04-14 00:57:53 +03:00
Emmanouil Papadeas
dc6efe02bb
Fix issue where shader-based effects were not respecting the selection bounds, when the selection was out of the canvas
2024-04-13 19:51:12 +03:00
Emmanouil Papadeas
c3bb85f6c9
Fix dimension label showing fractions in the final image size in the Export dialog
2024-04-13 19:15:37 +03:00
Emmanouil Papadeas
9a1464f73b
Move selection offset code inside SelectionMap.is_pixel_selected()
2024-04-13 17:57:51 +03:00
Emmanouil Papadeas
9184b25c01
Fix Lasso Vector2 appending to array of type Vector2i error
2024-04-13 15:39:42 +03:00
Emmanouil Papadeas
1e83173697
Fix regression where interecting selections was not working
2024-04-13 15:34:36 +03:00
Emmanouil Papadeas
79b18fc242
Fix brushes being able to get drawn outside of the selection, if the selection is outside the canvas
2024-04-13 14:31:48 +03:00
Emmanouil Papadeas
edf7b1f5e5
Set the selection texture's filter to nearest in shaders
2024-04-12 01:26:46 +03:00
Emmanouil Papadeas
7507206726
Move all selected frames - implements #743
...
This only works for frames at the moment, not layers and cels. Layers may be harder to support because they also have children. Supports both the "move left/right" options and drag and dropping. Frame swapping (with control) only works when one frame is selected, because I am unsure how they should be handled, especially when the selected frames are not continuous.
Didn't encounter any issues on my testing, but more testing is always welcome.
2024-04-11 18:03:43 +03:00
Emmanouil Papadeas
529962f91f
Layer effect UI improvements & implement dragging to re-arrange
2024-04-11 00:31:50 +03:00
Emmanouil Papadeas
92e8666da2
Change layers with Control + Up/Down arrow keys
...
We already have Control + Left/Right for changing frames, so it makes sense to have Up/Down for layers
2024-04-10 16:58:04 +03:00
Emmanouil Papadeas
4e8a02c1a4
Fix issue with the TopMenuContainer where menu options weren't clickable in some languages
2024-04-10 16:42:23 +03:00
Emmanouil Papadeas
64b2b7b9af
Make 3D rotation gizmos lines a bit thinner
2024-04-10 02:24:21 +03:00
Emmanouil Papadeas
97a1de6db2
Fix bug where images with width or height 1 are unable to be exported/affected by image effects
...
For some reason, ShaderImageEffect does not like images with width/height of 1.
2024-04-10 02:15:11 +03:00
Emmanouil Papadeas
018f95158e
If there's already a 3D object with the same name in the 3DShapeEdit selected object OptionButton, add a number next to it
2024-04-10 02:09:18 +03:00
Emmanouil Papadeas
a4f06d8cbe
Fix 3D layer buttons not having the same offset as the other layer type buttons
2024-04-10 01:25:57 +03:00
Emmanouil Papadeas
1c9c8bf4e3
Add Palettize and Pixelize effects
...
Pixelize makes the image pixelated, and Palettize maps the color of the input to the nearest color in the selected palette. Useful for limiting color in pixel art and for artistic effects.
2024-04-10 01:20:28 +03:00
Emmanouil Papadeas
dbfd4d8412
When merging layers, automatically make the bottom layer visible
...
If the bottom layer is invisible, it becomes visible now. Consistent with behavior seen in Krita and Photopea.
2024-04-09 02:30:50 +03:00
Emmanouil Papadeas
8f395b2be7
Create a new Effects menu and move all of the cel-specific effects there, away from the Image menu
...
Also moves Project properties into Image
2024-04-09 01:52:12 +03:00
Emmanouil Papadeas
25a69a99d6
Fix texture loading in LayerEffectsSettings
2024-04-08 02:43:01 +03:00
Emmanouil Papadeas
785701b093
Add an option to export a JSON file with the project data
...
Probably temporary, it might be a good idea to add a third "Data" tab in the export dialog, if we add stuff like exporting to Godot resources, such as AnimatedSprite, AnimationPlayer etc.
2024-04-06 03:30:50 +03:00
Emmanouil Papadeas
8c0a194468
Update camera when the viewport size changes
2024-04-06 00:09:58 +03:00
Emmanouil Papadeas
971fb67db1
When running in headless mode, don't set a custom cursor and don't save window data on exit
2024-04-05 20:36:03 +03:00
Emmanouil Papadeas
1062f88e4c
Automatically load an image as a new project, when there is only one empty project
...
This is also useful for the CLI
2024-04-05 20:16:54 +03:00
Emmanouil Papadeas
0ac7789bf9
Store image data in undo/redo of the move tool, reverts 4f5f37a522
...
This fixes an issue where, if the user moves pixels outside the canvas and then undos, those cut pixels will not be restored.
2024-04-05 18:02:46 +03:00
Emmanouil Papadeas
596c174c92
Add a project properties dialog
...
Allows users to change project name and add custom user data. I was not sure where to put this, so I put it under the Edit menu. It might be a good idea to add a new "Project" menu in the future, and perhaps Scale Image, Resize Canvas and Crop to Content/Selection could be placed there, as they always affect the entire project.
2024-04-05 02:24:47 +03:00
Emmanouil Papadeas
c5c421bd28
Add layer properties
2024-04-04 03:21:07 +03:00
Emmanouil Papadeas
2cdd426a45
Update Translations and minor UI improvement in cel, frame and tag properties
2024-04-04 02:46:50 +03:00
Emmanouil Papadeas
14a13a2161
Add user data for cels, frames and tags
...
Projects and layers are next, once I add project and layer setting dialogs respectively.
2024-04-04 01:27:50 +03:00
Emmanouil Papadeas
bc4b4dff0f
Fix CLI exporting even though an unknown option has been provided
...
Allowing exporting even if an unknown option has been provided could lead to unexpected results
2024-04-04 00:27:20 +03:00
Variable
04caa5f7f5
Experimental refactor of the CLI ( #1006 )
...
* experimental refactor
* some fixes, some improvements
* some formatting and add check for invalid argument
* formatting
* added similarity option
* linting
2024-04-04 00:22:05 +03:00
Emmanouil Papadeas
1c8d81d1b7
[CLI] Make arguments case sensitive, add support for OS.get_cmdline_user_args()
, add short form flags as alternatives for the long form arguments
2024-04-03 16:25:34 +03:00
Emmanouil Papadeas
af01234470
Implement a basic CLI
...
Supports exporting images & spritesheets with frame, direction, scale and output file name specification. Also added some informative arguments that simply print out some data.
2024-04-02 00:36:33 +03:00
Emmanouil Papadeas
183bee6a0f
Load preferences from the config file before waiting for process_frame
2024-04-02 00:02:20 +03:00
Emmanouil Papadeas
53e4ebc668
Fix spritesheet exporting from bug introduced in 6fa4a27589
2024-04-01 23:50:50 +03:00
Emmanouil Papadeas
ea8748ca55
Use a dictionary in Export to group FileFormat enums and their respective file extensions and descriptions
2024-04-01 23:16:12 +03:00
Emmanouil Papadeas
473dabf004
Replace "{name}" with the project name when exporting
2024-04-01 21:45:39 +03:00
Emmanouil Papadeas
bf14ac1565
Add an ExportFrames enum in Export to make code clearer
2024-04-01 21:45:11 +03:00
Emmanouil Papadeas
1d262c62f7
Don't include the ".pxo" extension in the project's name, when opening or saving
2024-04-01 20:11:27 +03:00
Emmanouil Papadeas
6fa4a27589
Directly export the final blended images from the pxo, if they exist
...
This only happens when the pxo file contains the final blended images (happens when "include blended" is enabled when saving), project has been saved, it hasn't been changed and "Visible layers" is selected.
2024-04-01 19:39:10 +03:00
Emmanouil Papadeas
77bea9a6e3
Re-add old layer blending logic from 0.x, if running on headless mode
...
Only meant to prevent crashes when trying to export from headless mode. This blending logic does not support blend modes, clipping masks, and layer effects.
2024-04-01 17:31:10 +03:00
Emmanouil Papadeas
1cb4d22233
Fix the same frames being exported multiple times when "Selected frames" is selected, and multiple cels of the same frames are currently selected on the timeline - Fixes #1001
2024-03-31 00:55:55 +02:00
Emmanouil Papadeas
11a1428eef
Add an Apply button to the font size slider in the Preferences, fix display scale not being applied on startup
2024-03-30 01:25:01 +02:00
Emmanouil Papadeas
963819a71a
Fix color picker selecting fully transparent pixels that are not black
2024-03-26 02:11:21 +02:00
Emmanouil Papadeas
d9888036f2
Hide the dynamics popup
...
Oops
2024-03-25 00:32:00 +02:00
Emmanouil Papadeas
94fdfd8f02
Hide and show dynamics properties when dynamics are enabled
2024-03-24 15:35:40 +02:00