Commit Graph

53 Commits

Author SHA1 Message Date
783728fcb4 Capitalize global navigation constants 2025-05-05 12:08:15 -07:00
52aee9c325 Fix rotated/flipped tiles rendering origin 2025-04-28 13:34:39 +02:00
33fe4a2d87 Combined TileMapLayer debug quadrant shapes to a surface
Create a combined mesh surface for all mesh faces and mesh lines in the TileMapLayer debug quadrant. Before it created a new mesh surface for each shape crashing into the mesh surface limit of 256 quickly.
2025-04-06 19:08:53 +02:00
556933306a Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
e8bc75f056 Merge pull request #103373 from YeldhamDev/build_remove_physics
Allow to compile templates without physics servers
2025-03-28 17:30:03 +01:00
3b90bb56ad Merge pull request #89782 from KoBeWi/stdArrayList
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
5ad414d046 Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
943bec398f Fix applying TileMapLayer.self_modulate to tiles 2025-03-27 03:15:53 +01:00
75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
581d675eeb Core: Convert Math class to namespace 2025-03-21 10:29:18 -05:00
85258ec1a5 Merge pull request #102662 from groud/chunk_tilemap_physics
Chunk tilemap physics
2025-03-17 16:03:29 -05:00
92ab92114e Don't duplicate internal nodes 2025-03-07 16:08:53 +01:00
4765bc883c Chunk tilemap physics 2025-02-11 16:28:58 +01:00
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
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
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
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
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
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
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
3d132076b2 Add collision priority property to TileSet physics layers 2024-11-02 15:37:49 -04:00
0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
d75c5ec7ba Implement multiple occlusion polygons within each TileSet occlusion layer 2024-09-03 15:38:51 +02:00
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
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
c3f1bfd5cb Extract navigation-related defaults to separate header 2024-08-27 20:12:10 +02:00
dba1a39fe1 Add helper methods to check for tile transforms 2024-08-12 02:51:34 +02:00
998f5c682e Add occlusion enabled options to tile map layer 2024-07-22 12:13:39 +02:00
92b0375785 Fix some TileMapLayer editing problems 2024-06-29 18:18:54 +02:00
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
4c426b0be5 Fix TileMapLayer not respecting physics interpolation mode 2024-06-18 22:05:46 +02:00
c283db2130 Implement X-draw-order switch in TileMapLayer 2024-06-10 15:53:58 +02:00
6559bb68e6 Remove some TileMap dependencies from TileMapLayer 2024-05-21 11:32:14 +02:00
601edc7d3e Fix 2d sdf collision for TileMapLayer 2024-05-20 13:03:02 -07:00
b758222761 Allow selecting TileMapLayers by clicking them 2024-05-16 15:47:23 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
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
c7b6cf9f6d Don't store TileMapLayer data if empty 2024-04-19 18:05:48 +02:00
09edece17d [TileMap] Fix forcing cleanup on exiting tree/canvas 2024-04-04 14:47:32 +02:00
3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
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
787c784aca Remove almost all remaining dependencies of TileMapLayer on TileMap 2024-02-29 12:16:50 +01:00
fe203d7003 Prevent threading problems in TileMap 2024-02-27 15:38:25 +01:00
13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
33485e654e Fixes a memory leak with TileMap runtime updates 2024-02-21 13:18:21 +01:00
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
5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
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
48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00