1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-31 07:29:49 +00:00
Commit graph

324 commits

Author SHA1 Message Date
Emmanouil Papadeas 785d8cfc83 Hide the density slider by default
So that it doesn't appear in the shape tools, where it has no effect.
2024-11-14 16:22:53 +02:00
Emmanouil Papadeas 36329efaf6 Add density to the square & circle brushes
00% density means that the brush gets completely drawn, anything less leaves gaps inside the brush, acting like a spray tool.
2024-11-14 01:02:51 +02:00
Emmanouil Papadeas ad77d98f42 Slightly optimize circle brushes by only calling the DrawingAlgos methods once while drawing
They keep getting called when size dynamics are enabled, however.
2024-11-13 02:55:15 +02:00
Emmanouil Papadeas 8beb79a33b Fix memory leak where the project remained referenced in BaseDraw even when its tab was closed
Another memory leak remains in Recorder.gd, where the first project forever remains referenced in memory, until the user changes the project from the option button. Perhaps we should remove that option button completely and always record the current project, that also sounds like the intended behavior to me.
2024-11-03 03:36:37 +02:00
Emmanouil Papadeas e2971a8fe9 Add UI buttons for confirming and cancelling a transformation
Needed especially for users without a keyboard.
2024-10-31 23:49:58 +02:00
Emmanouil Papadeas 17d56bb432 Update tool child scenes to reflect the changes of #1105
Just to fix some warnings
2024-10-22 15:43:07 +03:00
Emmanouil Papadeas c83680183b Minor changes in Shading.tscn 2024-10-17 13:08:43 +03:00
Emmanouil Papadeas 4dc55e538e Fix issues when picking color with the bucket tool
1) The bucket tool now picks colors from the top-most layer, like the rest of the drawing tools.
2) Using the tool while moving the cursor and also holding the color picker shortcut (Alt by default), now picks colors instead of using the bucket tool.
2024-10-17 02:34:27 +03:00
Variable 3863cbaee7
Add a preference to share options between tools (#1120)
* Add share config button

* fill parameter now saves with curve tool

* rename _fill to _fill_inside for sync consistency (fill in pencil and shape tools basically represent the same thing)

* add icon

* Move the option to the preferences

* Add string to Translations.pot

* Re-introduce `is_syncing`

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-10-16 16:00:20 +03:00
Variable 4561c1fee4
improved rotate/flip brush UI (#1105)
* Update BaseDraw.tscn

* Update BaseDraw.gd

* Implemented proposed changed, Also added a VFlowContainer for Rotate options
2024-10-14 16:08:10 +03:00
Emmanouil Papadeas 9899734090 Ensure that the preview clears when switching to a different tool 2024-10-13 14:22:01 +03:00
Emmanouil Papadeas 1ed52903b3 Implement the ability to change the font of a 3D text
This code will also be useful for the text tool
2024-10-12 16:30:16 +03:00
Emmanouil Papadeas 9fcb06aa72 Add a 3D text line spacing option 2024-10-12 14:31:15 +03:00
Emmanouil Papadeas bbf0ae8040 Add a 3D text depth option 2024-10-12 01:14:37 +03:00
Emmanouil Papadeas 970b24ec40 Fix 3DShapeEdit option values not updating when selecting 3D objects 2024-10-12 00:52:18 +03:00
Emmanouil Papadeas b9bf8290b0 Remove Global.animation_timer 2024-10-11 16:38:35 +03:00
Emmanouil Papadeas b79ce0ae15 Add a new "CanvasCameras" node group for the canvas cameras 2024-10-11 14:44:21 +03:00
Variable 0551b23a19
ColorReplace Shading Mode (#1107)
* ColorReplace Sdading Mode

* Fixed changing colors array by mistake

* the tool now takes more things into account

* Make it work with transparent colors (more consistent with aseprite), and improve ui a bit. This should be the last commit to this pr
2024-10-09 11:29:46 +03:00
Variable b5ded76654
Stretch mode and expand mode fixes (#1103)
* Set dynamics dialog to correct size after something is made visible or hidden

* fixed aspects of brush buttons

* Fixed wrong stretch mode

* improved rotation brush UI

* Update PaintSelect.tscn

* formatting

* fix all stretch modes

* fix export expand mode

* Fix more Stretch modes

* Fixed Resize canvas transparent checker

* removed an addition

The change: 625fe4cdd1
is moved over to a new pr

* moved some changes to another pr

* Moved some more changes to another pr
2024-09-17 21:38:21 +03:00
Emmanouil Papadeas 1b48eac843 Fix crash when using the move tool snapped to the grid 2024-09-12 18:26:42 +03:00
Emmanouil Papadeas 9650dae678 Optimize the pencil & curve's fill inside option by making them check fewer pixels
Same logic as the previous commit
2024-09-05 03:50:37 +03:00
Emmanouil Papadeas 1e9c8487ba Optimize the lasso & polygon select tools by making them check fewer pixels
The time they take to complete now depends on the size of the selection, rather than checking all of the pixels of the entire canvas.
2024-09-05 03:34:30 +03:00
Emmanouil Papadeas 04a5292672 Use exact match for the draw_color_picker shortcut 2024-08-15 04:36:33 +03:00
Emmanouil Papadeas 15c186d8a1 Re-introduce #729 to fix an issue where the bucket tool filled with a slightly wrong color
We should probably keep this issue in mind though in case we find a better solution, but this seems to be working for now.
2024-08-12 16:36:20 +03:00
Emmanouil Papadeas 1678738d75 Add tolerance to the magic wand, rename "similarity" to "tolerance" in the select by color tool and make it work the inverse way
Continuation of b0a284583b for the selection tools.
2024-08-10 18:43:04 +03:00
Emmanouil Papadeas b0a284583b Add tolerance to the bucket's "similar area" mode, rename "similarity" to "tolerance" and make it work the inverse way
A slightly breaking change for a minor update, but one that needed to be done. The bucket tool's "similarity" (now renamed to "tolerance") used to work the opposite way from all other software, the maximum value meant exact color match and 0 meant no color match. Now it works the inverse way to make it be consistent with other software, and the range is now 0-255 instead of 0-100. 0 means exact color match, 255 means no color match. And tolerance also now works for the "similar area" mode as well.
2024-08-10 18:20:42 +03:00
Emmanouil Papadeas a3d7725a44 Fix popups appearing in wrong places when single window mode is disabled 2024-08-03 22:36:05 +03:00
Emmanouil Papadeas c0c391674d [skip ci] Change instances of "yield" to "await" in comments 2024-08-02 00:42:14 +03:00
Emmanouil Papadeas 8ba2b62921 Mirror the previews of the shape tools
Now they are consistent with the selection tools
2024-07-31 22:23:50 +03:00
Emmanouil Papadeas 3011d8469f Mirror the preview of the elliptical selection tool 2024-07-31 21:29:05 +03:00
Emmanouil Papadeas 6c016697d9 Fix a crash when selecting an imported model in a 3D cel 2024-07-31 20:55:19 +03:00
Emmanouil Papadeas 7063af098f Optimize the previews of the lasso, paint and polygon select tools
Continuation from the previous commit
2024-07-31 18:19:10 +03:00
Emmanouil Papadeas 9c7effdba3 Optimize previews of the ellipse selection and the shape tools
Before this commit, when these tools were being used on large areas, the software would start being very slow due to the polyline drawing. Now it simply draws an image.
TODO:
- Optimize the lasso, pixel and polygon select tools
- Mirror the previews of ellipse selection and shape tools, for consistency with the lasso, pixel and polygon select tools
- Perhaps somehow remove Previews.gd since its work is even more limited now.
2024-07-31 18:05:22 +03:00
Emmanouil Papadeas cd269c9a4e Slightly optimize line and curve tool drawing 2024-07-31 14:28:30 +03:00
Emmanouil Papadeas fdc8c05f07 Optimize shape drawing
Shape previews also need to be optimized somehow, including some of the selection tool's previews
2024-07-31 03:52:30 +03:00
Emmanouil Papadeas cdf50ce00d Fix zoom tool mode doing the opposite of what it says 2024-07-30 19:43:19 +03:00
Emmanouil Papadeas 52501cdca3 Fix errors with the bucket tool when it's outside of bounds 2024-07-28 17:05:47 +03:00
Emmanouil Papadeas c6d24d458e Replace some Vector2s with Vector2is 2024-07-23 13:51:02 +03:00
Emmanouil Papadeas f84f15b8ae Experiment with Steam achievements, using a new SteamManager class
This has no effect on non-Steam builds. Steam achievements are mostly for fun, but can also be educational because they can let users know of certain features and functionalities. It's using the GodotSteam GDExtension, but because I do not want to bloat the GitHub repository with things that are not needed for most builds, I decided not to include the GDExtension files, and instead check if the `Steam` class exists in `ClassDB`. The new SteamManager class pretty much does nothing on non-Steam builds, so do not worry about bloat.

In the future we could even take advantage of more of Steam's features, such as Cloud storage for pxo files.
2024-07-22 03:11:29 +03:00
Emmanouil Papadeas 64ced35bac Move the dynamics-related code into a new script
This also fixes the dynamics previews not working, as `_input()` is now handled locally in the dynamics popup panel.
2024-07-19 19:39:13 +03:00
Emmanouil Papadeas 3358d59f6f Implement filling while moving the mouse in the bucket tool
Probably the last new feature for version 1.0
2024-07-14 00:15:38 +03:00
Emmanouil Papadeas fae89ed2a1 Increase the slider bounds of the crop tool and the scale slider max value of the 3DShapeEdit tool 2024-07-12 12:53:37 +03:00
Emmanouil Papadeas 896d714a9e Make "similar colors" mode in the Bucket tool change the same color in all selected cels 2024-06-30 13:27:15 +03:00
Emmanouil Papadeas b146c88a5e Fix shape tools indicator being reset after drawing 2024-06-27 01:25:17 +03:00
Emmanouil Papadeas fc10d600a5 Remove Crop tool's apply button shortcut
The issue is that by default it's mapped to Enter, which is also used to confirm editing of a slider. If we want to keep the shortcut, we need to check if something else does not have focus first.
2024-06-14 16:33:52 +03:00
Emmanouil Papadeas b7a77a2ceb Clear polygon select tool when switching projects 2024-06-01 16:03:39 +03:00
Emmanouil Papadeas 2afb087b7a When switching projects and the curve tool is active, clear it
Instead of applying it. This also fixes a crash when the curve tool is active and the current project closes
2024-06-01 12:59:22 +03:00
Emmanouil Papadeas b9c289e742 [Curve tool] Don't draw a circle when hovering over the first point, if there is only one point in the curve 2024-05-26 14:27:02 +03:00
Emmanouil Papadeas b25ae8b4cc Fix curve being immediately applied if the user presses and releases immediately 2024-05-25 00:42:34 +03:00
Emmanouil Papadeas 0a38345376 [Curve tool] Only control the out control point when holding Shift
Needed to make curves with sharp edges. Inspired by Krita's Bezier curve tool
2024-05-21 19:37:47 +03:00