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
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell
2023-01-23 11:02:20 +01:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
Rémi Verschelde
3e9a831194
Merge pull request #65726 from KoBeWi/cellless
...
Don't print error in `get_cell_tile_data()`
2023-01-21 16:54:53 +01:00
Rémi Verschelde
4abbc0c3fb
Merge pull request #71630 from groud/fix_tilemap_layer_delete_undo
...
Fixes TileMap undo not restoring tiles
2023-01-18 22:20:12 +01:00
Gilles Roudière
13e7f1a143
Fixes TileMap undo not restoring tiles
2023-01-18 17:43:41 +01:00
Rémi Verschelde
da1b78222c
Merge pull request #71615 from groud/bring_back_get_cells_by_id
...
Bring back TileMap::get_cells_by_id
2023-01-18 17:33:14 +01:00
Gilles Roudière
68afc0afa5
Bring back TileMap::get_cells_by_id
2023-01-18 15:56:31 +01:00
Gilles Roudière
10849a6d93
Avoid recreating TileMap internals when selecting it
2023-01-18 11:28:31 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Adam Scott
ea33001b95
Add safety-checks before some servers `free()`
2022-12-29 16:23:38 -05:00
reejk
fee04ccd93
Use TileSet navigation layer layers when TileMap generates navigation polygons
2022-12-22 00:35:20 +04:00
kleonc
3a34acdf55
TileSet Simplify tile shape polygons
2022-12-19 11:42:40 +01:00
smix8
34e7628f5f
Fix Navigation API abbreviations inconsistency
...
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
Rémi Verschelde
c023d41036
Merge pull request #70118 from clayjohn/tilemap-layers
...
Use large offset for tilemap layer level canvas items
2022-12-17 14:29:22 +01:00
clayjohn
7d6a25c91e
Use large offset for tilemap layer level canvas items
...
This matches the logic in _rendering_update_dirty_quadrants
2022-12-15 11:41:27 -08:00
Gilles Roudière
ffec180ccc
Remove a confusing TileMap warning
2022-12-15 11:27:38 +01:00
Rémi Verschelde
53060e8ced
Merge pull request #69950 from kleonc/tile-map-const-refs-for-the-win
...
`TileMap` Pass some parameters by `const &` instead of by value
2022-12-12 11:52:55 +01:00
Rémi Verschelde
52a0bba833
Merge pull request #69922 from adamscott/fix-tilemap-tileset-heap-use-after-free
...
Fix `heap-use-after-free` error in `TileMap::~TileMap()`
2022-12-12 11:41:49 +01:00
Rémi Verschelde
ba3a2adb90
Merge pull request #67050 from KoBeWi/syrt
...
Warn if isometric TileMap is not Y-sorted
2022-12-12 11:40:54 +01:00
kleonc
71398ae22a
TileMap Pass some parameters by `const &` instead of by value
2022-12-12 11:33:42 +01:00
Adam Scott
e7fb2f0294
Fix `heap-use-after-free` error in `TileMap::~TileMap()`
...
Co-authored-by: Gilles Roudiere <gilles.roudiere@gmail.com>
2022-12-12 04:52:00 -05:00
Josh Jones
5769b0e8d8
Enable assigning an owner to navigation regions and links
...
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-12-10 12:03:06 -08:00
Vladislav Slobodenyuk
0b5c4216c8
Fix TileMap drawing itself twice on creation
...
Adds a check before calling `item_rect_changed()` in
`_recompute_rect_cache()` of `scene/2d/tile_map.cpp`. Makes sure
TileMap is only redrawn if the rect is actually changed.
Fixes #69754
2022-12-09 22:20:31 +09:00
Gilles Roudière
3ea54bb3a1
Rename get_surrounding_tiles to get_surrounding_cells
2022-12-07 11:09:10 +01:00
kobewi
f8f25adc0b
Don't free instanced scenes when recreating tiles
2022-11-07 00:32:41 +01:00
Gilles Roudière
ffacb31734
Fix terrain painting in corner-only matching mode
2022-11-03 19:08:43 +01:00
Rémi Verschelde
420eb1aa34
Merge pull request #67445 from Zylann/rename_queue_delete
...
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
Rémi Verschelde
d0fbeec66a
Merge pull request #67580 from KoBeWi/little_things
...
Minor code improvements
2022-10-31 10:34:57 +01:00
Max Hilbrunner
f013315980
Merge pull request #67754 from kleonc/tilemap-fix-collision-shapes-debug-draw
...
Fix `TileMap` collision shapes debug draw
2022-10-30 00:15:42 +02:00
kobewi
64fc443e24
Warn if isometric TileMap is not Y-sorted
2022-10-26 14:27:58 +02:00
Marc Gilleron
7543a5e014
Rename queue_delete => queue_free
...
# Conflicts:
# editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
Clay John
040f49ed6e
Merge pull request #67390 from groud/more_conservative_terrain_painting
...
Make terrain painting not change neighbors centers bits
2022-10-23 17:11:06 -07:00
kleonc
fcb663df51
Fix `TileMap` collision shapes debug draw
2022-10-22 16:14:54 +02:00
Gilles Roudière
fe65d7aa7b
Make terrain painting not change neighbors centers bits
2022-10-20 14:47:45 +02:00
kobewi
2f9cbbe0fb
Fix texture filter and repeat in TileMap
2022-10-19 23:23:40 +02:00
kobewi
4aaed4fee1
Minor code improvements
2022-10-18 16:44:57 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Gilles Roudière
64e0c138d9
Fix TileMap occluders having a wrong transform
2022-10-06 14:06:33 +02:00
MisterMX
407bbdda20
refactor(TileMap): Return Rect2i in get_used_rect
...
Signed-off-by: MisterMX <mbxd12@web.de>
2022-09-28 17:04:15 +02:00
kobewi
a275b70b6e
Set scene tiles' position before adding them
2022-09-21 00:37:18 +02:00
Marc Gilleron
aed3822a93
Change return type of `get_configuration_warnings` to `PackedStringArray`
2022-09-19 16:43:15 +01:00
kobewi
7afaca2091
Don't print error in get_cell_tile_data()
2022-09-13 01:39:35 +02:00
smix8
d7f75fab60
Remove / Replace old Navigation Debug Visualization
...
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-07 18:30:35 +02:00
Micky
694190a354
Rename TileMap/GridMap.`world_to_map` and opposite to `local_to_map`
...
For both TileMap and GridMap:
- `world_to_map` -> `local_to_map`
- `map_to_world` -> `map_to_local`
Also changes any mention of "world" in this context to "local" to avoid future confusion.
Finally, updates the docs of both methods for consistency.
In particular, adding a note on how to convert the returned values from local to global coordinates and vice versa.
2022-09-05 18:08:39 +02:00
kobewi
c8abd40ea8
Easier setting properties of last TileMap layer
2022-08-26 12:54:13 +02:00
kobewi
7f96ebf1be
Use false as default for use_proxies argument
2022-08-22 13:31:01 +02:00
kobewi
7305390fdc
Add a method to get TileData from a cell
2022-08-16 15:04:39 +02:00
Gilles Roudière
3faa97a58a
Fixes TileMap clear_layer not recreating internal CanvasItems
2022-07-26 12:35:54 +02:00
Xentripetal
f514b82fd3
Account for relative z-indexes when y-sorting
2022-07-08 09:18:00 -05:00
Hugo Locurcio
b3fe2732e3
Allow using CanvasItemMaterial in the TileSet editor
...
Previously, only ShaderMaterial overrides could be added.
2022-06-21 17:02:52 +02:00
Gilles Roudière
923b1a56b4
Fixes terrains for isometric tilemaps
2022-06-13 18:10:08 +02:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit
2022-06-13 17:06:34 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Gilles Roudière
62d2549e9e
Add terrain center bit
2022-06-10 14:37:39 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2
2022-04-27 10:08:26 +02:00
Samuel Wilson
a4c38aa92e
Fix TileMap::set_pattern offsets
...
Currently it is trying to use the target coordinates (i.e., in the destination TileMap) to pull from the pattern, rather than the pattern-local coordinates.
2022-04-27 09:35:33 +02:00
bruvzg
de4c97758a
Fix more issues found by cppcheck.
2022-04-20 10:34:00 +03:00
Rémi Verschelde
7119d355eb
String: Remove TTR and DTR defines in non-tools build
...
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Igor Kordiukiewicz
8f49150b10
Changed TileMap::set_cell alternative_tile default value to 0
2022-03-02 12:13:45 +01:00
Rémi Verschelde
0f5455230c
Use `switch` consistently in `_notification` (`scene` folder)
2022-02-15 18:44:55 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
Rémi Verschelde
b8b33df178
TileSetAtlasSource: Make `get_tile_data` return `TileData *`
...
This is now possible thanks to `Variant` changes.
Also unbind some `_` prefixed methods which don't need to be exposed.
2022-01-28 14:27:12 +01:00
kobewi
d7f51dd2ec
Better clarify map_to_world() description
2022-01-24 14:13:40 +01:00
kobewi
f74d52e80d
Fix error on scene tiles cleanup
2022-01-19 00:39:26 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
luz paz
a124f1effe
Fix various typos
...
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Haoyu Qiu
1078c389f9
Fix crash when executing `TileMap.map_pattern`
...
Validates the input reference.
2021-12-18 15:53:21 +08:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07:00
kobewi
4682f22293
Improve various texts
2021-11-23 12:20:57 +01:00
Gilles Roudière
1224d7a25c
Implement texture padding in TileSetAtlasSources
2021-11-12 15:14:10 +01:00
Hugo Locurcio
c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Rémi Verschelde
529968df30
Merge pull request #54396 from groud/implement_terrain_other_brushes
2021-11-01 22:27:06 +01:00
Gilles Roudière
c609d39214
Implement missing TileMap brushes for terrains
2021-10-29 19:46:42 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Gilles Roudière
756e76293f
Implement runtime update of TileData object in TileMap
2021-10-27 18:32:52 +02:00
Gilles Roudière
a6584e4cb8
Optimize TileMap layers updates
2021-10-27 12:07:52 +02:00
Gilles Roudière
d1aef45072
Allow updating TileMap cells using surrounding terrains
2021-10-21 16:57:28 +02:00
Gilles Roudière
1a95f893c4
Implement TileMap patterns palette
2021-10-19 11:57:37 +02:00
Rémi Verschelde
004b44e915
Merge pull request #53767 from groud/improve_tile_set_change_performances
2021-10-13 16:03:31 +02:00
Gilles Roudière
0de2fce3e1
Greatly improve editor performances by deferring tiles related updates
...
Solve few update problems
2021-10-13 14:49:47 +02:00
Rémi Verschelde
8240a11ba0
Merge pull request #53761 from groud/fix_tilemap_memory_leak
2021-10-13 14:04:11 +02:00
Gilles Roudière
48fb43035c
Fix TileMap memory leak
2021-10-13 12:12:25 +02:00
kobewi
bf3eaa767b
Use z_index for TileMap layer darkening
2021-10-13 01:34:34 +02:00