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

1240 commits

Author SHA1 Message Date
Emmanouil Papadeas
3bf556345d Support tile transformation, no undo/redo yet 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
a696db3fc0 Refactor CelTileMap to eventually support alternative tiles
Such as rotated and flipped tiles
2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
610d2deb27 Add smart tileset importing 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
9f3564fe71 Load images as tilesets 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
177428cc1b Prevent users from editing tileset name and size if they choose to not create a new tileset 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
afe51262c9 Automatically hide and show the tiles panel when the current cel is a tilemap cel 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
81d4812b92 Preview tiles when using tools and draw tiles mode is enabled. 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
ad1252c142 Manual mode should update other cels that have the same tileset 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
2301ba9fcc Make manual tile editing mode automatically update all other image portions that have the same tile index 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
c1fd209588 Fix tileset panel updating when undoing and the wrong tilemap cel is selected 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
20c7a9fdfc Resize tileset buttons 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
14d0c76310 Enable tile drawing mode when clicking on a tile button 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
6c200d3afe When a tilemap cel is selected, force the first grid to have the same size as the tile size 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
9c5b0f0f76 Add a dialog when creating a tilemap layer to allow users to set the tileset's settings 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
d8c27a7966 Place tiles mode works with eraser and color picker tools 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
5b50270ee2 Undo/redo now removes tiles and re-indexes tilemap tiles 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
0678fd8719 Tileset panel UI improvements 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
12eda32176 Properly update the tileset when using any tool 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
b87bfdf7e8 Better tile buttons 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
6b77e30e08 Improve tileset panel UI updating logic 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
bd90f28de8 Show tile indices when pressing Control 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
f69e4bdc9e Add a way to show the indices of each tile, WIP 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
9187d8a9be Don't delete tiles that have been added using the stack mode 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
dd4f6b7b6c Change tile editing mode from the UI 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
4f1ee0e828 Add a tileset panel
Code is a bit meh, needs to be written better.
2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
e119a91f5b Add tilemap layers 2024-12-04 01:21:53 +02:00
Variable
ff5713ae91
When picking color, ensure that the correct index is selected in palette (#1144)
* When picking color, ensure that the correct index is selected

* if drawing over same color in index mode, check and update index as well

* revert an optimization (croping indices image before display)

* typo
2024-12-02 19:44:52 +02:00
Emmanouil Papadeas
c72a1f4b90 Enable always on top for the child dialogs of the export dialog 2024-11-30 22:23:09 +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
Variable
fe6efb0f1d
fixed recorder label not updating when project is changed (#1139) 2024-11-24 14:37:02 +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
11da07b9ac Hide the color mode submenu when selecting an item 2024-11-22 18:02:36 +02:00
Emmanouil Papadeas
fede2d8e6f Fix undo/redo not working if the cursor is over the timeline 2024-11-22 02:56:57 +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
428e5edb8f
Add a text tool (#1134)
* Initial port of the text tool to Godot 4

* Change font (WIP)

* Add antialiasing option and remove some old unneeded lines

* Remove outline code

* Add horizontal alignment and update the text edit font size

* Improve the text edit

* Don't activate tools while typing

* Format

* Give input priority to the text edit so the key X and shortcuts such as control-z work in the text edit

* Add style settings for bold and italic

* Fix text going blank when changing font

* Use `font.draw_multiline_string()`

* Change the move behavior of the text tool, add confirm and cancel buttons

* Compress images on undo/redo

* Fix text position
2024-11-19 01:20:34 +02:00
Emmanouil Papadeas
dd8bf5cc1b Release v1.0.5 2024-11-18 17:53:53 +02:00
Emmanouil Papadeas
e2b6262560 Update translators in AboutDialog 2024-11-18 17:50:19 +02:00
Emmanouil Papadeas
763783f2f1 Improve the UI of the tile mode offsets dialog and add an Isometric button 2024-11-15 17:59:57 +02:00
Emmanouil Papadeas
e10b0d1b08 Fix crash when opening the tile mode offsets dialog 2024-11-15 17:59:25 +02:00
Emmanouil Papadeas
0d6b140dea Add border selection, fix some missing translation strings 2024-11-15 01:41:44 +02:00
Emmanouil Papadeas
dec698024c Implement selection expanding and shrinking via the Select menu 2024-11-14 17:59:53 +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
7c1435e95f When using the mouse wheel over a slider, don't scroll in ScrollContainers 2024-11-13 17:32:01 +02:00
Emmanouil Papadeas
2600180736 Remove the Recorder from the Web version
It's not working anyway, and I'm not sure if there is a way to make it work, at least with a good and user-friendly way. If we find a way we could re-add it in the future.
2024-11-13 00:40:58 +02:00
Emmanouil Papadeas
ce738f02c2 Don't change brush size when resizing the timeline cels and the palette swatches 2024-11-12 00:59:01 +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