Allow uncommon bitmask for autotile - Fixes #16511
Removes some conditions that were there to create compatibility from 2X2 to 3X3. Further dissociates 2X2 and 3X3 but adds more flexibility to 3X3.
This commit is contained in:
parent
af9a6202eb
commit
ab0220affb
1 changed files with 4 additions and 4 deletions
|
@ -845,13 +845,13 @@ void TileMap::update_cell_bitmask(int p_x, int p_y) {
|
|||
mask |= TileSet::BIND_BOTTOMRIGHT;
|
||||
}
|
||||
} else if (tile_set->autotile_get_bitmask_mode(id) == TileSet::BITMASK_3X3) {
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y - 1)) && tile_set->is_tile_bound(id, get_cell(p_x, p_y - 1)) && tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y))) {
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y - 1))) {
|
||||
mask |= TileSet::BIND_TOPLEFT;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x, p_y - 1))) {
|
||||
mask |= TileSet::BIND_TOP;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y - 1)) && tile_set->is_tile_bound(id, get_cell(p_x, p_y - 1)) && tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y))) {
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y - 1))) {
|
||||
mask |= TileSet::BIND_TOPRIGHT;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y))) {
|
||||
|
@ -861,13 +861,13 @@ void TileMap::update_cell_bitmask(int p_x, int p_y) {
|
|||
if (tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y))) {
|
||||
mask |= TileSet::BIND_RIGHT;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y + 1)) && tile_set->is_tile_bound(id, get_cell(p_x, p_y + 1)) && tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y))) {
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x - 1, p_y + 1))) {
|
||||
mask |= TileSet::BIND_BOTTOMLEFT;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x, p_y + 1))) {
|
||||
mask |= TileSet::BIND_BOTTOM;
|
||||
}
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y + 1)) && tile_set->is_tile_bound(id, get_cell(p_x, p_y + 1)) && tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y))) {
|
||||
if (tile_set->is_tile_bound(id, get_cell(p_x + 1, p_y + 1))) {
|
||||
mask |= TileSet::BIND_BOTTOMRIGHT;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue