|
@@ -139,6 +139,15 @@ void TileMapEditor::_menu_option(int p_option) {
|
|
|
|
|
|
canvas_item_editor->update();
|
|
|
} break;
|
|
|
+ case OPTION_FIX_INVALID: {
|
|
|
+
|
|
|
+ undo_redo->create_action(TTR("Fix Invalid Tiles"));
|
|
|
+ undo_redo->add_undo_method(node, "set", "tile_data", node->get("tile_data"));
|
|
|
+ node->fix_invalid_tiles();
|
|
|
+ undo_redo->add_do_method(node, "set", "tile_data", node->get("tile_data"));
|
|
|
+ undo_redo->commit_action();
|
|
|
+
|
|
|
+ } break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1575,6 +1584,8 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
|
|
|
p->add_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD + KEY_B), OPTION_SELECT);
|
|
|
p->add_shortcut(ED_SHORTCUT("tile_map_editor/duplicate_selection", TTR("Duplicate Selection"), KEY_MASK_CMD + KEY_D), OPTION_DUPLICATE);
|
|
|
p->add_shortcut(ED_GET_SHORTCUT("tile_map_editor/erase_selection"), OPTION_ERASE_SELECTION);
|
|
|
+ p->add_separator();
|
|
|
+ p->add_item(TTR("Fix Invalid Tiles"), OPTION_FIX_INVALID);
|
|
|
|
|
|
p->connect("id_pressed", this, "_menu_option");
|
|
|
|