Commit graph

428 commits

Author SHA1 Message Date
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
Pippo Pesic
0044217a7f Add px suffix to TileSet Separation value
Add px suffix to TileSet separation value
2023-08-25 08:58:11 -07:00