Commit Graph

429 Commits

Author SHA1 Message Date
A Thousand Ships dbcd82ba67 [Editor] Fix threading problems with TileMap preview 2024-01-22 13:44:36 +01:00
Yuri Sizov 635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kleonc baa5504700 Fix some TileMap debug drawing truncating to ints 2024-01-14 02:02:46 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde dd487ebb0b Merge pull request #86568 from jsjtxietian/fix-infinite-loop-tile
Fix potential infinite loop when calculating tile editor zoom level
2024-01-08 11:55:30 +01:00
jsjtxietian 42c672afd6 Fix infinite loop when calculating zoom level if tile_size * max_zoom < default 2024-01-06 16:11:26 +08:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde 5eb22a317d Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01:00
Rémi Verschelde 6c390b620d Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
jsjtxietian 1217d7d678 Fix UndoRedo history mismatch when creating a new tile atlas 2023-12-21 17:25:21 +08:00
Yuri Sizov 1c0be67952 Merge pull request #85452 from BleedingXiko/tilemap-typo
Fix typo in TileMap editor tooltip
2023-12-19 13:01:54 +01:00
Wilson E. Alvarez a3cb1b096f Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov a6c0c90058 Merge pull request #86066 from Wiltof/tilemapPaint
Reset TileMap editor `drag_type` when the toolbar mode is not selected
2023-12-14 17:38:57 +01:00
Yuri Sizov 203c8c31d3 Merge pull request #85071 from Rubonnek/remove-unnecessary-assignments
Remove unnecessary assignments
2023-12-14 17:38:34 +01:00
wilto938 5a3de5bc30 Reset TileMap editor drag_type by using the _stop_dragging() function when the toolbar mode is not selected 2023-12-14 11:58:36 +01:00
Gilles Roudière 18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +01:00
Wilson E. Alvarez 80fb8db31f Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Yuri Sizov 01888ae7ab Fix theme application in various editor dialogs
99% of the time we shouldn't rely on the signal, we
should use the notification instead. I left some comments
in places where I couldn't quickly improve the code.
2023-12-04 13:18:48 +01:00
BleedingXiko 971b0a7bda fix typo in tile_map_editor.cpp 2023-11-27 16:40:38 -08:00
DennisManaa 1a1c542836 Implement automatic translation for ItemList 2023-10-23 10:14:08 +02:00
OppositeNor 8f26cdcaef Fix tileset out of screen 2023-10-22 13:39:14 -04:00
kobewi 291be2c66c Swap TileMap and TileSet 2023-10-13 09:55:24 +02:00
Gilles Roudière 8b608f3e6e Fixes undo/redo in tileset polygon editor 2023-10-10 10:33:05 +02:00
Rémi Verschelde 7513ae6d06 Merge pull request #81812 from MewPurPur/zoomies
Incorporate min and max zoom limits into the EditorZoomWidget
2023-10-09 15:31:49 +02:00
MewPurPur 44d782681c Incorporate min and max zoom limits into the EditorZoomWidget 2023-10-07 20:41:59 +03:00
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
smix8 27267b62cb Update TileMap to use new navigation polygon baking
Updates TileMap to use new navigation polygon baking.
2023-09-28 10:35:47 +02:00
Rémi Verschelde 8ddf73c74d Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
kobewi 07a00cf822 Don't allow transforming scene tiles 2023-09-20 14:10:21 +02:00
Rémi Verschelde b7c524d358 Merge pull request #81925 from groud/fix_tilemap_editor_ctrl_deselect
Fix TileMap editor so that pressing control deselects cells correctly
2023-09-20 13:10:04 +02:00
Yuri Sizov 4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
Gilles Roudière 83f1e31483 Fix TileMap editor so that pressing control deselects cells correctly 2023-09-19 15:12:03 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Rémi Verschelde 01d9162a98 Merge pull request #81813 from MewPurPur/fix-paint-icon
Fix grayed out paint icons
2023-09-18 10:38:28 +02:00
MewPurPur c094631ba0 Fix grayed out paint icons 2023-09-17 19:23:28 +03:00
A Thousand Ships 75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov 8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
kobewi a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde 3417f34a37 Merge pull request #80529 from KoBeWi/unfortunate_fix_is_unfortunate🤦‍♂️
Fix TileSet not disappearing on deselecting TileMap
2023-08-29 12:43:10 +02:00
Rémi Verschelde 9229ea121c Merge pull request #77986 from KoBeWi/outside_the_texture,_only_death_awaits
Cleanup tiles outside the texture
2023-08-28 20:37:04 +02:00
kobewi 52d41cc555 Add option to cleanup tiles outside the texture 2023-08-28 15:15:45 +02:00
Rémi Verschelde 6636ccc3ea Merge pull request #80943 from rakkarage/tileset-atlas-merge-rgb8
Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed
2023-08-28 15:04:16 +02:00
Rémi Verschelde bcbe1fd5e0 Merge pull request #80754 from KoBeWi/TileSetImprovementsCollectionSource
Improve scene tiles workflow
2023-08-28 15:03:26 +02:00
Rémi Verschelde a7ded904de Merge pull request #79678 from thiagola92/auto_create_tilesets_for_multiple_atlas
Auto create tile for multiple atlases
2023-08-28 15:02:37 +02:00
Rémi Verschelde 2d42357464 Merge pull request #77316 from rakkarage/tileset_atlas_merge
Include animation frames in tile atlas merge.
2023-08-28 15:01:24 +02:00
Rémi Verschelde 0655a7d7d3 Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
thiagola92 c8a94ea3e8 Support auto create tiles when adding multiple atlases
TileSet add button support multiple files
Join most of the code of `_drop_data_fw()` and `_texture_file_selected()` in a new function `_load_texture_files()`
Rename `init_source` to `init_new_atlases`
2023-08-27 10:45:03 -03:00
Yuri Sizov 6da4ad1662 Merge pull request #80968 from rakkarage/alternative-icon-scale
Call `add_child` after `set_rect` to fix size bug
2023-08-25 21:26:50 +02:00