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

55 commits

Author SHA1 Message Date
Emmanouil Papadeas
adf250583c Resizing selections now work when draw tiles mode is enabled
Working with 2D arrays is a bit of a pain, but I managed. Needs testing.
2024-12-05 02:13:26 +02:00
Emmanouil Papadeas
4d5eebc670 The bucket tool now works with draw tiles mode 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
228bc65a38 Change tileset in a layer from the project properties 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
423c77235d Add documentation for CelTileMap and rename update_tileset to update_tilemap 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
a1f785f67e Make drawing on multiple selected tilemap cels that share the same tileset and applied a layer effect to all cels of the layer work
This now creates an issue when manual mode is used and we undo. Other cels don't get updated, even though they were changed by manual mode.
2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
381eed84d5 Only resize cells on undo/redo when needed 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
5e34faf793 Resizing should now work
Also fixes cel replacing
2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
a3324591be Revert 3f39dbf3 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
c14ac5d579 Layer/frame cloning works. 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
f197c6c55b Linked tilemap cels should now work 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
d341d73fcf Don't execute update_tileset is we are on draw tiles mode 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
533b28452b Fixed bugs when placing a transformed tile over a non-transformed tile 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
58d4e7efab Fix placing tiles not working when switching to indexed mode 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
ae52151021 Fix issues with transposed tiles 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
ad83823f58 Remove transformations from cells when using auto or stack mode 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
442285d15f 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-04 01:21:54 +02:00
Emmanouil Papadeas
b059ae4c8b Write some documentation in CelTIleMap
WIP
2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
5e4eebe139 Rename some variables and methods in CelTileMap 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
2c6dcdcf78 Add documentation for LayerTileMap and TileSetCustom, along with a class description for CelTileMap 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
ac75c8197c Experimental undo redo for tileset tiles 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
5f10a913d4 Fix manual mode when the tilemap is empty. 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
3bf556345d Support tile transformation, no undo/redo yet 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
4e62d00296 Add logic for checking if two tiles are equal with transformations applied to them
There is currently no exposed way to apply transformations to tiles.
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
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
04ab9faa87 Fix out of bounds issues when undoing/redoing when the place tiles mode is enabled 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
419154bafe Resize indices on project resize 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
f077b147e9 Save and load to/from pxo files 2024-12-04 01:21:54 +02:00
Emmanouil Papadeas
c24a2240fe Prevent from setting tile indices out of bounds of the canvas 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
664197c9f3 Implement placing tiles for pencil tool
Still needs undo support
2024-12-04 01:21:53 +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
6b77e30e08 Improve tileset panel UI updating logic 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
6c79136f09 Prevent from drawing on empty image portions on manual mode. 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
cd6212d892 Make the manual mode work, kind of 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
d95c3f7555 Properly implement the auto tile editing mode
Should work well now.
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
27c0787f26 Make manual mode work when the tileset is empty 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
f42454ef03 Improve tileset editing logic 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
a8755bd92f Support ImageExtended 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
062889b4bb Implement all draw modes (untested) 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
174f7d4b9f Initial work for tilemap layers 2024-12-04 01:21:53 +02:00
Emmanouil Papadeas
b87a8e2ab8 Fix cel copying not working with indexed mode 2024-11-22 21:00:38 +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
14a13a2161 Add user data for cels, frames and tags
Projects and layers are next, once I add project and layer setting dialogs respectively.
2024-04-04 01:27:50 +03:00