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