1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-03-15 07:45:19 +00:00
Commit graph

278 commits

Author SHA1 Message Date
Emmanouil Papadeas
281f90b324 Rename some variables and methods in CelTileMap 2024-11-29 19:12:44 +02:00
Emmanouil Papadeas
a85fa931a1 Support tile transformation, no undo/redo yet 2024-11-29 19:12:44 +02:00
Emmanouil Papadeas
3fa117ffb5 Refactor CelTileMap to eventually support alternative tiles
Such as rotated and flipped tiles
2024-11-29 19:12:44 +02:00
Emmanouil Papadeas
3a8e5942d2 Make manual tile editing mode automatically update all other image portions that have the same tile index 2024-11-29 19:12:44 +02:00
Emmanouil Papadeas
5d9b1ca0b2 When a tilemap cel is selected, force the first grid to have the same size as the tile size 2024-11-29 19:12:44 +02:00
Emmanouil Papadeas
1755879047 Undo/redo now removes tiles and re-indexes tilemap tiles 2024-11-29 19:12:43 +02:00
Emmanouil Papadeas
9a1f802a26 Properly update the tileset when using any tool 2024-11-29 19:12:43 +02:00
Emmanouil Papadeas
a6d86a48f2 Show tile indices when pressing Control 2024-11-29 19:12:43 +02:00
Emmanouil Papadeas
d07ab450e0 Add a way to show the indices of each tile, WIP 2024-11-29 19:12:43 +02:00
Variable
31981a1def
Added a way to see index of color (plus bugfixes) (#1143)
* add a way to see indices

* fix some things

* Fixed more than one swatch selected if there is the same color available in an earlier swatch

* fixed wrong index drawn when moved to an smpty swatch

* make active_button public

* fixed wrong color getting stored in   array (similar fix to #1108.)

* If the color selected in the palette is the same then it should take prioity.

* formatting

* hide 0 index
2024-11-29 19:10:02 +02:00
Variable
6224d06428
Allow multiple Grids (#1122)
* Allow upto 10 grids

* Fixed more stuff

* fixed a bug

* formatting

* removed some left over stuff

* linting

* formatting and a bugfix
2024-11-25 15:57:13 +02:00
Emmanouil Papadeas
0484b1012f Fix Delete button and fill selection mode of the bucket tool not working with indexed mode 2024-11-23 00:58:34 +02:00
Emmanouil Papadeas
d0ecf3b03d Center diagonal symmetry guides when initializing a new project
The guides appear centered, but the symmetry itself is not working properly yet
2024-11-21 16:33:19 +02:00
Emmanouil Papadeas
3d65e48c92 Add backend for diagonal mirror buttons
The buttons are not yet visible
2024-11-21 12:48:52 +02:00
Emmanouil Papadeas
aa1731b701 Initial work on diagonal symmetry guides
Still no buttons yet, and they cannot be moved yet.
2024-11-21 04:00:40 +02:00
Emmanouil Papadeas
2d28136449
Implement indexed mode (#1136)
* Create a custom PixeloramaImage class, initial support for indexed mode

* Convert opened projects and images to indexed mode

* Use shaders for RGB to Indexed conversion and vice versa

* Add `is_indexed` variable in PixeloramaImage

* Basic undo/redo support for indexed mode when drawing

* Make image effects respect indexed mode

* Move code from image effects to ShaderImageEffect instead

* Bucket tool works with indexed mode

* Move and selection tools works with indexed mode

* Brushes respect indexed mode

* Add color_mode variable and some helper methods in Project

Replace hard-coded cases of Image.FORMAT_RGBA8 with `Project.get_image_format()` just in case we want to add more formats in the future

* Add a helper new_empty_image() method to Project

* Set new images to indexed if the project is indexed

* Change color modes from the Image menu

* Fix open image to replace cel

* Load/save indices in pxo files

* Merging layers works with indexed mode

* Layer effects respect indexed mode

* Add an `other_image` parameter to `PixeloramaImage.add_data_to_dictionary()`

* Scale image works with indexed mode

* Resizing works with indexed mode

* Fix non-shader rotation not working with indexed mode

* Minor refactor of PixeloramaImage's set_pixelv_custom()

* Make the text tool work with indexed mode

* Remove print from PixeloramaImage

* Rename "PixeloramaImage" to "ImageExtended"

* Add docstrings in ImageExtended

* Set color mode from the create new image dialog

* Update Translations.pot

* Show the color mode in the project properties dialog
2024-11-20 14:41:37 +02:00
Emmanouil Papadeas
e10b0d1b08 Fix crash when opening the tile mode offsets dialog 2024-11-15 17:59:25 +02:00
Emmanouil Papadeas
4c7d7da5e7 Fix regression where pressing Enter or Control would not confirm/cancel selection when a selection tool wasn't active 2024-11-14 01:39:41 +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
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
dddcfed3c4 Add a new "CanvasRulers" node group for the canvas rulers 2024-10-11 16:31:18 +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
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
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
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
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
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
kleonc
92d7bbf539
Fix isometric grid calculations using ints instead of floats (#1069) 2024-08-09 15:33:45 +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
1ad4c2357f In the Canvas scene, make Previews and PreviewsSprite nodes share the same material 2024-08-02 00:03:45 +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
c6d24d458e Replace some Vector2s with Vector2is 2024-07-23 13:51:02 +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
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
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
72a2c59986 Fix codespell errors 2024-05-25 00:41:57 +03:00
Emmanouil Papadeas
8414f3deaf Fix integer camera zoom going smaller than 100% 2024-05-05 18:14:17 +03:00
Emmanouil Papadeas
9a1464f73b Move selection offset code inside SelectionMap.is_pixel_selected() 2024-04-13 17:57:51 +03:00
Emmanouil Papadeas
1e83173697 Fix regression where interecting selections was not working 2024-04-13 15:34:36 +03:00
Emmanouil Papadeas
64b2b7b9af Make 3D rotation gizmos lines a bit thinner 2024-04-10 02:24:21 +03:00
Emmanouil Papadeas
8c0a194468 Update camera when the viewport size changes 2024-04-06 00:09:58 +03:00
Emmanouil Papadeas
6d2d09d222 More static typing improvements 2024-03-23 04:36:26 +02:00
Emmanouil Papadeas
572fabbe66 Remove Global.reference_panel
Slowly trying to remove nodes from Global
2024-03-23 02:52:27 +02:00