diff options
author | Bojidar Marinov <bojidar.marinov.bg@gmail.com> | 2018-06-03 16:32:23 +0300 |
---|---|---|
committer | Bojidar Marinov <bojidar.marinov.bg@gmail.com> | 2018-06-03 16:32:23 +0300 |
commit | d73cdeb2487bbd21d2eb062a13d92199c85cda2f (patch) | |
tree | e7b08981bd70a69bbf67fb37e8186676f97a2538 /scene | |
parent | 8684b631182dffebba27bdf538129818321d0d7d (diff) |
Fix bugs related to bad handling of rotated/translated shapes in tilemap
Fixup #18529 and #12870
Diffstat (limited to 'scene')
-rw-r--r-- | scene/2d/tile_map.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index d88e148b2c..439bc43f3d 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -466,10 +466,12 @@ void TileMap::_update_dirty_quadrants() { Transform2D xform; xform.set_origin(offset.floor()); - Vector2 shape_ofs = tile_set->tile_get_shape_offset(c.id, i); + Vector2 shape_ofs = shapes[i].shape_transform.get_origin(); _fix_cell_transform(xform, c, shape_ofs + center_ofs, s); + xform *= shapes[i].shape_transform.untranslated(); + if (debug_canvas_item.is_valid()) { vs->canvas_item_add_set_transform(debug_canvas_item, xform); shape->draw(debug_canvas_item, debug_collision_color); |