Caleb Cassady
7404873b66
Fix TileMapLayer bug where dirty cells could be marked twice
...
When using runtime data in a TileMapLayer, calling notify_runtime_tile_update
can cause error messages to be printed to the console if the same cell has been
set or erased in the same frame. This could be partially worked around by using
call_deferred on notify_runtime_tile_update, but the problem could re-emerge if
those updates were being made in coroutines.
This commit addresses the issue by adding an additional check to the dirty cell
marking of the TileMapLayer when notify_runtime_tile_update is called. This
check ensures that the cell has not already been added to the dirty cell list,
preventing the condition that causes the error message.
2025-02-10 22:18:10 -05:00
Thaddeus Crews
86002e1a3c
Merge pull request #100882 from smix8/node_navmesh_geo_parsers
...
Make nodes handle their respective navigation source geometry
2025-01-16 17:18:01 -06:00
smix8
0ed2cb0439
Make nodes handle their respective navigation source geometry
...
Makes nodes handle their respective navigation source geometry.
2025-01-12 13:14:46 +01:00
David Snopek
696285f23a
Use MethodInfo::get_compatibility_hash() to generate the hash for MethodBind::get_hash() and other GDExtension hash clean up
2025-01-11 15:57:42 -06:00
A Thousand Ships
a1846b27ea
Improve use of Ref.is_null/valid
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
73d85f46c9
Remove unused headers in scene.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Souchet Ferdinand
d92f5e5799
Add TileMapLayer._update_cells virtual callback called when the TileMapLayer's cells are updated
...
Made `_update_cells` a hook into the `TileMapLayer`'s internal update
2024-11-11 13:29:38 +01:00
Danni
3d132076b2
Add collision priority property to TileSet physics layers
2024-11-02 15:37:49 -04:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Gilles Roudière
d75c5ec7ba
Implement multiple occlusion polygons within each TileSet occlusion layer
2024-09-03 15:38:51 +02:00
Rémi Verschelde
96cbcc30e2
Merge pull request #90945 from Scony/extract-navigation-defaults
...
Extract navigation-related defaults to separate header
2024-08-29 10:36:14 +02:00
Rémi Verschelde
6cb21a56fd
Merge pull request #93970 from MarblesFr/feature/collision-occlusion-options-layer-map
...
Add occlusion enabled option to TileMapLayer
2024-08-28 00:11:40 +02:00
Pawel Lampe
c3f1bfd5cb
Extract navigation-related defaults to separate header
2024-08-27 20:12:10 +02:00
kobewi
dba1a39fe1
Add helper methods to check for tile transforms
2024-08-12 02:51:34 +02:00
Sora
998f5c682e
Add occlusion enabled options to tile map layer
2024-07-22 12:13:39 +02:00
kobewi
92b0375785
Fix some TileMapLayer editing problems
2024-06-29 18:18:54 +02:00
Rémi Verschelde
d71c85ce5f
Merge pull request #92016 from KoBeWi/pick_layers_like_a_boss
...
Allow selecting TileMapLayers by clicking them
2024-06-28 15:55:10 +02:00
Ricardo Buring
4c426b0be5
Fix TileMapLayer not respecting physics interpolation mode
2024-06-18 22:05:46 +02:00
Gilles Roudière
c283db2130
Implement X-draw-order switch in TileMapLayer
2024-06-10 15:53:58 +02:00
kobewi
6559bb68e6
Remove some TileMap dependencies from TileMapLayer
2024-05-21 11:32:14 +02:00
cosparks
601edc7d3e
Fix 2d sdf collision for TileMapLayer
2024-05-20 13:03:02 -07:00
kobewi
b758222761
Allow selecting TileMapLayers by clicking them
2024-05-16 15:47:23 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
kobewi
c7b6cf9f6d
Don't store TileMapLayer data if empty
2024-04-19 18:05:48 +02:00
A Thousand Ships
09edece17d
[TileMap] Fix forcing cleanup on exiting tree/canvas
2024-04-04 14:47:32 +02:00
Gilles Roudière
3cd4b2859c
Expose TileMapLayer
2024-04-03 11:02:34 +02:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
Gilles Roudière
787c784aca
Remove almost all remaining dependencies of TileMapLayer on TileMap
2024-02-29 12:16:50 +01:00
A Thousand Ships
fe203d7003
Prevent threading problems in TileMap
2024-02-27 15:38:25 +01:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
Gilles Roudière
33485e654e
Fixes a memory leak with TileMap runtime updates
2024-02-21 13:18:21 +01:00
Rémi Verschelde
8b72165b5f
Merge pull request #88190 from Eoin-ONeill-Yokai/bugfix/materials-tilemap2d
...
Fix regression where a tile's custom material was ignored
2024-02-13 11:25:06 +01:00
Gilles Roudière
5a999d67ec
Change TileMapEditor to TileMapLayerEditor
2024-02-12 10:11:45 +01:00
Eoin O'Neill
f50e6c80c7
Fix regression where tile-specific materials were ignored.
...
Regression stemmed from commit 48bed5050b
The material assigned to a tile is completely ignored in master unless
this line is changed.
2024-02-10 18:08:02 -08:00
Gilles Roudière
48bed5050b
Make TileMapLayers extend Node2D and work as children of TileMap
2024-01-17 16:05:50 +01:00
kleonc
baa5504700
Fix some TileMap debug drawing truncating to ints
2024-01-14 02:02:46 +01:00
kleonc
3c25274870
Fix TileMap quadrant canvas item position not being local
2024-01-08 14:20:16 +01:00
Gilles Roudière
6bc5b3f812
Move TileMapLayer to its own files
2024-01-05 11:58:21 +01:00