|
@@ -301,6 +301,7 @@ void TileMapLayer::_rendering_update(bool p_force_cleanup) {
|
|
rs->canvas_item_set_light_mask(ci, get_light_mask());
|
|
rs->canvas_item_set_light_mask(ci, get_light_mask());
|
|
rs->canvas_item_set_z_as_relative_to_parent(ci, true);
|
|
rs->canvas_item_set_z_as_relative_to_parent(ci, true);
|
|
rs->canvas_item_set_z_index(ci, tile_z_index);
|
|
rs->canvas_item_set_z_index(ci, tile_z_index);
|
|
|
|
+ rs->canvas_item_set_self_modulate(ci, get_self_modulate());
|
|
|
|
|
|
rs->canvas_item_set_default_texture_filter(ci, RS::CanvasItemTextureFilter(get_texture_filter_in_tree()));
|
|
rs->canvas_item_set_default_texture_filter(ci, RS::CanvasItemTextureFilter(get_texture_filter_in_tree()));
|
|
rs->canvas_item_set_default_texture_repeat(ci, RS::CanvasItemTextureRepeat(get_texture_repeat_in_tree()));
|
|
rs->canvas_item_set_default_texture_repeat(ci, RS::CanvasItemTextureRepeat(get_texture_repeat_in_tree()));
|
|
@@ -328,7 +329,7 @@ void TileMapLayer::_rendering_update(bool p_force_cleanup) {
|
|
}
|
|
}
|
|
|
|
|
|
// Drawing the tile in the canvas item.
|
|
// Drawing the tile in the canvas item.
|
|
- draw_tile(ci, local_tile_pos - rendering_quadrant->canvas_items_position, tile_set, cell_data.cell.source_id, cell_data.cell.get_atlas_coords(), cell_data.cell.alternative_tile, -1, get_self_modulate(), tile_data, random_animation_offset);
|
|
|
|
|
|
+ draw_tile(ci, local_tile_pos - rendering_quadrant->canvas_items_position, tile_set, cell_data.cell.source_id, cell_data.cell.get_atlas_coords(), cell_data.cell.alternative_tile, -1, tile_data, random_animation_offset);
|
|
}
|
|
}
|
|
|
|
|
|
// Reset physics interpolation for any recreated canvas items.
|
|
// Reset physics interpolation for any recreated canvas items.
|
|
@@ -2458,7 +2459,7 @@ TileMapCell TileMapLayer::get_cell(const Vector2i &p_coords) const {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-void TileMapLayer::draw_tile(RID p_canvas_item, const Vector2 &p_position, const Ref<TileSet> p_tile_set, int p_atlas_source_id, const Vector2i &p_atlas_coords, int p_alternative_tile, int p_frame, Color p_modulation, const TileData *p_tile_data_override, real_t p_normalized_animation_offset) {
|
|
|
|
|
|
+void TileMapLayer::draw_tile(RID p_canvas_item, const Vector2 &p_position, const Ref<TileSet> p_tile_set, int p_atlas_source_id, const Vector2i &p_atlas_coords, int p_alternative_tile, int p_frame, const TileData *p_tile_data_override, real_t p_normalized_animation_offset) {
|
|
ERR_FAIL_COND(p_tile_set.is_null());
|
|
ERR_FAIL_COND(p_tile_set.is_null());
|
|
ERR_FAIL_COND(!p_tile_set->has_source(p_atlas_source_id));
|
|
ERR_FAIL_COND(!p_tile_set->has_source(p_atlas_source_id));
|
|
ERR_FAIL_COND(!p_tile_set->get_source(p_atlas_source_id)->has_tile(p_atlas_coords));
|
|
ERR_FAIL_COND(!p_tile_set->get_source(p_atlas_source_id)->has_tile(p_atlas_coords));
|
|
@@ -2487,7 +2488,7 @@ void TileMapLayer::draw_tile(RID p_canvas_item, const Vector2 &p_position, const
|
|
const TileData *tile_data = p_tile_data_override ? p_tile_data_override : atlas_source->get_tile_data(p_atlas_coords, p_alternative_tile);
|
|
const TileData *tile_data = p_tile_data_override ? p_tile_data_override : atlas_source->get_tile_data(p_atlas_coords, p_alternative_tile);
|
|
|
|
|
|
// Get the tile modulation.
|
|
// Get the tile modulation.
|
|
- Color modulate = tile_data->get_modulate() * p_modulation;
|
|
|
|
|
|
+ Color modulate = tile_data->get_modulate();
|
|
|
|
|
|
// Compute the offset.
|
|
// Compute the offset.
|
|
Vector2 tile_offset = tile_data->get_texture_origin();
|
|
Vector2 tile_offset = tile_data->get_texture_origin();
|