1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-31 15:39:49 +00:00
Commit graph

1244 commits

Author SHA1 Message Date
Emmanouil Papadeas 5425275e9c Some improvements to TileModeIndices 2024-12-02 19:51:36 +02:00
Emmanouil Papadeas 8ab71490cf Fix variable name shadowing in TopMenuContainer 2024-12-02 19:51:36 +02:00
Emmanouil Papadeas 903ea5134a Make undo/redo store tilemap cell indices and tileset tiles
Fixes issues with cases 0.5 and 5 of auto mode, and should be a better system overall. Only works with BaseDraw tools, needs to be applied everywhere as well.
2024-12-02 19:51:36 +02:00
Emmanouil Papadeas e870679869 Rename some variables and methods in CelTileMap 2024-12-02 19:51:36 +02:00
Emmanouil Papadeas 2ccb9dd6f7 Support tile transformation, no undo/redo yet 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 35f78cf02c Refactor CelTileMap to eventually support alternative tiles
Such as rotated and flipped tiles
2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 74a40be7f7 Add smart tileset importing 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 62882cb8b1 Load images as tilesets 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 5e5789752d Prevent users from editing tileset name and size if they choose to not create a new tileset 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 281c205290 Automatically hide and show the tiles panel when the current cel is a tilemap cel 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 020be20566 Preview tiles when using tools and draw tiles mode is enabled. 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas f410cf8917 Manual mode should update other cels that have the same tileset 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 6ac98e1bc6 Make manual tile editing mode automatically update all other image portions that have the same tile index 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas a617039967 Fix tileset panel updating when undoing and the wrong tilemap cel is selected 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas e84e9d46f3 Resize tileset buttons 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 5c90501293 Enable tile drawing mode when clicking on a tile button 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 6f3e3c8566 When a tilemap cel is selected, force the first grid to have the same size as the tile size 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 46ebb0930c Add a dialog when creating a tilemap layer to allow users to set the tileset's settings 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas 6b95908ef3 Place tiles mode works with eraser and color picker tools 2024-12-02 19:51:35 +02:00
Emmanouil Papadeas c1028131a1 Undo/redo now removes tiles and re-indexes tilemap tiles 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas 65895374ab Tileset panel UI improvements 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas 3f26e859dc Properly update the tileset when using any tool 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas 00cd47b94e Better tile buttons 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas 7f82be13ab Improve tileset panel UI updating logic 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas d584807c14 Show tile indices when pressing Control 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas 488c023838 Add a way to show the indices of each tile, WIP 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas a4b33ad83c Don't delete tiles that have been added using the stack mode 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas cadd7c57f1 Change tile editing mode from the UI 2024-12-02 19:48:51 +02:00
Emmanouil Papadeas b74c3149af Add a tileset panel
Code is a bit meh, needs to be written better.
2024-12-02 19:48:51 +02:00
Emmanouil Papadeas dab8c5bed5 Add tilemap layers 2024-12-02 19:48:51 +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