Commit graph

378 commits

Author SHA1 Message Date
Gilles Roudière
48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
Gilles Roudière
6bc5b3f812 Move TileMapLayer to its own files 2024-01-05 11:58:21 +01:00
Gilles Roudière
18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +01:00
Gilles Roudière
fcb8d19de0 Fixes TileMap occluders 2023-12-08 10:07:28 +01:00
Gilles Roudière
25e927e56b Keep scene tiles even if the TileMap is invisible 2023-12-04 18:39:16 +01:00
Rémi Verschelde
efe5c856b8
TileMap: Fix compatibility code for old cell_quadrant_size property name
Fixes #85423.
2023-11-28 12:44:07 +01:00
Gilles Roudière
dae641625a Update tilemap physics' world2D on reparenting
Co-authored-by: Alon Ran <newdefectus@gmail.com>
2023-11-16 11:31:42 +01:00
Rémi Verschelde
491160c33d
Merge pull request #83888 from KoBeWi/remove_all_properties_instead_of_adding_one
Fix TileMap layer reverts and defaults
2023-11-08 19:08:19 +01:00
kobewi
b63533bf3f Fix rotated tile collision not working at runtime 2023-10-31 18:22:26 +01:00
Rémi Verschelde
d3fb6c17b6
Merge pull request #83560 from groud/allow_physics_for_hidden_tilemap
Allow TileMap physics/navigation to still work when hidden
2023-10-27 11:36:57 +02:00
Gilles Roudière
9d90f1774c Allow TileMap physics/navigation to still work when hidden 2023-10-26 16:54:35 +02:00
Gilles Roudière
3b5a288bc8 Fix Y-sort origin not working when set in TileMap runtime updates 2023-10-26 15:45:30 +02:00
Gilles Roudière
a2bc599450 Fixes get_used_rect, get_used_cells and get_used_cells_by_id in TileMap after a call to clear() 2023-10-24 14:43:43 +02:00
kobewi
99262705a8 Fix TileMap layer reverts and defaults 2023-10-24 13:44:07 +02:00
Eoin O'Neill
f17a569ccf Fix bug where TileMap will not update material correct on assignment
This seemed to be a simple case of a missing condition in an if
statement with a few different flags. I'm not super familiar with the
tilemap code but hopefully this is the correct place to add this check.

Fixes #83474
2023-10-16 21:02:46 -07:00
Rémi Verschelde
1d3854665f
Merge pull request #83273 from groud/disable_tilemap_navigation
Allow disabling the built-in tilemap navigation
2023-10-13 22:19:48 +02:00
Gilles Roudière
c820c8d1e6 Allow disabling the built-in tilemap navigation 2023-10-13 17:42:28 +02:00
Rémi Verschelde
9957f1ad4e
Merge pull request #83151 from kleonc/tile-map-layer-draw-index-update
Update `TileMap` layer draw index when it's dirty
2023-10-11 18:31:12 +02:00
kleonc
a529bf81b8 Update TileMap layer draw index when it's dirty 2023-10-11 16:55:19 +02:00
Gilles Roudière
a3bfd9b797 Warn users when TileMap is set as Y-sorted but no layer is 2023-10-11 13:44:28 +02:00
kleonc
20d6a9b2e1 Fix animated tile time-slice calculation accumulating float errors 2023-09-26 12:07:42 +02:00
Gilles Roudière
30b94bb8ab Improve TileMap Y-sorting performance 2023-09-25 18:49:04 +02:00
Rémi Verschelde
475860839c
Merge pull request #80144 from KoBeWi/freedom_tiles
Add per-tile flipping and transposing
2023-09-12 12:00:20 +02:00
kleonc
52f8886ad0 Fix TileMap::get_used_rect incorrectly handling empty layers 2023-09-11 10:55:27 +02:00
kobewi
a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
Gilles Roudière
8c1e28237b Improve TileMap performances by using quadrants only for rendering 2023-09-08 15:33:43 +02:00
A Thousand Ships
b060a22719 Pass missing arguments to TileMap::get_used_cells_by_id 2023-08-17 19:55:56 +02:00
Sch1nken
7aa90d1667 Check for possible scenes to be erased 2023-08-15 15:17:06 +02:00
Haoyu Qiu
35f28407d9 Fix "a number is required" error when printing RID 2023-08-01 23:30:21 +08:00
kobewi
055b9892d2 Properly clear scene tiles 2023-07-27 01:31:20 +02:00
Yuri Sizov
f6187014ec Merge pull request #79851 from timothyqiu/null-tileset
Fix crash when executing `TileMap.fix_invalid_tiles`
2023-07-24 19:33:55 +02:00
Haoyu Qiu
a7ab7e469b Fix crash when executing TileMap.fix_invalid_tiles 2023-07-24 20:01:27 +08:00
smix8
671839d5cd Set default cell_size on new TileMap Layer navigation layer maps
Sets default cell_size on new TileMap Layer navigation layer maps.
2023-07-21 18:02:21 +02:00
Gilles Roudière
d6379e9a93 Move TileMap layers to their own class 2023-07-20 17:23:38 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +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
kleonc
735e7d67ca Fix transform for transposed tiles in compatibility mode (from 3.x) 2023-06-16 13:31:01 +02:00
Rakka Rage
6dbae30000 Add tile_animation_mode option:
- to tile animation properties
- when "Default" each animation starts at time 0.
- when "Random Start Times" each animation starts at random time.
2023-06-06 09:31:18 -04:00
kobewi
9128ce95ce Check for null in set_pattern() 2023-05-24 16:43:29 +02:00
Proggle
093cb90077
TileMap: Add method to fetch the layer for a given body 2023-04-25 12:49:50 +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
kleonc
c49a7feae3 TileMap Fix rendering odd-sized tiles 2023-03-12 16:20:38 +01:00
kobewi
ba7eb4bd89 Add early return for changing TileMap properties 2023-02-28 01:05:39 +01:00
smix8
fef6ffabe5 Fix TileMap NavigationServer 'Invalid ID' error
Fixes NavigationServer 'Invalid ID' error of the TileMap.
The issue was not caused directly by the TileMap but with the late call to get_world_2d()->get_navigation_map() while everything is shut down abruptly e.g. game window closed or Editor "Reload Saved Scene" function.
2023-02-14 01:39:21 +01:00
Rémi Verschelde
848c910227
Merge pull request #73018 from smix8/fix_multilayered_tilemap_navigation_4.x
Fix navigation support for multilayered TileMaps
2023-02-13 12:58:39 +01:00
smix8
2b19c70664 Fix 2D navigation debug visuals ignoring half the ProjectSettings
Fixes that NavigationRegion2D and TileMap debug visuals ignored more or less half the ProjectSetting. E.g. random color could not be disabled, edges did not display.
2023-02-13 11:42:23 +01:00
smix8
f2c31965c0 Fix navigation support for multilayered TileMaps
Fixes support for multilayered TileMaps by creating dedicated navigation maps for each layer.
2023-02-10 17:13:40 +01:00
Rémi Verschelde
6c19a619ad
Merge pull request #72365 from groud/warn_ysort_tilemap
Warn when a TileMap layer is Y-sorted but not the TileMap node itself.
2023-01-30 13:28:22 +01:00
Gilles Roudière
62c874732d Warn when a TileMap layer is Y-sorted but not the TileMap node itself. 2023-01-30 10:34:35 +01:00
Gilles Roudière
d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00