Fixes TileMap occluder offsets.
This is NOT related to #14388! This fixes a graphical bug where the light occluders used by tilemaps weren't getting offset anymore, this they'd be positioned incorrectly. I tried on all 3 tilemap positioning modes and it seemed to work on every one.
This commit is contained in:
parent
146bdf031d
commit
cea5078ebe
@ -513,16 +513,13 @@ void TileMap::_update_dirty_quadrants() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Ref<OccluderPolygon2D> occluder;
|
Ref<OccluderPolygon2D> occluder;
|
||||||
Vector2 occluder_ofs;
|
|
||||||
if (tile_set->tile_get_is_autotile(c.id)) {
|
if (tile_set->tile_get_is_autotile(c.id)) {
|
||||||
occluder = tile_set->autotile_get_light_occluder(c.id, Vector2(c.autotile_coord_x, c.autotile_coord_y));
|
occluder = tile_set->autotile_get_light_occluder(c.id, Vector2(c.autotile_coord_x, c.autotile_coord_y));
|
||||||
occluder_ofs = tile_set->tile_get_occluder_offset(c.id);
|
|
||||||
} else {
|
} else {
|
||||||
occluder = tile_set->tile_get_light_occluder(c.id);
|
occluder = tile_set->tile_get_light_occluder(c.id);
|
||||||
occluder_ofs = Vector2();
|
|
||||||
}
|
}
|
||||||
if (occluder.is_valid()) {
|
if (occluder.is_valid()) {
|
||||||
|
Vector2 occluder_ofs = tile_set->tile_get_occluder_offset(c.id);
|
||||||
Transform2D xform;
|
Transform2D xform;
|
||||||
xform.set_origin(offset.floor() + q.pos);
|
xform.set_origin(offset.floor() + q.pos);
|
||||||
_fix_cell_transform(xform, c, occluder_ofs + center_ofs, s);
|
_fix_cell_transform(xform, c, occluder_ofs + center_ofs, s);
|
||||||
|
Loading…
Reference in New Issue
Block a user