1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-22 05:23:14 +00:00
Commit graph

1216 commits

Author SHA1 Message Date
Emmanouil Papadeas
f801b5bc07 Minor UI improvements
Replaced the "FX" text with a texture in the timeline's FX button, added left and right margins in the DockableContainer
2023-12-06 17:34:03 +02:00
Emmanouil Papadeas
8ca0e12b90 Attempt to fix the "add layer" button not working when pressed 2023-12-06 04:16:53 +02:00
Emmanouil Papadeas
359f509d57 Make the opacity slider affect layer opacity instead of cel opacity
And move cel opacity inside the cel properties.
2023-12-06 03:44:55 +02:00
Emmanouil Papadeas
c0a8202145 Add cel properties and z-index to individual cels 2023-12-06 03:22:33 +02:00
Emmanouil Papadeas
f893e68d59 Move even more code away from Global and Project to AnimationTimeline
This time related to layer buttons
2023-12-05 02:04:34 +02:00
Emmanouil Papadeas
80e351a2a1 Move some code away from Global and Project to AnimationTimeline 2023-12-05 01:46:42 +02:00
Emmanouil Papadeas
f40ef6f329 Some more LayerButton.gd code improvements 2023-12-05 01:11:51 +02:00
Emmanouil Papadeas
5ece616a9a Only use one LayerButton scene instead of using inheritence
And make some code improvements in LayerButton.gd
2023-12-05 01:08:26 +02:00
Emmanouil Papadeas
a627cff107 Only have one CelButton scene instead of using inheritance 2023-12-05 00:40:16 +02:00
Emmanouil Papadeas
9a85de74b5
Make the color picker be always visible in the UI instead of a popup (#953)
* Initial work of a color picker that is always visible

* Make the new color picker fully functional

* Minor UI fixes

* Change the UI a bit so the color picker buttons look like they used to

To save horizontal space

* Add sliders as a separate panel and rename some file names

* Move the left/right color buttons next to the hex text edit

* Add color picker sliders to the same panel as the rest of the color picker, as an expandable/collapsible area

* Change default layout

* Some minor UI improvements

* Remove guides from ColorPicker.tscn

* Reduce the lines of code that calculate the average color

* Make Pixelorama remember if the color picker is expanded and its color mode

* Update tallscreen.tres

* Update tallscreen.tres

* Pixelorama now also remembers the last used picker shape

* Add some extra comments in the code

* Fix typo

* Add some translation strings
2023-12-05 00:10:42 +02:00
Emmanouil Papadeas
d2734ab044 Add a basic stabilizer
Not as powerful as other art software, but should be enough for pixel art
2023-12-04 14:55:38 +02:00
Emmanouil Papadeas
1b22e75034 Some timeline UI improvements 2023-12-01 21:13:28 +02:00
Emmanouil Papadeas
5b1c79df05 Make undo/redo support echo again
Thanks to Godot 4.2!
2023-12-01 02:12:02 +02:00
Emmanouil Papadeas
4b84803456 Loop through frames when clicking on go to previous/next frame buttons on the timeline 2023-11-29 02:47:33 +02:00
Emmanouil Papadeas
ab3fb9a975 Fix bug where using shortcuts to switch between frames also moved the selection, causing deletions 2023-11-26 14:04:11 +02:00
Emmanouil Papadeas
56264fda3b Fix not being able to transform if the selection size is bigger than the project size
Also introduces a new `return_cropped_copy()` method in SelectionMap to avoid duplicate code.
2023-11-25 00:18:44 +02:00
Emmanouil Papadeas
bc8a9de4db Optimize layer blending modes and make them work on all GPUs (hopefully) - Fixes #938 2023-11-25 00:10:19 +02:00
Emmanouil Papadeas
4024858292 Set the minimum size of the layer buttons container to be the same as the size of the layer options container 2023-11-22 17:44:38 +02:00
Emmanouil Papadeas
29a5994cec Fix canvas preview play button minimum size 2023-11-22 17:22:57 +02:00
Emmanouil Papadeas
d5c520643b Fix layer button hierarchy lines being drawn in the wrong position 2023-11-22 17:12:30 +02:00
Emmanouil Papadeas
d84c2dd6f3 Fix crash when deleting a layer that is being renamed 2023-11-22 15:18:55 +02:00
Emmanouil Papadeas
74273d5b59 Fix frame duration being set to x1.01 instead of x1.0 by default 2023-11-22 03:59:21 +02:00
Emmanouil Papadeas
08b03ae0e5
Implement layer effects (#940)
* Basic logic for layer effects

* Add an FX button and the ability to add effects, no way to remove or change properties of effects yet

* Basic and ugly UI for adding and removing effects, no property changing yet

* Swap effects

* Fix preload shader paths

* Change parameters for layer effects

* Change gradient parameter in layer effect shaders, and other fixes

* Use CollapsibleContainers for the shader properties

* Set the correct gradient interpolation mode and color space in the UI

* Make effects of group layers apply to children

* Change `apply_fx` to `apply_effects`, formatting, some extra doc comments

* Apply effects to other canvases, when merging layers and when exporting

* Display humanized names of the shader unifrms

* Some UI improvements to the LayerEffectsSettings

* Add an Enabled button in the layer effects window, and change checkboxes to checkbuttons

* Change BaseLayer.apply_effects() to take a cel as a parameter instead

* Make layer effect buttons be affected by the modulate icon color

* Add option in the View menu whether layer effects are displayed in the canvas or not

* Rename `apply_effects()` to `display_effects()`

* Add translation strings

* Add nearest filter to the gradient map

* Don't change Main.tscn

* Fix more translations

* Change the default cursor shape of the generated UI elements of the layer effects

* Add undo/redo and effect application (apply effect destructively)

There are some errors due to the usage of anonymous lambda methods in undo/redo, but it seems to be working well regardless.

* Make layer effect application work on all cels
2023-11-22 01:06:25 +02:00
Variable
d532aee550
Added Measurements to move tool (and other fixes) (#932)
* fixed mouse guide, added measurements

* typo

* code improvements

* change width

* fixed accidental uneven indentation

* minor fixes

* formatting

* formatting

* fixed ui of canvas preview container

* centered labels of tool names

* changed text overrun behaviour of Mode to Ellipsis

* use grid container

* Revert "use grid container"

This reverts commit 8ac9ac2aae.

* Revert "changed text overrun behaviour of Mode to Ellipsis"

This reverts commit eec1482e5f.

* Revert "centered labels of tool names"

This reverts commit 9720e37ef8.

* Revert "fixed ui of canvas preview container"

This reverts commit 9809fa3336.
2023-11-21 16:54:03 +02:00
Variable
60d4b1fd81
Make cloned frames only select a cel if it's coresponding original cel was selected as well (#942)
* cloned frames only keep original selected cels as selected

* Fixed PasteTagPopup dialog, fixed tag created immediately after starting pixelorama not placed correctly

* formatting

* typo
2023-11-21 16:48:48 +02:00
Variable
07fe676f4f
Exposed get_enclosed_image() to API (#944)
* Exposed get_enclosed_image() to API

* minor adjustments

* did the suggested changes
2023-11-20 14:43:40 +02:00
Emmanouil Papadeas
417102da22 Fix selection resizing when transforming content 2023-11-17 18:54:21 +02:00
Emmanouil Papadeas
16a2f524b3 Slightly optimize the start of transformations with selections 2023-11-17 17:24:19 +02:00
Emmanouil Papadeas
78ab0bf3db Remove comments left over by the previous commit
Oops
2023-11-15 04:04:41 +02:00
Emmanouil Papadeas
e6d5329254 [Undo/Redo] Compress SelectionMaps stored in memory, get rid of a lot of selection_map_copy instances 2023-11-15 03:53:52 +02:00
Emmanouil Papadeas
2c5ece53dd [Undo/Redo] Compress images when replacing cels and merging layers 2023-11-14 17:08:09 +02:00
Emmanouil Papadeas
5d7da079cc Fix shader-based rotation not working 2023-11-14 03:27:05 +02:00
Emmanouil Papadeas
e22794e611 Compress mirror image in undo/redo 2023-11-14 03:18:08 +02:00
Emmanouil Papadeas
e62548517f Compress image data saved in undo/redo for image effects, buckets and selection transformations 2023-11-14 00:48:02 +02:00
Emmanouil Papadeas
94b3e75f30 Mark dialogs as popup_windows
So they can close when the user clicks outside the window on Godot 4.2
2023-11-11 03:12:49 +02:00
Emmanouil Papadeas
397e9e7c17 Fix recent projects submenu not working on Godot 4.2.beta5 2023-11-11 01:55:14 +02:00
Emmanouil Papadeas
90ef7c0d16 Resize image effect preview images to (1, 1) when the dialogs are being hidden
So that they do not waste RAM for no reason anymore
2023-11-10 23:15:24 +02:00
Emmanouil Papadeas
786cc39e89 Fix memory leak when applying image effects 2023-11-10 22:51:15 +02:00
Emmanouil Papadeas
970d1d3c23 Fix issue where nothing would be drawn in the canvas if the first cel is a GroupCel 2023-11-09 02:07:08 +02:00
Emmanouil Papadeas
c8a69e2913 Fix some UI issues in FrameTagDialog 2023-11-08 16:22:53 +02:00
Emmanouil Papadeas
79ff486c7b Put all of the image effect shaders in an Effects folder 2023-11-07 00:52:25 +02:00
Emmanouil Papadeas
ec57e5173d Make the canvas preview use the same material as the main canvas except when its animation is being played
This is both an optimization and it restores live changes of the canvas preview when the user is drawing, without any extra performance cost, since the material is the same.

The only case when the canvas preview is using a different material is when its animation preview is being played, so it can show a different frame than the main canvas.
2023-11-06 22:51:21 +02:00
Emmanouil Papadeas
5b67880a9b Fix tool shortcuts not working with Control
Addresses #935
2023-11-06 02:42:33 +02:00
Emmanouil Papadeas
f62d7d4f6a Make "Shift + Delete" the default shortcut for removing frames 2023-11-01 17:46:21 +02:00
Emmanouil Papadeas
a13881ef58 Make animation button visible on DropShadow dialog 2023-11-01 17:44:20 +02:00
Emmanouil Papadeas
b8e83becc9 Fix missing button shortcuts 2023-11-01 14:41:05 +02:00
Emmanouil Papadeas
1e70a15055 Fix selection transformations and move tool not updating the canvas 2023-11-01 02:55:44 +02:00
Emmanouil Papadeas
58e694abec Optimize canvas drawing by only calling queue_redraw when the image has changed 2023-10-31 14:06:59 +02:00
Variable
9e8d210623
Improve cel3d Gizmos (#929)
* improved gizmos

* removed accidental unused variable

* typo
2023-10-27 19:26:24 +03:00
Variable
c3a651f01d
Fix cel3d compatibility when transferring project from 0.x to 1.0 (#927)
* part 1/2

* part 2/2

* increased pxo version

* improvements

* formatting

* formatting (missed this one on last commit)

* fix capsule and text 3d

* formatting

* fixed capsule shape

* Fixed text mesh and exposed some new parameters

* fix some typos

* Fixed some bugs

* minor typo

* formatting

* thin lines on hover, thick lines on select

* add proposed changes
2023-10-24 13:26:24 +03:00