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

1949 commits

Author SHA1 Message Date
Variable af703d486e
Add a way to get autoloads through the api (#1131)
* add autoloads to api

* A name Dilemma, There are 2 autoloads for ImportApi

* add docstring
2024-11-09 23:26:14 +02:00
Emmanouil Papadeas d2892358e3 Add a set_display_scale() method to Main to avoid duplicate code 2024-11-04 18:47:29 +02:00
Emmanouil Papadeas ec17e970e0 The Recorder panel now automatically records for the current project
Making its behavior more intuitive and consistent with the other panels. This also allows for multiple projects to be recorder at the same time, something that was not previous before. Changing projects now also changes the UI accordingly, depending on whether the current project is being recorded or not.

This change also fixes a memory leak, where either the first ever project or the last recorded one, stayed forever referenced in memory by the `project` variable.

Also fixed an issue where the recorder's settings size label was not showing the correct project size.
2024-11-03 18:54:08 +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 6863adf957 Implement support for mouse buttons to be used as menu shortcuts - fixes #1070
Also maps the mouse thumb button 1 to undo, and the mouse thumb button 2 to redo.
2024-10-30 14:25:34 +02:00
Variable 2d9a582f21
Added an OKHSL Lightness sorting in palette (#1126)
* added a lightness sort system

* static check

* lightness

* formatting

* more formatting

* more formatting
2024-10-26 01:31:52 +03:00
Emmanouil Papadeas 6c31708e35 Release v1.0.4 2024-10-25 15:48:59 +03:00
Emmanouil Papadeas 638130c5c8 [skip ci] Update AboutDialog.gd 2024-10-25 12:02:26 +03:00
Emmanouil Papadeas 2d7d7e7c06 Allow greater values in the resize slider of the export dialog 2024-10-23 12:02:19 +03:00
Emmanouil Papadeas f42d361a42 Minor UI improvements for the mirroring buttons 2024-10-23 12:00:19 +03:00
Emmanouil Papadeas dd8d217dc3 Changes in formatting due to gdtoolkit's new update
https://github.com/Scony/godot-gdscript-toolkit/releases/tag/4.3.2
2024-10-22 15:54:59 +03: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 e2b54f70f7 Bump pxo file version to 4 to fix blend mode compatibility with older pxo files
The addition of the erase blend mode from #1117 resulted in loading pxo files from v1.0-v1.0.3 to have incorrect blend modes in their layers, if they are set to anything below normal, because the values of the `BaseLayer.BlendModes` enumerator changed.
2024-10-22 15:39:30 +03:00
Emmanouil Papadeas 370ae7525a Fix formatting and make unused docstrings to comments of the previous commit 2024-10-18 00:01:27 +03:00
Variable 2cb29ab274
somewhat fix transparency for floating window (#1116)
* somewhat fix transparency

* some formatting
2024-10-17 19:51:45 +03:00
Emmanouil Papadeas a64f5f3429 Make ExtensionsAPI version 5 backwards compatible with version 4
This means that extensions that use version 4 can work in version 5, but not necessarily vice versa. Therefore we don't need to show a warning message when loading version 4 extensions.

TODO: Find a better way to determine which API versions have backwards compatibility with each other.
2024-10-17 17:16:17 +03:00
Emmanouil Papadeas 203340b3a1 If the selected font index is out of bounds, fall back to Roboto 2024-10-17 16:58:15 +03:00
Emmanouil Papadeas fd714d04df Update the ExtensionsAPI to handle fonts 2024-10-17 16:52:42 +03:00
Emmanouil Papadeas 91f0b26245 Change the font of the interface from the properties 2024-10-17 14:41:43 +03:00
Emmanouil Papadeas 120bd9a7df Use American English spelling for "Center Canvas" to make it more consistent with the rest of the application 2024-10-17 13:46:18 +03:00
Emmanouil Papadeas c83680183b Minor changes in Shading.tscn 2024-10-17 13:08:43 +03:00
Emmanouil Papadeas 263e19f17a Add a tooltip of the "Share options between the left and the right tools" preference 2024-10-17 13:06:53 +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 d894e9db86
Added Centre Canvas Option (#1123)
* add a centre frame option

* moved code to view menu

* restore left over stuff

* fix typo
2024-10-16 16:30:30 +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
Emmanouil Papadeas 1ae34bf57a Use an anchor and offset preset for the CollapsibleContainer's texture rect 2024-10-15 16:31:04 +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 fe5ced8085 Set the backup confirmation dialog's popup_window to false 2024-10-14 15:55:48 +03:00
Emmanouil Papadeas 9899734090 Ensure that the preview clears when switching to a different tool 2024-10-13 14:22:01 +03:00
HuanWuCode a2e5d165cb
[skip ci] Update PerspectiveEditor.gd (#1119) 2024-10-13 14:03:52 +03:00
Variable c21e089e58
Add alpha erase blend mode (#1117)
* Add alpha erase blend mode

* implemented suggestions
2024-10-13 01:57:10 +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 b52cdc6e7b Fix some text in the About dialog not having the text color of the theme 2024-10-12 15:44:06 +03:00
Emmanouil Papadeas be7d45205e Remove Roboto-Italic
Pixelorama now takes ~100KB less space
2024-10-12 15:36:46 +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 dcd93b4366 Remove Global.open_sprites_dialog and Global.save_sprites_dialog. 2024-10-11 17:12:55 +03:00
Emmanouil Papadeas ed5449bb66 Use an enum for the loop types in the timeline
I should have done that years ago. Literally. I don't know what took so long.
2024-10-11 16:42:11 +03:00
Emmanouil Papadeas b9bf8290b0 Remove Global.animation_timer 2024-10-11 16:38:35 +03:00
Emmanouil Papadeas dddcfed3c4 Add a new "CanvasRulers" node group for the canvas rulers 2024-10-11 16:31:18 +03:00
Emmanouil Papadeas d05787d6ef Add a new "CanvasPreviews" node group for the canvas previews 2024-10-11 16:24:44 +03:00
Emmanouil Papadeas b79ce0ae15 Add a new "CanvasCameras" node group for the canvas cameras 2024-10-11 14:44:21 +03:00
Emmanouil Papadeas fc695a038e Remove Global.canvas from the canvas' children 2024-10-11 14:08:43 +03:00
Emmanouil Papadeas bd68f3d20b [skip ci] Add some strings to Translations.pot 2024-10-11 13:08:29 +03:00
Emmanouil Papadeas 72da34a97d Fix icons not being set to the correct color when launching Pixelorama with the dark theme 2024-10-11 13:03:26 +03:00
Emmanouil Papadeas ffc98a4b7f Remove confusing text from the tooltips of the play animation buttons
Addresses #1114
2024-10-10 16:33:50 +03:00
Emmanouil Papadeas 7a3050b5a0 Fix formatting 2024-10-10 15:29:41 +03:00
Emmanouil Papadeas 55325a38a4 Use a Vector2i in Selection.gd when pasting 2024-10-10 15:29:36 +03:00
Emmanouil Papadeas 8802e3ab41 Slightly improve camera zoom and pan touch gestures
Not quite there yet
2024-10-10 15:29:12 +03:00
Emmanouil Papadeas abcf6f5ec6 Remove unneeded Global.current_project in SymmetryGuide 2024-10-10 15:28:46 +03:00
Emmanouil Papadeas 9cf3045bf3 Fix "previous_project" shortcut not doing anything when we are on the first tab 2024-10-10 15:27:45 +03:00
Emmanouil Papadeas 39afb5e15b Add buttons with menus that move the symmetry guides to the center of the canvas, or the view center 2024-10-10 15:27:06 +03:00
Emmanouil Papadeas 7eeb0b0cba Add a clear recently open file list option 2024-10-10 00:42:40 +03:00
Emmanouil Papadeas 2f24508dea Add a new Reset category in the Preferences 2024-10-09 21:20:17 +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 b350f436c6
Allow clipping to selection during export (#1113)
* Allow clipping to selection during export

* linting

* removed shader
2024-10-01 20:18:58 +03:00
Variable 564b199fa9
Add hotkeys to switch between tabs (#1109)
* Added hotkey to switch tab

* Linting
2024-09-29 00:15:37 +03:00
OverloadedOrama 597db5d44e Fix projects being saved with the wrong name on the Web version 2024-09-28 23:19:14 +03:00
OverloadedOrama dbe48a4681 Fix issue where sometimes the camera zoom was not being preserved when switching between projects 2024-09-24 11:59:18 +03:00
Variable 10e457bf26
Set dynamics dialog to correct size after something is made visible … (#1104)
* Set dynamics dialog to correct size after something is made visible or hidden

* use a separate function instead of lambdha
2024-09-20 18:45:06 +03:00
Emmanouil Papadeas 9824aef893 Attempt to fix the preview of the move tool not being aligned to the pixel grid 2024-09-19 00:38:46 +03:00
Variable 51f6816433
Fixed a colorpicker bug (fixed inconsistent raw values) (#1108)
* Fixed a colorpicker bug

* Some changes in the comments

We should probably avoid using "I" in comments, as it's not clear who is speaking, and `##` should only be used for documentation string and not normal comments.

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
2024-09-18 01:09:37 +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 52e45b158b Release v1.0.3 2024-09-13 17:02:35 +03:00
Emmanouil Papadeas 8c7594a1c8 Add a failsafe to the previous commit's solution 2024-09-13 01:05:53 +03:00
Emmanouil Papadeas 1e2e5dc431 Fix wrong preview in the gradient dialog when editing the gradient and dithering is enabled 2024-09-13 01:02:48 +03:00
Emmanouil Papadeas 6ad23f8485 Second attempt to fix a visual bug with resize canvas' dialog preview 2024-09-12 21:08:32 +03:00
Emmanouil Papadeas 462a95a5ae Fix visual bug with the preview of the resize canvas dialog 2024-09-12 20:23:18 +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 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