From 23304079b6f4c9e825800ab6941df6ef3946f41f Mon Sep 17 00:00:00 2001 From: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 3 Dec 2024 00:31:34 +0200 Subject: [PATCH] Support mirroring when using draw tiles mode --- src/Tools/BaseDraw.gd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Tools/BaseDraw.gd b/src/Tools/BaseDraw.gd index a54b05c35..730448963 100644 --- a/src/Tools/BaseDraw.gd +++ b/src/Tools/BaseDraw.gd @@ -322,12 +322,19 @@ func draw_end(pos: Vector2i) -> void: func draw_tile(pos: Vector2i) -> void: - var tile_position := get_cell_position(pos) var tile_index := 0 if _is_eraser else TileSetPanel.selected_tile_index + var mirrored_positions := Tools.get_mirrored_positions(pos, Global.current_project) + var tile_positions := PackedInt32Array() + tile_positions.resize(mirrored_positions.size() + 1) + tile_positions[0] = get_cell_position(pos) + for i in mirrored_positions.size(): + var mirrored_position := mirrored_positions[i] + tile_positions[i + 1] = get_cell_position(mirrored_position) for cel in _get_selected_draw_cels(): if cel is not CelTileMap: return - (cel as CelTileMap).set_index(tile_position, tile_index) + for tile_position in tile_positions: + (cel as CelTileMap).set_index(tile_position, tile_index) func _prepare_tool() -> void: