Commit graph

370 commits

Author SHA1 Message Date
Pedro J. Estébanez
e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
Rakka Rage
855d78e458 Make tile atlas merge dialog use filter nearest mipmaps on both sides. To avoid blurry tiles. 2023-05-23 14:46:02 -04:00
mara
93248684b4 Add pattern index tooltip to tilemap and tileset editor
Just a little UI convenience feature. Knowing the index (without having
to count manually) is convenient when working with tile patterns
programmatically, especially when having lots of them.
2023-05-23 19:28:06 +02:00
Rakka Rage
88d2ed433d Fix crash when using tile atlas merge with recreated alt tile 2023-05-23 10:32:02 -04:00
Rémi Verschelde
7f6b283212
Merge pull request #74264 from timothyqiu/self-awareness
Allow EditorInspector to change its property name style when necessary
2023-05-08 13:52:23 +02:00
Rémi Verschelde
b791a7acb8
Merge pull request #70488 from KoBeWi/SNAP!
Add proper snapping to tile polygon editor
2023-05-08 13:52:11 +02:00
Rémi Verschelde
b639076e04
Merge pull request #68800 from KoBeWi/tinfo
Add info label to TileMap editor
2023-05-08 12:19:52 +02:00
kobewi
24224381ec Add proper snapping to tile polygon editor 2023-05-01 21:36:33 +02:00
Haoyu Qiu
d24ee551ec Allow EditorInspector to change its property name style when necessary
Previously, an EditorInspector's property name can only be set from
outside. Inspectors used for settings needs to respond to changes in
editor settings. So a few boilerplate code is almost always needed,
including watching for a certain editor setting in `_notification()`.

