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
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Gilles Roudière
5d34a81e52
Implement atlas merging and tile proxies
2021-07-21 12:36:37 +02:00
Gilles Roudière
047e9b19f8
Import old tiles in SINGLE_TILE mode as atlases
2021-07-21 12:29:51 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Haoyu Qiu
d33185d201
Fix crash when using TileMap::fix_invalid_tiles
2021-06-14 14:58:55 +08:00
andriyDev
9f4bf5ec80
Deleted YSort, moved its functionality directly into Node2D.
...
YSort now has a compatibility alias to Node2D.
Updated TileMap to use the existing Node2D y_sort_enabled property instead
of its own property.
Updated Node2D doc to include the new y_sort_enabled member.
Updated TileMap doc to remove its mention of cell_y_sort.
Deleted YSort doc.
2021-06-05 00:55:25 -07:00
Rémi Verschelde
0286495f59
Merge pull request #49024 from groud/restore_tilemap_show_debug
...
Restore TileMap's debug collision shapes and add navigation.
2021-06-01 12:51:28 +02:00
Gilles Roudière
3b35733b4c
Restore a way to show collsion/navigation on TileMap.
...
Also remove an unused function.
2021-05-25 11:51:15 +02:00
Gilles Roudière
f4e8c68e00
Fixes deprecated=no compilation option
2021-05-24 17:41:29 +02:00
Gilles Roudière
d8bb53cd21
Implement scenes tiles in TileMaps
2021-05-20 13:12:03 +02:00
Aaron Franke
75e3f6b732
Update TileMap to use Vector2i instead of two ints
2021-05-07 16:20:02 -04:00
Gilles Roudière
a3dda2df85
Rework the TileSet resource and TileMap nodes:
...
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00
kleonc
f1420c7cbf
TileMap::world_to_map Ensure half offset is added according to the returned value
...
Decide whether half offset should be added based on the value used for calculating the return value of this method.
2021-05-02 23:34:51 +02:00
Rafał Mikrut
efcb097674
Prevent setting too big or too small Collision Mask and Layer
2021-04-30 17:19:04 +02:00
Nathan Franke
2a8c59c171
Use Array for node configuration warnings
...
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-04-11 23:25:38 -05:00
Gilles Roudière
a9dc53d152
Remove Navigation2D/3D nodes, and move the navigation map to the world resource
2021-03-10 11:23:06 +01:00
reduz
1aa2823fa3
Removed _change_notify
...
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rafał Mikrut
003bb8e1a8
Initialize class variables with default values in scene/ [1/2]
2021-02-07 22:29:31 +01:00
Rémi Verschelde
2900b40507
Merge pull request #44839 from qarmin/fix_crash_tile_map
...
Do not iterate over map when removing its values
2021-01-01 23:06:35 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00