Commit Graph

55 Commits

Author SHA1 Message Date
Filipe Abreu 106bbaa2e8 Fix #116636: Undoing terrain set move duplicates terrain in second set
Undoing a terrain set move could corrupt terrain data where a
terrain from the first set appears duplicated in the second set.

This happens because UndoRedo restores terrain properties without
clearing the existing terrain container first, causing the previous
state to be overlaid on top of the current one.

Fix this by clearing the terrains in the affected terrain
sets before restoring their properties during undo.
This ensures the terrain container is rebuilt from the
saved properties instead of merging with the current state.
2026-03-23 14:56:26 +00:00
Lukas Tenbrink 05c33acbb1 Make memnew(RefCounted) return Ref, to force callers to take ownership of it through a reference. 2026-03-18 20:34:08 +01:00
Rémi Verschelde 8028b65442 Remove unused includes in scene with clangd-tidy 2026-03-10 16:40:00 +01:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Lukas Tenbrink d6540e4aa7 Add move semantics to RBMap and RBSet. Make copy constructors explicit. 2026-02-20 20:47:15 +01:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
kleonc 5a275eae38 Preserve winding order for transformed tiles' navigation polygons 2026-01-08 19:41:56 +01:00
Malcolm Anderson 4eca0fbbc3 Fix wording in TileSet collision polygon error message 2025-12-27 16:04:16 -08:00
kleonc 4619b2dffa Fix get_scene_tile_display_placeholder erroring for transformed scene tiles 2025-12-10 18:32:46 +01:00
kobewi c4c39fba55 Fix display_placeholder not persisting 2025-11-16 03:18:24 +01:00
Thaddeus Crews d1a90109b4 Merge pull request #108010 from DexterFstone/add-scene-tile-rotation
Add support for rotating scene tiles in TileMapLayer
2025-11-14 14:23:13 -06:00
scgm0 cbc960c997 Fix some compilation errors 2025-10-14 05:54:58 +08:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Thaddeus Crews 21fd4faf1b Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
Aaron Franke 754d49ac81 Skip copying values constructed immediately before returning 2025-09-26 19:13:58 -07:00
Lukas Tenbrink abe3b481ae Make conversions from LocalVector to Vector explicit. 2025-09-16 21:41:28 +02:00
DexterFstone 6a399302c3 Add support for rotating scene tiles in TileMapLayer 2025-07-19 10:53:47 -07:00
LuoZhihao 8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
Rémi Verschelde b323212e0e TileSet: Prevent crash in conversion of invalid tiles from Godot 3.x
Fixes #80898.
2025-05-25 15:20:56 +02:00
Yufeng Ying bbc380b07e Do not iterate Dictionary with get_key_at_index. 2025-04-07 21:54:13 +08:00
Julian 38305a2ad0 Fix editing custom data for tilesets 2025-04-04 14:28:01 -04:00
Michael Alexsander 556933306a Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
Rémi Verschelde 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
Michael Alexsander 5ad414d046 Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
kobewi 75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
chocola-mint f434c75dbf Add has_custom_data() to TileData 2025-01-13 21:25:49 +09: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
Thaddeus Crews 4f416378a5 Merge pull request #98773 from KeyboardDanni/tileset_collision_priority
Add collision priority property to TileSet physics layers
2024-11-10 12:12:49 -06:00
Thaddeus Crews 551ce65fce Merge pull request #98317 from YYF233333/vformat
Optimize `TileSetAtlasSource::_get_property_list`
2024-11-07 12:36:26 -06:00
Thaddeus Crews 6cef0a17fb Merge pull request #98571 from timothyqiu/pname-no-editor
Don't mark `PROPERTY_USAGE_NO_EDITOR` properties for translation
2024-11-05 18:36:10 -06:00
Danni 3d132076b2 Add collision priority property to TileSet physics layers 2024-11-02 15:37:49 -04:00
Haoyu Qiu d47425b35f Don't mark PROPERTY_USAGE_NO_EDITOR properties for translation
Using `PNAME()` on these properties are redundant as they won't be displayed
in the editor and some of them will be automatically ignored by the
extraction script.
2024-10-26 22:09:21 +08: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
Yufeng Ying b5141b8171 Optimize TileSetAtlasSource::_get_property_list
Co-authored-by: Haoyu Qiu <timothyqiu@users.noreply.github.com>
2024-10-19 15:12:53 +08:00
Haoyu Qiu 5adb489a04 Fix error when undo tile deletion in TileSetAtlasSourceEditor 2024-10-18 20:06:31 +08:00
Rémi Verschelde 13a90e938f Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Gilles Roudière d75c5ec7ba Implement multiple occlusion polygons within each TileSet occlusion layer 2024-09-03 15:38:51 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Patrick Sean Klein a1fe6ffa19 NavigationPolygon: Implement get/set_polygon fast paths. 2024-08-17 00:31:58 +02:00
kleonc 6895f6f8cc Fix TileAtlasView bounds checks for transposed tiles 2024-08-09 19:26:02 +02:00
Patrick Sean Klein 2dc42e8a93 TileSet: Maintain NavigationPolygon sub-polygons when rotating
The original implementation merged sub-polygons into a single polygon
when rotating. This can cause non-simple geometries downstream
algorithms cannot handle.
2024-06-13 22:16:46 +01:00
Patrick Sean Klein 44d1f1c85f Fixes an index error in TileSet when caching transformed collision layers. 2024-05-26 00:14:31 +01:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
A Thousand Ships 308dbb8c63 [Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
aaronp64 ff60f7b6d4 Handle compressed images in TileSetAtlasSource::_create_padded_image_texture
Check for compressed image and decompress if needed

Fixes #78755
2024-04-21 21:36:12 -04:00