Commit Graph

487 Commits

Author SHA1 Message Date
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Hugo Locurcio 53dce9a84e
Tweak TileMap editor's missing source message to use "bottom panel" term
This term is used throughout the editor (including EditorPlugin)
as these bottom panels are technically not tabs.
2024-02-13 18:27:42 +01:00
Rémi Verschelde 391a8e5327
Merge pull request #85868 from KoBeWi/knowyourtiles
Add descriptions for tile properties
2024-02-13 11:24:42 +01:00
Gilles Roudière 5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
A Thousand Ships 684752e75b
Replace error checks against `size` with `is_empty` 2024-02-09 12:50:15 +01:00
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
Sofox 3614aa971d Made tooltip on TileSet Paint Button give more information when disabled. 2024-01-09 15:09:19 +00: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
kobewi 3058a4926f Tweak tile atlas help label positions 2024-01-01 20:35:50 +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
kobewi 6e31c413b6 Add descriptions for tile properties 2023-12-07 16:57:34 +01: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
Rakka Rage e93d2a04df Call `add_child` after `set_rect` to fix size bug 2023-08-25 10:10:47 -04:00
Rakka Rage dc2aa69c46 Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed 2023-08-23 19:26:57 -04:00
Rakka Rage c17848f07d Include animation frames in tile atlas merge. 2023-08-23 16:19:24 -04:00
kobewi a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Rémi Verschelde 8d0c9a4c87
Merge pull request #80317 from KoBeWi/taking_shortcuts
Ensure TileMap editor shortcuts are handled
2023-08-17 11:24:39 +02:00
Rémi Verschelde c78be12f42
Merge pull request #80610 from lawnjelly/fix_tilemap_editor_plugin_crash2
Fix `TileMapEditorPlugin` crash by storing tilemap ID instead of pointer
2023-08-14 15:31:19 +02:00
lawnjelly 356fc728a4 Fix `TileMapEditorPlugin` crash by storing tilemap ID instead of pointer
Store the tilemap ObjectID instead of raw pointer, and check it is valid before access.
2023-08-14 12:56:52 +01:00
lawnjelly fa7be20ee1 Fix crash on exit where TileSet calls destroyed TileSetAtlasSourceEditor
Removes signal from TileSet on destroying TileSetAtlasSourceEditor, to prevent TileSet calling function in destroyed TileSetAtlasSourceEditor.
2023-08-14 10:25:50 +01:00
Yuri Sizov 2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
kobewi 6b7829b5ff Fix TileSet not disappearing on deselecting TileMap 2023-08-12 00:47:26 +02:00
kobewi f02133a4a2 Fix TileSet with TileMap handling 2023-08-09 23:50:45 +02:00
kobewi 181eecc51b Ensure TileMap editor shortcuts are handled 2023-08-06 03:38:03 +02:00
kobewi 91328a86cd Ignore null "id" in tile source proxy 2023-08-01 22:52:16 +02:00
Yuri Sizov 6731accf80 Merge pull request #79419 from KoBeWi/no_ID_for_you
Unexpose tile source ID
2023-08-01 17:25:11 +02:00
kobewi 2a5db5949f Rework modifying tile source ID 2023-07-31 20:57:09 +02:00
kobewi d39b040114 Edit TileSet source on double click 2023-07-30 02:27:40 +02:00
Yuri Sizov 6c11fcd01a
Merge pull request #74717 from KoBeWi/tilesetmap_handler_plugin
Add separate editor plugin for TileMap and TileSet
2023-07-27 19:11:37 +02:00
Yuri Sizov cd074f965f Merge pull request #79904 from KoBeWi/how_to_create_huge_tiles_using_a_simple_trick
Add help label about creating multiple/big tiles
2023-07-27 15:22:40 +02:00
Yuri Sizov f29a0ad21c Merge pull request #79512 from KoBeWi/tile_expanded_universe
Add option to expand tile polygon editors
2023-07-27 15:22:36 +02:00
Yuri Sizov 7fe88c7710 Merge pull request #79899 from KoBeWi/snapped_in_half
Improve atlas tile size dragging
2023-07-26 18:40:38 +02:00
Yuri Sizov bc0e646076 Merge pull request #78827 from Rindbee/fix-history-mismatch
Fix history mismatch
2023-07-26 18:39:32 +02:00
kobewi ec24d50469 Add separate editor plugin for TileMap and TileSet 2023-07-26 17:23:41 +02:00
kobewi df69073589 Add help label about creating multiple/big tiles 2023-07-25 22:55:29 +02:00
kobewi 965847b6e9 Improve atlas tile size dragging 2023-07-25 22:06:38 +02:00
Yuri Sizov 0cbdad47f9 Merge pull request #79837 from KoBeWi/CursorShaper
Fix `get_cursor_shape()` in tile atlas editor
2023-07-24 19:33:41 +02:00
Yuri Sizov dbff173597 Merge pull request #79676 from KoBeWi/MissingNo.Layers
Add placeholder items to TileSet layer list
2023-07-24 19:33:09 +02:00
kobewi 4408f82c93 Fix get_cursor_shape() in tile atlas editor 2023-07-23 23:06:23 +02:00
kobewi f837624d75 Add option to expand tile polygon editors 2023-07-22 22:21:05 +02:00
Yuri Sizov ce92f052ec Merge pull request #79562 from KoBeWi/click_here_yo
Improve message when no tile is selected to edit
2023-07-21 17:54:43 +02:00
Yuri Sizov 5ae617627d Merge pull request #78519 from groud/add_white_rect_to_tilemap_selection
Add white rect to TileMap selection tool
2023-07-21 17:54:17 +02:00
kobewi bb64588796 Add placeholder items to TileSet layer list
Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2023-07-20 14:31:00 +02:00
Gilles Roudière 0fc56646f1 Add white rect to TileMap selection tool 2023-07-19 17:42:29 +02:00
kobewi de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
kobewi 7b8c70c668 Improve message when no tile is selected to edit 2023-07-17 02:41:36 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov a927b22f65 Merge pull request #77257 from rakkarage/tile_animation_sync
Add `TileSetAtlasSource::TileAnimationMode` options and allow to shuffle tile animations
2023-07-12 21:02:31 +02:00
Rindbee 28db5e7649 Fix history mismatch
Set the properties of the resource's proxy instead of setting the resource's
properties directly. (For action "Set ...")

Update the path of the edited scene when saving the scene. (For action "Add
atlas source")
2023-07-11 05:45:37 +08:00
kobewi bdb7e62029 Streamline creating tile atlas sources 2023-07-10 15:36:00 +02:00
Rémi Verschelde 81c6694014
Merge pull request #78522 from MewPurPur/improve-tileset-labels
Improve string drawing in the tiledata editor
2023-07-07 16:03:02 +02:00
Rindbee fec731bf33 Make sure the shortcut key respects the context in `TileSetAtlasSourceEditor` 2023-07-02 06:40:14 +08:00
Gilles Roudière bca1f91291 Fixes crash in TileSetAtlasSourceEditor 2023-06-22 15:03:53 +02:00