This commit adds a `set_use_settings_style()` function to tell the
inspector to watch for editor settings changes on its own.
2023-04-29 10:51:00 +08:00
Rémi Verschelde
5bb46d6064
Merge pull request #76176 from YuriSizov/editor-extracted-interface-commencing
Decouple `EditorInterface` from `EditorPlugin`
2023-04-18 23:41:20 +02:00
Yuri Sizov
9e6b680cfb
Merge pull request #74814 from kleonc/tilemap-fix-rendering-odd-sized-tiles
`TileMap` Fix rendering odd-sized tiles
2023-04-18 16:27:44 +02:00
Yuri Sizov
49d7041d34 Decouple EditorInterface from EditorPlugin
- Simplify some includes in the process.
- Also exposes EditorInterface.movie_maker_enabled as a property.
2023-04-17 21:59:09 +02:00
Yuri Sizov
4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Yuri Sizov
9b500ab53c Fix premature theme item access in editor tools 2023-04-03 18:01:11 +02:00
kleonc
c72b09639a TileSet editor AtlasMergingDialog crash fix 2023-03-28 20:07:26 +02:00
kleonc
224c66324b TileMapEditor Fix preview rendering and transform calculations 2023-03-16 14:52:38 +01:00
kleonc
c49a7feae3 TileMap Fix rendering odd-sized tiles 2023-03-12 16:20:38 +01:00
Haoyu Qiu
bef7f14885 Add missing TTRs in tiles editor and array inspector 2023-03-09 14:38:54 +08:00
Rémi Verschelde
eafc88c835
Merge pull request #73514 from AThousandShips/tile_origin_fix
Fix TileSetEditor paiting texture_origin Vector2i
2023-03-03 11:02:24 +01:00
Ninni Pipping
fb317546fe Fix TileSetEditor paiting texture_origin Vector2i 2023-03-02 12:06:27 +01:00
Rémi Verschelde
7e11cc8aa0
Merge pull request #74039 from daBlesr/tilemap-remember-previosuly-selected-tile
Remember previously selected TileMap tile.
2023-03-02 11:41:48 +01:00
Niels Drost
66374c8dce TileSet editor was out of sync with TileMap and incorrectly overwrote old selected TileSet after an edit call with a null pointer. 2023-02-28 22:30:46 +01:00
nklbdev
834a6c5983
fix typo set_polygon in GenericTilePolygonEditor 2023-02-25 00:57:34 +05:00
kobewi
56251cf08c Fix tile atlas merging crash 2023-02-20 18:22:44 +01:00
Haoyu Qiu
ccc3bdebb3 Add missing i18n in tiles editor 2023-02-15 23:08:03 +08:00
kobewi
be6d5bbba6 Fix some TileMap errors and crashes 2023-02-14 00:39:41 +01:00
SnailRhymer
db8d308830
Fix random placement behaviour in new TileMap Editor
Fix a bug where scattering could be set to e.g. 0.9 but a tile would still always be placed, as the check rand > 0.9 would be run on every mouse movement until it was successful.
2023-02-10 19:08:03 +01:00
Rémi Verschelde
44d5d4e3cd
Merge pull request #73007 from KoBeWi/typos_be_like
Fix error spam when deselecting TileMap
2023-02-10 15:06:40 +01:00
Gilles Roudière
89ccdc7d34 Fix TileMap patterns creation 2023-02-10 10:46:19 +01:00
kobewi
f92392ce23 Fix error spam when deselecting TileMap 2023-02-10 01:07:48 +01:00
kobewi
979b53aba4 Add info label to TileMap editor 2023-02-08 20:26:53 +01:00
Raul Santos
c7f4ca36a4
Use PropertyUsageFlags enum in parse_property 2023-01-31 23:31:15 +01:00
Rémi Verschelde
525db733c8
Merge pull request #72129 from groud/unclamp_texture_origin
Rename texture_offset and unclamp it
2023-01-27 15:40:52 +01:00
Gilles Roudière
d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00
Rémi Verschelde
aeac5a80af
Merge pull request #72050 from groud/flow_tilemap_toolbar
Make TileMap toolbar a FlowContainer
2023-01-26 01:07:48 +01:00
Gilles Roudière
156c4cbcb8 Make TileMap toolbar a FlowContainer 2023-01-25 16:27:28 +01:00
Rémi Verschelde
cb6dea8513
Merge pull request #65419 from SaracenOne/tileset_read_only
Add read-only mode to tileset editor
2023-01-25 12:18:08 +01:00
Rémi Verschelde
5f335a7879
Merge pull request #72020 from vmedea/tile-editor-thread-fix
Fix: use the right tile_set in TilesEditorPlugin::_thread
2023-01-25 11:59:39 +01:00
SaracenOne
f5d1cf57bd Add read-only mode to tileset editor. 2023-01-25 09:50:54 +00:00
mara
655b32187f Fix: use the right tile_set in TilesEditorPlugin::_thread
Instead of using the class member, use the item's tile set, as is
the intent.

