1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00
Commit graph

1978 commits

Author SHA1 Message Date
Emmanouil Papadeas 3bd7e94a59 Minor cleanups to some shader code 2024-09-11 17:01:44 +03:00
Emmanouil Papadeas 8f6eba3f84 Make the Gaussian blur dialog invisible 2024-09-11 17:01:25 +03:00
Emmanouil Papadeas 62d573ae01 Fix issue when exporting and the user has specific frames selected, then changes the layers and then changes the frames again 2024-09-11 17:01:03 +03:00
Emmanouil Papadeas 504313483d Change trim_sprite to trim_images variable name in Export 2024-09-11 17:00:23 +03:00
Emmanouil Papadeas b962b31568 Make some method names in ExportDialog lowercase
They were named this way due to the naming conventions of Godot 3, but Godot 4 automatically makes these method names be all lowercase. Eventually we should replace all methods in the codebase to be all lowercase.
2024-09-11 16:59:53 +03:00
Emmanouil Papadeas 54068895bc Rename "trim sprite" to "trim images" and add the related strings to Translations.pot
"Trim images" should be a more fitting name for this option, as it's quite common to export multiple images and the use of plural makes it more clear that this option applies to all exported images.
2024-09-11 16:45:16 +03:00
Emmanouil Papadeas a5a74e99a3 Fix crash when re-arranging palette swatches while holding Shift 2024-09-11 16:18:19 +03:00
Emmanouil Papadeas a5efb97d58 Set the group layer's default blend mode to Pass through
Mostly for performance reasons, but also to make it consistent with Photoshop and Photopea
2024-09-10 02:03:07 +03:00
Emmanouil Papadeas f9dd09dc2c Update AboutDialog.gd 2024-09-09 00:52:20 +03:00
Emmanouil Papadeas 321102e8fe Add Gaussian Blur as an image effect 2024-09-08 03:13:55 +03:00
Emmanouil Papadeas c2ce4a4a69 Change the pattern parameter node of the outline layer effect to an OptionButton
Consistent with the image effect
2024-09-08 02:40:55 +03:00
Emmanouil Papadeas b3021ceb67 Add a gaussian blur layer effect 2024-09-08 02:40:28 +03:00
Emmanouil Papadeas 28e143e033 Make the color picker popup in GradientEdit moveable 2024-09-07 17:19:42 +03:00
Emmanouil Papadeas f162f12fbf Save the onion skinning opacity in the config file 2024-09-07 03:59:19 +03:00
Emmanouil Papadeas a0c7dd4527 Optimize the export dialog by caching all of the blended frames
No more slowness when changing the export settings. The only setting that causes the frames to be blended again is changing the layers.
2024-09-05 04:50:36 +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
Variable 4a7f7cbde5
Added a way to modify shader textures (#1096)
* experimental support for texture changes

* fix some typos

* formatting + some improvements

* Some final touches, i think it's ready now

* moved a function to the shaderloader

* formatting

* add a void
2024-09-03 03:38:56 +03:00
Variable fa9536ce4a
Fix typos and stuff (#1099) 2024-09-03 00:20:50 +03:00
Emmanouil Papadeas 9cac98c941 Add an alpha uniform to the IndexMap shader
In case users don't want the effect to affect the alpha channel
2024-09-02 02:21:48 +03:00
Variable 167b0d863c
fix wrong stretch mode in cel preview (#1097) 2024-09-02 02:03:39 +03:00
Emmanouil Papadeas 46b0b124f4 I forgot to include Export.gd in the previous commit
Oops
2024-09-01 03:25:26 +03:00
Emmanouil Papadeas 69ce932f1c Add a quality slider to the export dialog when exporting jpeg files 2024-09-01 02:49:13 +03:00
alikin12 1460ba2e89
Set timeline layer and frame header to be fixed on top (#1095) 2024-09-01 02:30:36 +03:00
Variable a7f1486ec3
Index Map (#1093)
* Index Map

* Formatting

* improve description a bit.
2024-08-31 02:53:27 +03:00
Donte 4fa8981590
Add onion skinning opacity adjustment (#1091)
Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-08-30 22:58:28 +03:00
Vaibhav Kubre 613dd5d7f6
feat: Added option to trim sprites empty area while exporting (#1088)
* feat: Added trim sprite option works like charm

* fix: format issue

* ran working gdformat
2024-08-29 19:07:48 +03:00
Emmanouil Papadeas 702197c639 Fix issue where the '\n` escape character got inserted inside the palette name, causing it to fail to be saved 2024-08-28 18:17:30 +03:00
Emmanouil Papadeas ab6c54ecb1 If a palette fails to save, show an error popup with an error code and message
Instead of just a notification, which can easily be missed and it doesn't explain the cause of the error
2024-08-28 17:40:48 +03:00
alikin12 987366fa8f
Add global layer buttons (#1085) 2024-08-28 02:53:05 +03:00
Emmanouil Papadeas d70ddd72db Release v1.0.2 2024-08-21 16:11:38 +03:00
Emmanouil Papadeas 9be3ba290c Update AboutDialog.gd 2024-08-21 14:30:47 +03:00
Emmanouil Papadeas bdef545727 Fix issue when merging two layers, where if the bottom layer had layer/cel transparency, the transparency would be applied in the content destructively 2024-08-17 02:38:27 +03:00
Emmanouil Papadeas 29f9601d8a Revert "Fix cursor blinking at the edge of canvas (#1075)"
This reverts commit 77f6860f7a.
2024-08-17 00:59:48 +03:00
Emmanouil Papadeas 410f06435c Fix issue where color sliders wouldn't be visible during startup, if the color options button was expanded 2024-08-16 19:29:32 +03:00
Emmanouil Papadeas d531e9ace8 Create a new ShaderLoader class to move some code away from Global 2024-08-16 18:43:25 +03:00
Emmanouil Papadeas c58ce49ec1 Fix typo 2024-08-16 14:29:02 +03:00
Emmanouil Papadeas b0aabe4e8a Add a preference to change max undo steps 2024-08-16 14:28:54 +03:00
Emmanouil Papadeas 19574bca7d Implement the ability to save with blended images with native file dialogs
Fixes #1058
2024-08-16 13:59:14 +03:00
Emmanouil Papadeas c1fb706a33 Remove unnecessary variable from change_layer_automaticaly() 2024-08-16 13:57:51 +03:00
Emmanouil Papadeas cfbe851da5 Add a convolution matrix layer effect
Still WIP, could use some extra parameters such as RGBA channel, and I should also implement it as an image effect.
2024-08-16 04:24:43 +03:00
Emmanouil Papadeas 2e3f0a2696 Add <kbd>Control+Shift+Alt</kbd> as a shortcut that automatically selects a layer directly from the canvas when using tools 2024-08-15 20:16:43 +03:00
Emmanouil Papadeas 077c57c53a
Implement support for group layer blending (#1077)
* Blend group layers on `DrawingAlgos.blend_layers()`

* Support group layer blending on the canvas

* Allow editing of group layer properties

* Fix issues with group layer blending in canvas, and unite common code

* Group layers can now be used as clipping masks

* Make move tool preview work on child layers

* Change OffsetImage's `blend_layers()` to support group layer blending

* Support group layer blending in the canvas preview

* Fix layer blending mode, clipping mask opacity and cel opacity not being updated automatically if the layer/cel changed is not selected

* Add a pass through blending mode to layer groups

Fingers crossed that no bugs were introduced

* Fix issue with layers that belong to pass through groups not updating their textures on the canvas automatically on undo
2024-08-15 15:52:55 +03:00
alikin12 f6f40e03e5
Fix Orama-Interactive#958 (reset custom brush when switch another tool) (#1078) 2024-08-15 15:42:01 +03:00
Emmanouil Papadeas 04a5292672 Use exact match for the draw_color_picker shortcut 2024-08-15 04:36:33 +03:00
Emmanouil Papadeas 1d5de2ed86 Implement the ability to move all selected cels on between different frames, but on the same layer
You currently cannot move multiple cels on different layers, they still act as swapping. Eventually I'd also like to implement moving cels between different layers, but they would also have to be on the same frame. I don't think moving cels between different layers and frames at the same time is possible.
2024-08-13 23:25:29 +03:00
Emmanouil Papadeas 1a99d524d1 Fix some buttons not being affected by the custom icon color on startup 2024-08-13 04:23:56 +03:00
Emmanouil Papadeas 8163015c02 Change blend modes of multiple selected layers from the timeline
And also add undo/redo when changing the blend mode from the layer properties dialog. Not sure why I had made their behaviors so inconsistent.
2024-08-13 00:53:37 +03:00
Hamster 77f6860f7a
Fix cursor blinking at the edge of canvas (#1075)
* fix: mouse blinking at the edge of painting canvas

* format: reformat src/UI/ViewportContainer.gd

* format: reformat according to gdlint

* refactor: removed unused code comments
2024-08-12 19:44:48 +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 6e360505e3 Silence already connected signal errors in the tile mode offsets dialog 2024-08-12 02:36:45 +03:00
Emmanouil Papadeas c4beee6f41 Fix crash when importing brushes and palettes 2024-08-12 02:34:51 +03:00
Emmanouil Papadeas 68be6ac106 Allow editing of non-pixel cel properties 2024-08-11 15:03:33 +03:00
Emmanouil Papadeas 3113459224 Fix #1074 2024-08-11 11:05:02 +03:00
Emmanouil Papadeas 9c170ee5a0 Fix group layer children blending not working with nested group layers and with layer effects 2024-08-11 01:38:18 +03:00
Emmanouil Papadeas f3ee00a944 Fix crashes when attempting to export specific layers or tags that have been deleted 2024-08-11 01:00:10 +03:00
Emmanouil Papadeas 363c764fc1 Use the blend layers shader to blend the children of group layers 2024-08-11 00:51:31 +03:00
Emmanouil Papadeas bdc1b5af11 Add a blend_layers_headless method to DrawingAlgos 2024-08-11 00:35:16 +03:00
Emmanouil Papadeas 19e4c94fe3 Add a resized signal to Project, remove the Global.tile_mode_offset_dialog variable
Continue to slowly remove nodes from `Global`.
2024-08-10 22:47:06 +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
kleonc 92d7bbf539
Fix isometric grid calculations using ints instead of floats (#1069) 2024-08-09 15:33:45 +03:00
Emmanouil Papadeas e83d560741 Release v1.0.1 2024-08-05 22:16:25 +03:00
Emmanouil Papadeas 699c9cda87 Fix the name of the new image effect 2024-08-05 13:18:12 +03:00
Emmanouil Papadeas f299cf1339 Update AboutDialog.gd 2024-08-05 13:13:16 +03:00
Emmanouil Papadeas fbe2952346 Make shape previews look like they did in v1.0
The AutoInvertColors shader has been updated to make shapes hollow, similar to how the marching ants outline works.
2024-08-04 22:12:57 +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 95d96b9b00 Manually write lines in the override.cfg file instead of using ProjectSettings.save_custom() 2024-08-03 22:04:32 +03:00
Emmanouil Papadeas 17ad9eb8b5 Fix issue with popups being unclickable disabled single window mode
Should fix #1054
2024-08-03 21:27:39 +03:00
Emmanouil Papadeas 8c6bf08aef [skip ci] Fix typo in ExtensionsAPI 2024-08-02 21:43:57 +03:00
Emmanouil Papadeas b6583e4133 Fix two bugs with palettes, see description
1) `Palettes`'s `reindex_colors_on_width_increase()` was not changing the `index` of `PaletteColors`, thus resulting in the opened palette itself and the saved file having different indices, which could've caused conflicts with multiple colors sharing the same index, if the user re-arranged the palette after resizing it.

2) If the width was increased but the height increased, the positions of the colors remained the same, which resulted in the colors being in the columns that were removed, to be removed themselves. Now, the colors are taking advantage of the empty space, in order to remove as less as colors as possible. No colors will be removed if the width times the height is equal to or greater than it was before.
2024-08-02 21:32:53 +03:00
Emmanouil Papadeas f7296efbc5 Enable exclusive and disable popup_window flags in the palette dialogs 2024-08-02 20:59:59 +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 1ad4c2357f In the Canvas scene, make Previews and PreviewsSprite nodes share the same material 2024-08-02 00:03:45 +03:00
Emmanouil Papadeas 0ea0406233 Add an adjust brightness/contrast image effect
Thanks to https://godotshaders.com/shader/color-manipulator/

The shader has more options than just brightness and contrast though, but I didn't know how else to name the effect. "Adjust Brightness/Contrast" makes it immediately obvious as to what the effect is about.
2024-08-01 21:21:45 +03:00
Emmanouil Papadeas 4d26a6dd55 Fix warnings in some shaders 2024-08-01 15:51:46 +03:00
Emmanouil Papadeas 68b4047e72 Enable exclusive and disable popup_window flags in some more dialogs
I forgot to include these changes in 95b5102394
2024-08-01 01:23:33 +03:00
Emmanouil Papadeas 6e41496ec9 [skip ci] Update translations 2024-08-01 00:24:25 +03:00
Emmanouil Papadeas 95b5102394 Enable exclusive and disable popup_window flags of all the dialogs
Closes #1061, fixes issue where when Pixelorama's window loses focus, the dialogs disappeared, but the dialogs can no longer close when pressing outside of them.
2024-07-31 22:49:30 +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 8e90271a64 Disable show hidden files by default in the export dialog
Maybe that is what caused #1060?
2024-07-31 21:41:18 +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 af81154cbf Fix a crash with Godot 4.3 2024-07-31 20:55:02 +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 df139ed645 Fix warnings in MarchingAntsOutline.gdshader 2024-07-31 05:06:18 +03:00
Emmanouil Papadeas e686f114a8 Optimize Steam achievement requesting 2024-07-31 05:06:02 +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 c2fc70e436 Fix bug when selecting multiple layers and their opacity changes immediately by the opacity slider 2024-07-30 21:25:15 +03:00
Emmanouil Papadeas b2bdfbeb06 Fix a signal warning in import tag dialog 2024-07-30 20:27:15 +03:00
Variable 9ba556282a
Import Animation dialogue improvements (#1041)
* splash ambient

* change fill to radial

* make import tag work with frame button

* hide Import tag dialog when clicking outside

* Icon shows the first frame of a tag

* formatting
2024-07-30 20:22:22 +03:00
Emmanouil Papadeas cdf50ce00d Fix zoom tool mode doing the opposite of what it says 2024-07-30 19:43:19 +03:00
Variable 1d82bd95e5
Make clipping masks work with Move tool and offset image dialog (#1057)
* made clipping masks work with offset image dialog

* move tool now works with clipping masks
2024-07-30 19:29:55 +03:00
Kiisu_Master f27d152cb3
Add setting for Godots low processor usage mode (#1056)
* Add setting for Godots low processor usage mode

* Update name and description of low processor usage mode setting in preferences

* Fix a tiny mistake
2024-07-30 19:02:10 +03:00
Emmanouil Papadeas 7d30aed62d Fix some image effects resulting in wrong colors when the image has non-opaque pixels 2024-07-30 18:29:01 +03:00
nicejammer ce6a48a020
Add missing translation strings and fix broken ones (#1051)
Added missing strings to Translations.pot and fixed a few ones that were broken either because of missing periods, differences in capitalization or because of trailing newlines (the latter seems to get automatically trimmed in tooltips during runtime)
2024-07-29 02:26:51 +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 41e21cd9b0 [skip ci] Delete extension_repository.md 2024-07-28 02:29:48 +03:00
Variable 76ffe7bb41
add more info to references pannel (#1049) 2024-07-28 02:23:30 +03:00
Variable 7c2d237792
fix some things in ExtensionExplorer (#1047)
* fix some things

* treat any string as a comment (unless it starts with a link)
2024-07-27 17:52:37 +03:00
Emmanouil Papadeas 94abe80295 Update changelog url 2024-07-27 13:20:18 +03:00
Emmanouil Papadeas 5eaf81aeae [skip ci] Add a Steam achievement for creating a 3D layer 2024-07-27 13:00:16 +03:00
Emmanouil Papadeas 40fb5894b0 Update AboutDialog.gd 2024-07-26 18:19:52 +03:00
Variable 50858be854
Add readme button to extensions (if they posess one) (#1045) 2024-07-26 17:00:21 +03:00
Variable bd42a0cba6
added palette docs, allow more than one dimentional ValueSlider, add … (#1044)
* added palette docs, allow more than one dimentional ValueSlider, add more error messages

* split into 3 functions
2024-07-26 16:27:54 +03:00
nicejammer 9196995697
Fix certain strings not updating when language changes (#1043)
A few buttons and labels in Pixelorama weren't getting updated when changing languages, they'd just remain at the language the program started up with or only update when changing projects.

This fixes that and ensures they get updated as soon as the user changes languages.
2024-07-26 16:10:56 +03:00
Emmanouil Papadeas 40be1a9559 Some minor optimizations in BlendLayer.gdshader 2024-07-24 00:48:16 +03:00
Emmanouil Papadeas 96a1d2770d Call Global.dialog_open() on the tag properties popup 2024-07-23 22:27:29 +03:00
Emmanouil Papadeas 30dfb6aa58 Try to fix issue when certain languages are set to the OS system locale and some GUI elements are not being translated during startup
Only confirmed with Brazilian Portuguese at the moment
2024-07-23 19:34:49 +03:00
Emmanouil Papadeas ab9a5aa0fd Fix bug where the ValueSlider text color wasn't getting updated when its enabled parameter was toggled 2024-07-23 18:40:35 +03:00
Emmanouil Papadeas 785f0eccd4 Fix issue where the minimum size of the color shapes of the color picker panel gets reset when the theme changes 2024-07-23 18:31:24 +03:00
Emmanouil Papadeas e485633cb9 Make the color picker panel have slightly less empty space on the bottom 2024-07-23 18:22:47 +03:00
Emmanouil Papadeas 899fa521eb Fix crash when adding a new layer to a collapsed group layer 2024-07-23 17:58:19 +03:00
Emmanouil Papadeas c6d24d458e Replace some Vector2s with Vector2is 2024-07-23 13:51:02 +03:00
Variable 75bdc6d9be
Added some ambience to Splash backgrounds (#1039)
* splash ambient

* change fill to radial
2024-07-22 14:56:03 +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 d58da13493 Bump version to v1.0-rc1 2024-07-22 01:00:25 +03:00
Emmanouil Papadeas d82a40f9f9 Remove Global.main_window variable 2024-07-21 21:25:03 +03:00
Emmanouil Papadeas 774786ab44 Remove unused variables 2024-07-21 21:17:18 +03:00
Emmanouil Papadeas b8af094529 Add the 1.0 splash screen artworks 2024-07-21 03:23:25 +03:00
Variable 3df7a67b9b
fix some stuff in extension explorer, and changed (open logs folder) to (open editor data folder) (#1038) 2024-07-20 23:09:38 +03:00
Emmanouil Papadeas 6b23c51e12 Fix some typos 2024-07-19 19:41:31 +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 506004b2a3 Fix checker background not appearing in the drop shadow dialog 2024-07-19 19:23:46 +03:00
Emmanouil Papadeas b3133130ad Include tag name even if we're exporting a single file 2024-07-19 17:24:58 +03:00
Variable 237eeef4d1
show extension info on hover (#1037)
* show extension info on hover

* formatting
2024-07-19 00:48:23 +03:00
Emmanouil Papadeas 4bc4ed1299 Change the extension repository link 2024-07-16 17:33:31 +03:00
Emmanouil Papadeas 3ea0ef0b5a Make the size of the text of rulers and guides be affected by the font size 2024-07-15 00:31:52 +03:00
Emmanouil Papadeas bcbd0ea7da Fix crash when the theme has no default font, by using Godot's fallback font instead 2024-07-14 16:08:18 +03:00
Emmanouil Papadeas 5d06af39b2 Fix rulers being incorrect at the start 2024-07-14 16:02:16 +03:00
Emmanouil Papadeas 919d0117ca Update AboutDialog.gd 2024-07-14 01:30:56 +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 b4e54afa76 Fix bug where the exported files had the wrong tag name, if "Include frame tags in the file name" is enabled 2024-07-14 00:15:03 +03:00
Variable e1649a064e
Fixes to perspective editor (#1034)
* removed some redundant code

(not sure how it got there), made tracker toggle obey the variable

* Changed perspective editor from Control to PanelContainer to avoid some UI issues
2024-07-13 20:52:32 +03:00
Emmanouil Papadeas b4384f4085 When using the canvas, release focus of other GUI elements of the application 2024-07-13 20:38:29 +03:00
Emmanouil Papadeas d685177918 Restore diagonal movement of selections with arrow keys 2024-07-13 20:38:04 +03:00
Emmanouil Papadeas d50ae3b00e Fix canvas no longer remaining in the drag state even when the mouse is outside of it 2024-07-12 14:49:11 +03:00
Emmanouil Papadeas f4f0e4047e Fix gradient map layer effect being purple when it's first created 2024-07-12 14:45:24 +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 547f307b53 Fix crash on Godot 4.3 when the mouse is inside the window when Pixelorama is starting 2024-07-09 15:04:16 +03:00
Emmanouil Papadeas 158e0fa18b Validate the extension file SHA-256 hash when downloading for security purposes
This is just an added step for security. Now, if an extension file gets compromised, Pixelorama can detect the mismatch between the file's SHA256 and the SHA256 from the extension repository, and refuse to install the extension.

For example, someone with malicious intent could gain access in the repository where the extension file is hosted, and replace it with a different file. Before this commit, the malicious file would be downloaded normally, but now, since the file will change, so will its SHA-256 hash, so Pixelorama will be able detect the mismatch and recognize that it is potentially malicious.
2024-07-07 18:29:10 +03:00
Emmanouil Papadeas b04c502470 Fix bug in import preview dialog of the apply all button being unpressed when the import options change
Most likely caused by #957. The line `setup_smart_slice(false)` was caused the bug, hopefully I'm not breaking anything by removing it.
2024-07-07 16:26:23 +03:00
Emmanouil Papadeas e0a6727223 If the OS is sandboxed, set Global.use_native_file_dialogs to true and remove the option entirely from the Preferences 2024-07-03 20:53:01 +03:00
Emmanouil Papadeas dd6332b75a [skip ci] Fix Voxelorama link 2024-07-01 18:03:40 +03:00
Emmanouil Papadeas 6601f83332 Rename store_info.md to extension_repository.md, add Voxelorama and remove other store links
The reason for removing the other store link is because I am worried that adding more links by default, can make it easier to compromise security. Extensions can be dangerous, and even if one link gets injected by malware, users are in danger, so I think it's better to keep the extensions is one, centralized place. I included all of the extensions listed in Variable's store link in this file.

I also renamed it from store to repository, as I think it's a more fitting name.
2024-07-01 17:49:59 +03:00
Emmanouil Papadeas 0601a4481a Make Voxelorama work 2024-07-01 17:22:32 +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 7a13e4c3eb Refactor SplashDialog.gd to make a class for the artworks, update the version text in the splash screen 2024-06-29 20:41:56 +03:00
Emmanouil Papadeas b146c88a5e Fix shape tools indicator being reset after drawing 2024-06-27 01:25:17 +03:00
Emmanouil Papadeas d73ab82e04 Remember display layer effects and snap settings between sessions 2024-06-15 15:58:10 +03:00
Emmanouil Papadeas bc26557219 Remove Renderer from the Preferences
Not currently needed, as it's not possible to change between OpenGL and Vulkan drivers. We could implement this is https://github.com/godotengine/godot/issues/80565 is fixed.
2024-06-14 17:00:26 +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 f3823ef6dd Replace strings with StringNames in initialize_keychain() 2024-06-11 00:15:36 +03:00
Anaminus f69e2d06eb
Implement Columns field of imported .gpl palettes. (#1025)
* Implement Columns field of imported .gpl palettes.

- Fixes Columns field being ignored when imported.
- _fill_imported_palette_with_colors is modified to accept an optional
   width parameter, which defaults to Palette.DEFAULT_WIDTH instead of
   a hard-coded 8.
- A maximum of width of 16384 is enforced to mitigate maliciously large
  values.

* Run gdformat.

* Run gdlint.

* Consume all whitespace between field and value.
2024-06-09 14:19:06 +03:00
Emmanouil Papadeas 8ec5653d67 Make the backup confirmation dialog slightly bigger 2024-06-08 23:29:05 +03:00
Emmanouil Papadeas f79ae7e333 Fix canvas not updating when switching between projects that have the same size and amount of cels
Also fixes issue with tile mode not being updated properly when switching project
2024-06-07 14:49:08 +03:00
Emmanouil Papadeas 1a0f82753e Actually fix pixel perfect and alpha lock buttons having different shortcuts 2024-06-04 00:41:42 +03:00
Emmanouil Papadeas 556fc4b467 Remove unused "manage_frame_tags" shortcut 2024-06-04 00:41:27 +03:00
Emmanouil Papadeas aa2a2bdce8 Immediately disable the delete layer button when locking a layer 2024-06-03 20:41:48 +03:00
Emmanouil Papadeas 14e73ae33b Fix palette swatch white border being shown on non-selected swatches, if the user has scrolled down 2024-06-03 20:36:39 +03:00
Emmanouil Papadeas 8c073dbe63 Fix the palette swatch white border not being shown when selecting a color that exists in the active palette 2024-06-03 19:18:25 +03:00
Emmanouil Papadeas 0b96e3aa6f Make zoom slider slightly bigger to prevent the percentage from overlapping with the buttons 2024-06-03 19:15:58 +03:00
Emmanouil Papadeas debbbf34d1 Try to fix Pixelorama's locale not loading when the OS locale is not set to English 2024-06-03 15:23:33 +03:00
Emmanouil Papadeas 1c3780c94c Change the locale by finding the nearest loaded locale instead of looking for a hard match
Should fix issues where the OS was returning, for example, "fr" for the system locale, and it was not mapped to "fr_FR".
2024-06-01 23:21:23 +03:00
Emmanouil Papadeas fecb9b5803 Fix changing the tablet driver on Windows
Plus, it should also no longer require a restart
2024-06-01 23:13:50 +03:00
Emmanouil Papadeas 429d3469fd Fix issue with layers on the timeline having the wrong size on Greek 2024-06-01 18:29:38 +03:00
Emmanouil Papadeas 26da9070f8 Make the create new image a bit taller 2024-06-01 18:28:16 +03:00
Emmanouil Papadeas 770e04c550 Fix issue where Pixelorama was quitting on save, if the user attempted to save on exit before and cancelled the save file dialog
And replace instances of `Global.save_sprites_dialog` with a local `save_sprite_dialog` variable
2024-06-01 17:56:50 +03:00
Emmanouil Papadeas b7a77a2ceb Clear polygon select tool when switching projects 2024-06-01 16:03:39 +03:00
Emmanouil Papadeas 006be19464 Switch Square and Circle patterns in the outline effect
Not sure how they got out of order in the first place, they were fine in v0.11.4
2024-06-01 13:09:55 +03:00
Emmanouil Papadeas 260c906d92 Update docstring of ExtensionsAPI's add_export_option() method 2024-06-01 13:01:30 +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 e1a53ed905 Fix alpha lock having the same shortcut as pixel perfect 2024-06-01 00:49:01 +03:00
Emmanouil Papadeas d8a17abd1d Use the default Godot 4 version property in project.godot
The custom one we used was because Godot 3 has no version property, but this is no longer the case.
2024-05-31 16:01:36 +03:00
Emmanouil Papadeas 6c8e058164 Fix recorder mode button do the opposite from what it suggests 2024-05-31 14:40:05 +03:00
Emmanouil Papadeas 10d3eac253 Add a confirmation dialog to confirm whether a user wants to enable an extension
For security purposes. Extensions can be dangerous, the user must know what they are doing. Better safe than sorry.
2024-05-29 03:27:54 +03:00
Kiisu_Master 2613e02cd2
Fix ruler text not getting clipped (#1023) 2024-05-28 00:38:35 +03:00
Emmanouil Papadeas d070f8c5f5 Put the effects menu shortcuts under an "Effects" group 2024-05-27 15:32:01 +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 7b17262c85 Show a confirmation dialog when attempting to drag and drop an image from a browser, for security purposes 2024-05-25 16:16:32 +03:00
Emmanouil Papadeas 8c5aba0083 Implement dragging and dropping images directly from the browser to download them and import them 2024-05-25 15:02:13 +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 72a2c59986 Fix codespell errors 2024-05-25 00:41:57 +03:00
Emmanouil Papadeas dc94f76d6a Update the ratio of the AspectRatioContainer in the Import Preview dialog, plus some code cleaning 2024-05-23 01:29:16 +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
Emmanouil Papadeas e5d0a661f7 Properly fix polygon select tool circle radius not scaling properly with zoom
For real this time
2024-05-21 03:01:23 +03:00
Emmanouil Papadeas 3f8799f25a When hovering above the first position when using the curve tool, apply the curve shape 2024-05-21 02:59:37 +03:00
Emmanouil Papadeas 318b381938 Add a fill shape checkbox in the curve tool options
Now the curve tool can also be used as a polygon tool
2024-05-21 02:28:40 +03:00
Variable 601c25f2dd
Curve tool implementation (#1019)
* curve tool

* formatting

* formatting

* saving my progress

* update to kirita mode

* Formatting

* fixes for mirror mode

* added way to remove point, added tool shortcut

* Add translation strings

* Use Curve2D instead of a control_points array

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-05-20 03:46:40 +03:00
Emmanouil Papadeas fe4fc8b0a2 [skip ci] Set a default name for the CollapsibleContainers, if they have none
Mostly useful for debugging CollapsibleContainers made with code
2024-05-19 23:35:27 +03:00
Emmanouil Papadeas 0fc60168e8 Fix polygon select tool circle radius not scaling properly with zoom 2024-05-18 15:01:21 +03:00
Emmanouil Papadeas 7cc820fcf4 Change the accent color of the dark theme to a lighter gray 2024-05-17 02:11:17 +03:00
Emmanouil Papadeas a8440b80cc Rename config file from cache.ini to config.ini 2024-05-16 00:07:38 +03:00
Emmanouil Papadeas 3a4517abf4 [skip ci] Update the Lospec Palette Importer extension version 2024-05-13 19:32:31 +03:00
Emmanouil Papadeas 0fb89bf888 [skip ci] Minor static typing and docstring improvements 2024-05-11 17:02:33 +03:00
Emmanouil Papadeas 6b1329ff1f Set color picker's expand button focus mode to none 2024-05-09 02:45:48 +03:00
Emmanouil Papadeas 4ec7259c63 Optimize non-shader rotation by clearing non-selected pixels with masking 2024-05-09 01:36:11 +03:00
Emmanouil Papadeas e15b207993 Pass a transformation matrix in CommonRotation shaders instead of an angle
This will allow us to implement shearing more easily. Also, for the non-SmearRotxel shaders, normalize their pivot in GDScript, before passing it to the script. Should probably be faster this way
2024-05-09 00:44:52 +03:00