1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-15 18:13:15 +00:00
Commit graph

3201 commits

Author SHA1 Message Date
Emmanouil Papadeas
768869b519 Limit outline width step to 1 and allow lesser/greater values for shader-generated sliders 2023-11-22 17:18:37 +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
Variable
5d858eb0ec
revised project api (#945) 2023-11-20 14:30:26 +02:00
Variable
b71353cd75
fixed some typos (#943) 2023-11-19 14:04:19 +02:00
Emmanouil Papadeas
f43c0eb750 [skip ci] Update CHANGELOG.md 2023-11-18 00:49:31 +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
9279a8e0ab Save compressed images in undo/redo memory when scaling and centering frames 2023-11-14 03:57:02 +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
4f5f37a522 For the move tool, only store the difference vector in undo/redo
Instead of storing copies of entire images. This is a bit slower on the CPU side, mostly on larger canvases, but it is a massive RAM optimization. Perhaps it could be move optimal to use a shader here.
2023-11-14 00:58:53 +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
1a1d82ab3a Fix ValueSlider and CollapsibleContainer textures not working on Godot 4.2 2023-11-13 00:11:26 +02:00
Emmanouil Papadeas
e2fce61980 Change some statements in ExtensionsApi's PanelAPI to check for class names instead 2023-11-12 02:02:02 +02:00
Variable
7fbc3aa210
documenting global.gd autoload (#937)
* added some docs to global

* more docs

* completed preference docs

* removing typos

* added more docs

* some more docs

* some doc revisions

* typo

* removed typos

* added more docs

* completed global doc

* fix typos

* changed some stuff

* replaced (Preference Variable) with "Found in preferences"
2023-11-12 01:16:51 +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
d7f6432bb7 Update Keychain 2023-11-09 03:36:30 +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
ffd9d2bca8 Update tile mode opacity when changed from the preferences, and remove unused variables 2023-11-08 19:01:31 +02:00
Emmanouil Papadeas
c8a69e2913 Fix some UI issues in FrameTagDialog 2023-11-08 16:22:53 +02:00
Emmanouil Papadeas
be83c94693 Change OS.has_feature("standalone") to "template" instead
Which is the new name for the tag for exported builds in Godot 4
2023-11-08 15:57:01 +02:00
Variable
45736cf624
Added Godot generated documentation to the ExtensionsApi and some classes (#925)
* ExtensionsAPI.gd to ExtensionsApi.gd

* added docs to outer Api

* added empty line

* added docs to GeneralAPI

* added docs to MenuAPI

* added docs to DialogAPI

* added docs to PanelAPI

* added docs to ThemeAPI

* added docs to ToolAPI

* added docs to SelectionAPI

* added docs to the remaining APIs

* fix typo

* formatting

* linting

* linting

* documented AnimationTag class

* documented BaseCel class

* more accurate instructions to generate api

* improve/clean docs a bit

* documented BaseLayer class

* linting

* added some more docs

* Update BaseLayer.gd

* typo

* added some more info
2023-11-08 01:22:55 +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
0e5cc58058 Fix random brushes not working 2023-11-06 01:28:54 +02:00
Emmanouil Papadeas
8a87f721b8 Fix the sides of the textures of layers drawn on the canvas being repeated when using the Move tool 2023-11-02 16:06:52 +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
8ffcfd7bd9 Fix global increment/decrement actions of shape tools and change "Fill Shape3D" to "Fill Shape" 2023-11-01 17:33:53 +02:00
Emmanouil Papadeas
7404bf23de Fix ellipses with sizes larger than 11px sometimes producing gaps
Their thickness seemed incorrect too, this commit also fixed that
2023-11-01 17:30:29 +02:00
Emmanouil Papadeas
af8ba560ac Fix ellipses having gaps with sizes bigger than 2px
Not a complete fix, sometimes ellipses still have gaps on sizes 12px and bigger
2023-11-01 15:41:15 +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
Emmanouil Papadeas
76e8dfeaaf
[skip ci] Update CHANGELOG.md 2023-10-30 15:53:33 +02:00
Emmanouil Papadeas
72a159aef4 [skip ci] Update CHANGELOG.md 2023-10-30 14:33:28 +02:00
Variable
1d35198a25
Ask user if they wish to delete Extensions permanently or not (#919)
* don't delete extensions permanently

* some further improvements to the previous commit

* add a tab to make log reading easier

* move to bin on uninstall

* attemp fix formatting

* attemp fix formatting

* attemp fix formatting

* attempt fix formatting

* attempt fix formatting

* attempt fix formatting

* attempt fix formatting

* Ask user if they prefer their extensions fried or disintegrated

* removed accidental change

* formatting

* fix uninstall dialog not apearing

(missed it due to a small blunder)
2023-10-29 13:55:22 +02:00