This fixes an almost immediate crash in the editor for me.
2023-01-25 10:00:25 +01:00
Gilles Roudière
a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
Rémi Verschelde
c3539b4561
Merge pull request #70773 from KoBeWi/lector
Add range iterator to LocalVector
2023-01-21 20:53:29 +01:00
Rémi Verschelde
229c82690d
Merge pull request #70294 from KoBeWi/treedulate
Add a method to get global modulate
2023-01-21 20:51:42 +01:00
kobewi
615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
Gilles Roudière
ecb9c48b9f Fix a few issues with tile animations 2023-01-19 11:20:06 +01:00
Rémi Verschelde
35326d3dc5
Merge pull request #71626 from groud/fix_add_tileset_layer_undo
Fixes TileSet layer addition not being undoable
2023-01-18 22:28:48 +01:00
Rémi Verschelde
bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
Gilles Roudière
c1de6dc84b Fix right-click on tilset atlas popup wrong position
Fix similar bug in AnimationLibraryEditor
2023-01-18 16:14:11 +01:00
Gilles Roudière
8ecbef36bb Fixes TileSet layer addition not being undoable 2023-01-18 15:54:44 +01:00
Rémi Verschelde
f3743e0890
Merge pull request #71545 from groud/fix_rect_draw_tileset
Fixes rectangle painting weird behavior when dragging outside the atlas area
2023-01-17 10:42:26 +01:00
Rémi Verschelde
b2e1ae6034
Merge pull request #71517 from groud/tile_data_editor_shortcut_consistency
Make keyboard shortcuts in tile data editors consistent with tilemap editor.
2023-01-17 10:40:10 +01:00
Gilles Roudière
6285d6e5f5 Fixes rectangle painting when dragging outside the atlas area 2023-01-17 10:30:07 +01:00
Gilles Roudière
21a88578e9 Make keyboard shortcuts in tile data editors consistent with tilemap editor. Fix a bug with collision shapes painting. 2023-01-16 18:50:11 +01:00
Rémi Verschelde
d94a46ab95
Merge pull request #64021 from ajreckof/change-shortcut-for-rect-tool-tilemap
Add `Key::CTRL_OR_CMD` and use it to fix shortcut for tilemap painting tools on macOS
2023-01-16 12:47:07 +01:00
Rémi Verschelde
da57e0059e
Merge pull request #70504 from KoBeWi/the_choosen_antipattern
Add EditorUndoRedoManager singleton
2023-01-16 09:24:50 +01:00
Rémi Verschelde
1424cd9e79
Merge pull request #59076 from Sauermann/fix-cursorshape-tilesetatlassourceeditor
Use get_cursor_shape for identifying the cursor shape in TileSetAtlasSourceEditor
2023-01-16 09:14:24 +01:00
ajreckof
fa528b86b6 replace the use of CTRL by CMD_OR_CTRL in three places where using CTRL prevented the use of the functionality on mac
on Mac CTRL + Left click = Right click therefore when a functionality needs CTRL + Left click it is not possible on mac. It then forcibly needs to be CMD on mac
2023-01-16 06:07:16 +01:00
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
kobewi
59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Rémi Verschelde
228db366bf
Merge pull request #70601 from vmedea/keep-terrain-choice
Keep terrain choice when changing layer in tilemap editor
2023-01-13 18:04:02 +01:00
Rémi Verschelde
3e5ee12555
Merge pull request #71335 from groud/fix_atlas_merging
Fixes TileSet atlas merging not working correctly
2023-01-13 18:03:53 +01:00
Rémi Verschelde
44f7392883
Merge pull request #65370 from SaracenOne/tileset_editor_visibility_fixes
Fix contextual visibility of tileset and tilemap editors (again)
2023-01-13 18:02:12 +01:00
Gilles Roudière
28f6fcd68f Fixes TileSet atlas merging not working correctly 2023-01-13 16:50:12 +01:00
kobewi
dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Juan Linietsky
e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
kleonc
4276752608 TileAtlasView Update zoom and panning before emitting signal 2023-01-05 22:00:05 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Charles Crete
50e09bbaef Fix "Double-click on the TileMap's pattern prints an error" (#70892) 2023-01-03 23:06:52 -05:00
Haoyu Qiu
1ac35c38be Fix heap-use-after-free when using TileMap editor 2022-12-30 14:16:54 +08:00
Markus Sauermann
b736efa9c8 Use get_cursor_shape for identifying the cursor shape in TileSetAtlasSourceEditor
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

Was part of the reason for #58960.
2022-12-29 02:07:39 +01:00
mara
5380e685d8 Keep terrain choice when changing layer in tilemap editor
Make `TileMapEditorTerrainsPlugin::edit` logic analogous to
`TileMapEditorTilesPlugin::edit`, in that the selection is only
cleared when switching to another tilemap.

Closes #70033.
2022-12-26 21:45:06 +01:00
Silc Renew
060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
Rémi Verschelde
fe1bb58e8f
Merge pull request #70238 from kleonc/tile-set-simplify-isometric-tile-polygon
`TileSet` Simplify isometric tile shape polygon to 4 vertices
2022-12-19 16:27:17 +01:00
kobewi
32b0770a73 Add a method to get global modulate 2022-12-19 11:51:37 +01:00
kleonc
3a34acdf55 TileSet Simplify tile shape polygons 2022-12-19 11:42:40 +01:00
kobewi
99a9401a2c Use layer's modulate for tile previews 2022-12-18 17:31:29 +01:00
Rémi Verschelde
05aba48354
Merge pull request #70006 from timothyqiu/atlas-source-paint-scroll
Add scroll container for tile data editors
2022-12-13 10:12:53 +01:00
Rémi Verschelde
a720a8c136
Merge pull request #69893 from henrlin24/hide-scattering
Hide Scattering label and controls within TileMap editor window when "Place Random Tile" option is disabled
2022-12-13 10:10:28 +01:00
Haoyu Qiu
4fcbfcc665 Add scroll container for tile data editors 2022-12-13 15:14:01 +08:00
Rémi Verschelde
f5d14f874a
Merge pull request #69300 from timothyqiu/tile-set-atlas-source
Improve TileSetAtlasSourceEditor UI
2022-12-12 11:41:59 +01:00
henrlin24
afa38bd030 Hide Scattering label and controls within TileMap editor window when "Place Random Tile" is disabled 2022-12-11 13:16:36 -05:00
Haoyu Qiu
8a22d4cd44 Fix !tile_set.is_valid() error on startup 2022-12-10 13:09:20 +08:00
Haoyu Qiu
d8f5dcbf56 Improve TileSetAtlasSourceEditor UI
* Updates the overall layout, moving mode buttons to the top.
* Uses inspector category instead of a Label to show what's being edited. This also allows better scrolling behavior.
2022-12-10 12:27:48 +08:00
Rémi Verschelde
9a26ffa233
Merge pull request #67283 from KoBeWi/one_way_ticket
Add one-way indicator to tile collision editor
2022-12-09 18:05:55 +01:00
Rémi Verschelde
43bef98450
Merge pull request #60892 from KoBeWi/fat_selection
Improve tile editor selection appearance
2022-12-09 18:05:38 +01:00
kobewi
871278cdf0 Improve tile editor selection appearance 2022-12-09 14:46:17 +01:00
Haoyu Qiu
af3ef844d9 Update tile source icons when editor theme changes 2022-12-08 17:21:37 +08:00
Rémi Verschelde
de2d0f156e
Merge pull request #69713 from groud/rename_get_surrounding_tiles
Rename get_surrounding_tiles to get_surrounding_cells
2022-12-07 13:24:57 +01:00
Rémi Verschelde
04cd36612a
Merge pull request #69695 from timothyqiu/id-capitalization
Make ID capitalization in tiles editor consistent
2022-12-07 13:23:49 +01:00
Gilles Roudière
3ea54bb3a1 Rename get_surrounding_tiles to get_surrounding_cells 2022-12-07 11:09:10 +01:00
Haoyu Qiu
740d6f9447 Fix crash when deleting an alternative-level tile proxy 2022-12-07 14:26:54 +08:00
Haoyu Qiu
9893b04fda Make ID capitalization in tiles editor consistent 2022-12-07 10:07:10 +08:00
Haoyu Qiu
7034992ace Fix error when right clicking proxy list in TileProxiesManagerDialog 2022-12-06 09:37:07 +08:00
Haoyu Qiu
480d9d10ed Fix heap-use-after-free when exiting editor after editing TileSet 2022-12-04 16:52:26 +08:00
Haoyu Qiu
6c5c773a27 Fix heap-use-after-free when changing alternative tile ID 2022-11-30 10:32:35 +08:00
Rémi Verschelde
3d2c3aae4e
Merge pull request #69062 from trollodel/lightweight_editor_mass
Use forward-declarations in big editor classes
2022-11-29 10:27:21 +01:00
trollodel
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Haoyu Qiu
4a50f44cd2 Fix heap-use-after-free when removing a tile in TileSet editor 2022-11-29 09:22:35 +08:00
Haoyu Qiu
7bc0d0c177 Update TileSet preview when paint custom data changes 2022-11-27 18:35:47 +08:00
Rémi Verschelde
6e693368e1
Merge pull request #69124 from zaevi/tilemap_fix_alternative_tile
[TileMap] Fix alternative tile issues.
2022-11-25 19:27:37 +01:00