1
0
Fork 0
Commit Graph

40 Commits

Author SHA1 Message Date
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