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

2616 commits

Author SHA1 Message Date
Emmanouil Papadeas 8c34532cda Store layer effect data in pxo files 2023-12-01 03:12:55 +02:00
Emmanouil Papadeas 4f1705c1e1 Update project.godot and fix formatting 2023-12-01 02:18:35 +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 1ae8fbb7b7 Use Godot 4.2 2023-12-01 02:11:17 +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 bf2cd6ee58 [skip ci] Update CHANGELOG.md 2023-11-26 03:53:30 +02:00
Emmanouil Papadeas e58993d1e3 Fix crash when linking and then unlinking cels, use set_image() and update() instead of create_from_image() 2023-11-25 17:08:41 +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 88a2ef593e Fix project tab title not updating when loading a file and replacing an empty project 2023-11-23 16:34:25 +02:00
Emmanouil Papadeas 507149d246 Make Pixelorama run on Android 2023-11-23 04:08:25 +02:00
Emmanouil Papadeas e4373ded07 Set the default clear color to its correct value when Pixelorama first starts and no theme/clear color option has already been set in the preferences before
Also removes a piece of unnecessary code.
2023-11-22 17:54:33 +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 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