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
kobewi
ec0d72a828
Add modulate property to TileMap layers
2021-10-10 20:28:57 +02:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Gilles Roudière
f2caab4691
Improve TileMap physics for moving platforms and conveyor belts like movements
2021-09-29 17:56:30 +02:00
kobewi
140b54fd35
Fix TileMap layer loading
2021-09-27 13:13:48 +02:00
Anilforextra
cc51b045da
Construct values only when necessary.
2021-09-23 22:26:07 +05:45
Gilles Roudière
f9e6329496
Implement animated tiles
2021-09-23 17:24:37 +02:00
Gilles Roudière
173c0f8737
Merge pull request #52622 from rileylyman/tilemap-crash
...
Break TileMap _clear_internals out from _recreate_internals
2021-09-15 09:39:36 +02:00
Riley Lyman
dfcf4491d6
Break TileMap _clear_internals out from _recreate_internals
2021-09-14 20:45:10 -07:00
Gilles Roudière
73cc6f94bf
Fix transform of TileMap nodes and tilemap selection
2021-09-14 12:18:36 +02:00
Gilles Roudière
0c85f3acc1
Tiles renames/bugfixing and documentation
2021-09-08 15:52:43 +02:00
Gilles Roudière
4bd7700e89
Implement properties arrays in the Inspector.
2021-09-07 09:51:28 +02:00
Gilles Roudière
a4cd553f42
Fix crash in TileMap physics
2021-09-06 13:11:41 +02:00
Hugo Locurcio
0af213a4e0
Merge pull request #51259 from nekomatata/fix-tilemap-one-way-collision
...
Fix one-way collision in Tilemap
2021-08-23 18:54:01 +02:00
kobewi
a7ace9fec1
Fix z_index applied twice for TileMap layers
2021-08-19 12:40:09 +02:00
Aaron Franke
eb4902a455
Fix some unnecessary includes
2021-08-13 00:27:38 -05:00
PouleyKetchoupp
b9e68c8155
Fix one-way collision in Tilemap
...
In a given quadrant there can be one or more bodies used, and the
process iterated over cells to add the shapes, so the shape index
doesn't necessarily correspond to the polygon shape index.
Instead body shape indices need to be tracked separately.
2021-08-05 12:10:35 -07:00
kobewi
665dc7805b
Fix get_used_rect() calculation
2021-08-05 20:40:21 +02:00
Gilles Roudière
ad8b5cd5a4
Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead
2021-08-02 13:54:39 +02:00
Haoyu Qiu
448295cd51
Add check to internal methods to prevent crash
2021-07-27 12:26:13 +08:00