You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
This commit is contained in:
@@ -36,7 +36,6 @@
|
||||
static const int z_range = VS::CANVAS_ITEM_Z_MAX - VS::CANVAS_ITEM_Z_MIN + 1;
|
||||
|
||||
void VisualServerCanvas::_render_canvas_item_tree(Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights) {
|
||||
|
||||
memset(z_list, 0, z_range * sizeof(RasterizerCanvas::Item *));
|
||||
memset(z_last_list, 0, z_range * sizeof(RasterizerCanvas::Item *));
|
||||
|
||||
@@ -85,14 +84,12 @@ void _mark_ysort_dirty(VisualServerCanvas::Item *ysort_owner, RID_Owner<VisualSe
|
||||
}
|
||||
|
||||
void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, int p_z, RasterizerCanvas::Item **z_list, RasterizerCanvas::Item **z_last_list, Item *p_canvas_clip, Item *p_material_owner) {
|
||||
|
||||
Item *ci = p_canvas_item;
|
||||
|
||||
if (!ci->visible)
|
||||
return;
|
||||
|
||||
if (ci->children_order_dirty) {
|
||||
|
||||
ci->child_items.sort_custom<ItemIndexSort>();
|
||||
ci->children_order_dirty = false;
|
||||
}
|
||||
@@ -134,7 +131,6 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor
|
||||
}
|
||||
|
||||
if (ci->sort_y) {
|
||||
|
||||
if (ci->ysort_children_count == -1) {
|
||||
ci->ysort_children_count = 0;
|
||||
_collect_ysort_children(ci, Transform2D(), p_material_owner, Color(1, 1, 1, 1), NULL, ci->ysort_children_count);
|
||||
@@ -156,7 +152,6 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor
|
||||
p_z = ci->z_index;
|
||||
|
||||
for (int i = 0; i < child_item_count; i++) {
|
||||
|
||||
if (!child_items[i]->behind || (ci->sort_y && child_items[i]->sort_y))
|
||||
continue;
|
||||
if (ci->sort_y) {
|
||||
@@ -167,7 +162,6 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor
|
||||
}
|
||||
|
||||
if (ci->copy_back_buffer) {
|
||||
|
||||
ci->copy_back_buffer->screen_rect = xform.xform(ci->copy_back_buffer->rect).clip(p_clip_rect);
|
||||
}
|
||||
|
||||
@@ -198,7 +192,6 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor
|
||||
}
|
||||
|
||||
for (int i = 0; i < child_item_count; i++) {
|
||||
|
||||
if (child_items[i]->behind || (ci->sort_y && child_items[i]->sort_y))
|
||||
continue;
|
||||
if (ci->sort_y) {
|
||||
@@ -210,14 +203,11 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor
|
||||
}
|
||||
|
||||
void VisualServerCanvas::_light_mask_canvas_items(int p_z, RasterizerCanvas::Item *p_canvas_item, RasterizerCanvas::Light *p_masked_lights, int p_canvas_layer_id) {
|
||||
|
||||
RasterizerCanvas::Item *ci = p_canvas_item;
|
||||
|
||||
while (ci) {
|
||||
|
||||
RasterizerCanvas::Light *light = p_masked_lights;
|
||||
while (light) {
|
||||
|
||||
if ((p_canvas_layer_id >= light->layer_min) && (p_canvas_layer_id <= light->layer_max) && (ci->light_mask & light->item_mask) && (p_z >= light->z_min) && (p_z <= light->z_max) && (ci->global_rect_cache.intersects_transformed(light->xform_cache, light->rect_cache))) {
|
||||
ci->light_masked = true;
|
||||
}
|
||||
@@ -230,11 +220,9 @@ void VisualServerCanvas::_light_mask_canvas_items(int p_z, RasterizerCanvas::Ite
|
||||
}
|
||||
|
||||
void VisualServerCanvas::render_canvas(Canvas *p_canvas, const Transform2D &p_transform, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_masked_lights, const Rect2 &p_clip_rect, int p_canvas_layer_id) {
|
||||
|
||||
VSG::canvas_render->canvas_begin();
|
||||
|
||||
if (p_canvas->children_order_dirty) {
|
||||
|
||||
p_canvas->child_items.sort();
|
||||
p_canvas->children_order_dirty = false;
|
||||
}
|
||||
@@ -251,7 +239,6 @@ void VisualServerCanvas::render_canvas(Canvas *p_canvas, const Transform2D &p_tr
|
||||
}
|
||||
|
||||
if (!has_mirror) {
|
||||
|
||||
static const int z_range = VS::CANVAS_ITEM_Z_MAX - VS::CANVAS_ITEM_Z_MIN + 1;
|
||||
RasterizerCanvas::Item *z_list[z_range];
|
||||
RasterizerCanvas::Item *z_last_list[z_range];
|
||||
@@ -276,25 +263,20 @@ void VisualServerCanvas::render_canvas(Canvas *p_canvas, const Transform2D &p_tr
|
||||
}
|
||||
VSG::canvas_render->canvas_render_items_end();
|
||||
} else {
|
||||
|
||||
for (int i = 0; i < l; i++) {
|
||||
|
||||
const Canvas::ChildItem &ci2 = p_canvas->child_items[i];
|
||||
_render_canvas_item_tree(ci2.item, p_transform, p_clip_rect, p_canvas->modulate, p_lights);
|
||||
|
||||
//mirroring (useful for scrolling backgrounds)
|
||||
if (ci2.mirror.x != 0) {
|
||||
|
||||
Transform2D xform2 = p_transform * Transform2D(0, Vector2(ci2.mirror.x, 0));
|
||||
_render_canvas_item_tree(ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights);
|
||||
}
|
||||
if (ci2.mirror.y != 0) {
|
||||
|
||||
Transform2D xform2 = p_transform * Transform2D(0, Vector2(0, ci2.mirror.y));
|
||||
_render_canvas_item_tree(ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights);
|
||||
}
|
||||
if (ci2.mirror.y != 0 && ci2.mirror.x != 0) {
|
||||
|
||||
Transform2D xform2 = p_transform * Transform2D(0, ci2.mirror);
|
||||
_render_canvas_item_tree(ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights);
|
||||
}
|
||||
@@ -305,7 +287,6 @@ void VisualServerCanvas::render_canvas(Canvas *p_canvas, const Transform2D &p_tr
|
||||
}
|
||||
|
||||
RID VisualServerCanvas::canvas_create() {
|
||||
|
||||
Canvas *canvas = memnew(Canvas);
|
||||
ERR_FAIL_COND_V(!canvas, RID());
|
||||
RID rid = canvas_owner.make_rid(canvas);
|
||||
@@ -314,7 +295,6 @@ RID VisualServerCanvas::canvas_create() {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_set_item_mirroring(RID p_canvas, RID p_item, const Point2 &p_mirroring) {
|
||||
|
||||
Canvas *canvas = canvas_owner.getornull(p_canvas);
|
||||
ERR_FAIL_COND(!canvas);
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
@@ -325,7 +305,6 @@ void VisualServerCanvas::canvas_set_item_mirroring(RID p_canvas, RID p_item, con
|
||||
canvas->child_items.write[idx].mirror = p_mirroring;
|
||||
}
|
||||
void VisualServerCanvas::canvas_set_modulate(RID p_canvas, const Color &p_color) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(p_canvas);
|
||||
ERR_FAIL_COND(!canvas);
|
||||
canvas->modulate = p_color;
|
||||
@@ -336,7 +315,6 @@ void VisualServerCanvas::canvas_set_disable_scale(bool p_disable) {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_set_parent(RID p_canvas, RID p_parent, float p_scale) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(p_canvas);
|
||||
ERR_FAIL_COND(!canvas);
|
||||
|
||||
@@ -345,7 +323,6 @@ void VisualServerCanvas::canvas_set_parent(RID p_canvas, RID p_parent, float p_s
|
||||
}
|
||||
|
||||
RID VisualServerCanvas::canvas_item_create() {
|
||||
|
||||
Item *canvas_item = memnew(Item);
|
||||
ERR_FAIL_COND_V(!canvas_item, RID());
|
||||
|
||||
@@ -353,18 +330,14 @@ RID VisualServerCanvas::canvas_item_create() {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_parent(RID p_item, RID p_parent) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
if (canvas_item->parent.is_valid()) {
|
||||
|
||||
if (canvas_owner.owns(canvas_item->parent)) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(canvas_item->parent);
|
||||
canvas->erase_item(canvas_item);
|
||||
} else if (canvas_item_owner.owns(canvas_item->parent)) {
|
||||
|
||||
Item *item_owner = canvas_item_owner.get(canvas_item->parent);
|
||||
item_owner->child_items.erase(canvas_item);
|
||||
|
||||
@@ -378,14 +351,12 @@ void VisualServerCanvas::canvas_item_set_parent(RID p_item, RID p_parent) {
|
||||
|
||||
if (p_parent.is_valid()) {
|
||||
if (canvas_owner.owns(p_parent)) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(p_parent);
|
||||
Canvas::ChildItem ci;
|
||||
ci.item = canvas_item;
|
||||
canvas->child_items.push_back(ci);
|
||||
canvas->children_order_dirty = true;
|
||||
} else if (canvas_item_owner.owns(p_parent)) {
|
||||
|
||||
Item *item_owner = canvas_item_owner.get(p_parent);
|
||||
item_owner->child_items.push_back(canvas_item);
|
||||
item_owner->children_order_dirty = true;
|
||||
@@ -395,7 +366,6 @@ void VisualServerCanvas::canvas_item_set_parent(RID p_item, RID p_parent) {
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
ERR_FAIL_MSG("Invalid parent.");
|
||||
}
|
||||
}
|
||||
@@ -403,7 +373,6 @@ void VisualServerCanvas::canvas_item_set_parent(RID p_item, RID p_parent) {
|
||||
canvas_item->parent = p_parent;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_visible(RID p_item, bool p_visible) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -412,7 +381,6 @@ void VisualServerCanvas::canvas_item_set_visible(RID p_item, bool p_visible) {
|
||||
_mark_ysort_dirty(canvas_item, canvas_item_owner);
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_light_mask(RID p_item, int p_mask) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -420,28 +388,24 @@ void VisualServerCanvas::canvas_item_set_light_mask(RID p_item, int p_mask) {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_transform(RID p_item, const Transform2D &p_transform) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
canvas_item->xform = p_transform;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_clip(RID p_item, bool p_clip) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
canvas_item->clip = p_clip;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_distance_field_mode(RID p_item, bool p_enable) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
canvas_item->distance_field = p_enable;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_custom_rect(RID p_item, bool p_custom_rect, const Rect2 &p_rect) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -449,14 +413,12 @@ void VisualServerCanvas::canvas_item_set_custom_rect(RID p_item, bool p_custom_r
|
||||
canvas_item->rect = p_rect;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_modulate(RID p_item, const Color &p_color) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
canvas_item->modulate = p_color;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_self_modulate(RID p_item, const Color &p_color) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -464,7 +426,6 @@ void VisualServerCanvas::canvas_item_set_self_modulate(RID p_item, const Color &
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_draw_behind_parent(RID p_item, bool p_enable) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -472,7 +433,6 @@ void VisualServerCanvas::canvas_item_set_draw_behind_parent(RID p_item, bool p_e
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_update_when_visible(RID p_item, bool p_update) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -480,7 +440,6 @@ void VisualServerCanvas::canvas_item_set_update_when_visible(RID p_item, bool p_
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_line(RID p_item, const Point2 &p_from, const Point2 &p_to, const Color &p_color, float p_width, bool p_antialiased) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -497,7 +456,6 @@ void VisualServerCanvas::canvas_item_add_line(RID p_item, const Point2 &p_from,
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point2> &p_points, const Vector<Color> &p_colors, float p_width, bool p_antialiased) {
|
||||
|
||||
ERR_FAIL_COND(p_points.size() < 2);
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
@@ -543,7 +501,6 @@ void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point
|
||||
}
|
||||
|
||||
for (int i = 0; i < p_points.size(); i++) {
|
||||
|
||||
Vector2 t;
|
||||
if (i == p_points.size() - 1) {
|
||||
t = prev_t;
|
||||
@@ -569,7 +526,6 @@ void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point
|
||||
pline->triangles.write[i * 2 + 1] = p_points[i] - tangent;
|
||||
|
||||
if (pline->triangle_colors.size() > 1) {
|
||||
|
||||
pline->triangle_colors.write[i * 2 + 0] = p_colors[i];
|
||||
pline->triangle_colors.write[i * 2 + 1] = p_colors[i];
|
||||
}
|
||||
@@ -582,7 +538,6 @@ void VisualServerCanvas::canvas_item_add_polyline(RID p_item, const Vector<Point
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_multiline(RID p_item, const Vector<Point2> &p_points, const Vector<Color> &p_colors, float p_width, bool p_antialiased) {
|
||||
|
||||
ERR_FAIL_COND(p_points.size() < 2);
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
@@ -606,7 +561,6 @@ void VisualServerCanvas::canvas_item_add_multiline(RID p_item, const Vector<Poin
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_rect(RID p_item, const Rect2 &p_rect, const Color &p_color) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -620,7 +574,6 @@ void VisualServerCanvas::canvas_item_add_rect(RID p_item, const Rect2 &p_rect, c
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_circle(RID p_item, const Point2 &p_pos, float p_radius, const Color &p_color) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -634,7 +587,6 @@ void VisualServerCanvas::canvas_item_add_circle(RID p_item, const Point2 &p_pos,
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_texture_rect(RID p_item, const Rect2 &p_rect, RID p_texture, bool p_tile, const Color &p_modulate, bool p_transpose, RID p_normal_map) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -650,12 +602,10 @@ void VisualServerCanvas::canvas_item_add_texture_rect(RID p_item, const Rect2 &p
|
||||
}
|
||||
|
||||
if (p_rect.size.x < 0) {
|
||||
|
||||
rect->flags |= RasterizerCanvas::CANVAS_RECT_FLIP_H;
|
||||
rect->rect.size.x = -rect->rect.size.x;
|
||||
}
|
||||
if (p_rect.size.y < 0) {
|
||||
|
||||
rect->flags |= RasterizerCanvas::CANVAS_RECT_FLIP_V;
|
||||
rect->rect.size.y = -rect->rect.size.y;
|
||||
}
|
||||
@@ -670,7 +620,6 @@ void VisualServerCanvas::canvas_item_add_texture_rect(RID p_item, const Rect2 &p
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_texture_rect_region(RID p_item, const Rect2 &p_rect, RID p_texture, const Rect2 &p_src_rect, const Color &p_modulate, bool p_transpose, RID p_normal_map, bool p_clip_uv) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -684,22 +633,18 @@ void VisualServerCanvas::canvas_item_add_texture_rect_region(RID p_item, const R
|
||||
rect->flags = RasterizerCanvas::CANVAS_RECT_REGION;
|
||||
|
||||
if (p_rect.size.x < 0) {
|
||||
|
||||
rect->flags |= RasterizerCanvas::CANVAS_RECT_FLIP_H;
|
||||
rect->rect.size.x = -rect->rect.size.x;
|
||||
}
|
||||
if (p_src_rect.size.x < 0) {
|
||||
|
||||
rect->flags ^= RasterizerCanvas::CANVAS_RECT_FLIP_H;
|
||||
rect->source.size.x = -rect->source.size.x;
|
||||
}
|
||||
if (p_rect.size.y < 0) {
|
||||
|
||||
rect->flags |= RasterizerCanvas::CANVAS_RECT_FLIP_V;
|
||||
rect->rect.size.y = -rect->rect.size.y;
|
||||
}
|
||||
if (p_src_rect.size.y < 0) {
|
||||
|
||||
rect->flags ^= RasterizerCanvas::CANVAS_RECT_FLIP_V;
|
||||
rect->source.size.y = -rect->source.size.y;
|
||||
}
|
||||
@@ -719,7 +664,6 @@ void VisualServerCanvas::canvas_item_add_texture_rect_region(RID p_item, const R
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_nine_patch(RID p_item, const Rect2 &p_rect, const Rect2 &p_source, RID p_texture, const Vector2 &p_topleft, const Vector2 &p_bottomright, VS::NinePatchAxisMode p_x_axis_mode, VS::NinePatchAxisMode p_y_axis_mode, bool p_draw_center, const Color &p_modulate, RID p_normal_map) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -742,7 +686,6 @@ void VisualServerCanvas::canvas_item_add_nine_patch(RID p_item, const Rect2 &p_r
|
||||
canvas_item->commands.push_back(style);
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_add_primitive(RID p_item, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, RID p_texture, float p_width, RID p_normal_map) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -760,7 +703,6 @@ void VisualServerCanvas::canvas_item_add_primitive(RID p_item, const Vector<Poin
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_polygon(RID p_item, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, RID p_texture, RID p_normal_map, bool p_antialiased) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
#ifdef DEBUG_ENABLED
|
||||
@@ -791,7 +733,6 @@ void VisualServerCanvas::canvas_item_add_polygon(RID p_item, const Vector<Point2
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_triangle_array(RID p_item, const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, const Vector<int> &p_bones, const Vector<float> &p_weights, RID p_texture, int p_count, RID p_normal_map, bool p_antialiased, bool p_antialiasing_use_indices) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -807,12 +748,10 @@ void VisualServerCanvas::canvas_item_add_triangle_array(RID p_item, const Vector
|
||||
int count = p_count * 3;
|
||||
|
||||
if (indices.empty()) {
|
||||
|
||||
ERR_FAIL_COND(vertex_count % 3 != 0);
|
||||
if (p_count == -1)
|
||||
count = vertex_count;
|
||||
} else {
|
||||
|
||||
ERR_FAIL_COND(indices.size() % 3 != 0);
|
||||
if (p_count == -1)
|
||||
count = indices.size();
|
||||
@@ -837,7 +776,6 @@ void VisualServerCanvas::canvas_item_add_triangle_array(RID p_item, const Vector
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_set_transform(RID p_item, const Transform2D &p_transform) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -849,7 +787,6 @@ void VisualServerCanvas::canvas_item_add_set_transform(RID p_item, const Transfo
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_mesh(RID p_item, const RID &p_mesh, const Transform2D &p_transform, const Color &p_modulate, RID p_texture, RID p_normal_map) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -864,7 +801,6 @@ void VisualServerCanvas::canvas_item_add_mesh(RID p_item, const RID &p_mesh, con
|
||||
canvas_item->commands.push_back(m);
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_add_particles(RID p_item, RID p_particles, RID p_texture, RID p_normal) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -882,7 +818,6 @@ void VisualServerCanvas::canvas_item_add_particles(RID p_item, RID p_particles,
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_multimesh(RID p_item, RID p_mesh, RID p_texture, RID p_normal_map) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -897,7 +832,6 @@ void VisualServerCanvas::canvas_item_add_multimesh(RID p_item, RID p_mesh, RID p
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_add_clip_ignore(RID p_item, bool p_ignore) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -908,7 +842,6 @@ void VisualServerCanvas::canvas_item_add_clip_ignore(RID p_item, bool p_ignore)
|
||||
canvas_item->commands.push_back(ci);
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_sort_children_by_y(RID p_item, bool p_enable) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -917,7 +850,6 @@ void VisualServerCanvas::canvas_item_set_sort_children_by_y(RID p_item, bool p_e
|
||||
_mark_ysort_dirty(canvas_item, canvas_item_owner);
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_z_index(RID p_item, int p_z) {
|
||||
|
||||
ERR_FAIL_COND(p_z < VS::CANVAS_ITEM_Z_MIN || p_z > VS::CANVAS_ITEM_Z_MAX);
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
@@ -926,7 +858,6 @@ void VisualServerCanvas::canvas_item_set_z_index(RID p_item, int p_z) {
|
||||
canvas_item->z_index = p_z;
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_z_as_relative_to_parent(RID p_item, bool p_enable) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -934,7 +865,6 @@ void VisualServerCanvas::canvas_item_set_z_as_relative_to_parent(RID p_item, boo
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_attach_skeleton(RID p_item, RID p_skeleton) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -942,7 +872,6 @@ void VisualServerCanvas::canvas_item_attach_skeleton(RID p_item, RID p_skeleton)
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_copy_to_backbuffer(RID p_item, bool p_enable, const Rect2 &p_rect) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
if (bool(canvas_item->copy_back_buffer != NULL) != p_enable) {
|
||||
@@ -961,14 +890,12 @@ void VisualServerCanvas::canvas_item_set_copy_to_backbuffer(RID p_item, bool p_e
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_clear(RID p_item) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
canvas_item->clear();
|
||||
}
|
||||
void VisualServerCanvas::canvas_item_set_draw_index(RID p_item, int p_index) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.getornull(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -988,7 +915,6 @@ void VisualServerCanvas::canvas_item_set_draw_index(RID p_item, int p_index) {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_material(RID p_item, RID p_material) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.get(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -996,7 +922,6 @@ void VisualServerCanvas::canvas_item_set_material(RID p_item, RID p_material) {
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_item_set_use_parent_material(RID p_item, bool p_enable) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.get(p_item);
|
||||
ERR_FAIL_COND(!canvas_item);
|
||||
|
||||
@@ -1004,18 +929,15 @@ void VisualServerCanvas::canvas_item_set_use_parent_material(RID p_item, bool p_
|
||||
}
|
||||
|
||||
RID VisualServerCanvas::canvas_light_create() {
|
||||
|
||||
RasterizerCanvas::Light *clight = memnew(RasterizerCanvas::Light);
|
||||
clight->light_internal = VSG::canvas_render->light_internal_create();
|
||||
return canvas_light_owner.make_rid(clight);
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_attach_to_canvas(RID p_light, RID p_canvas) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
if (clight->canvas.is_valid()) {
|
||||
|
||||
Canvas *canvas = canvas_owner.getornull(clight->canvas);
|
||||
canvas->lights.erase(clight);
|
||||
}
|
||||
@@ -1026,70 +948,60 @@ void VisualServerCanvas::canvas_light_attach_to_canvas(RID p_light, RID p_canvas
|
||||
clight->canvas = p_canvas;
|
||||
|
||||
if (clight->canvas.is_valid()) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(clight->canvas);
|
||||
canvas->lights.insert(clight);
|
||||
}
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_light_set_enabled(RID p_light, bool p_enabled) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->enabled = p_enabled;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_scale(RID p_light, float p_scale) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->scale = p_scale;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_transform(RID p_light, const Transform2D &p_transform) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->xform = p_transform;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_texture(RID p_light, RID p_texture) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->texture = p_texture;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_texture_offset(RID p_light, const Vector2 &p_offset) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->texture_offset = p_offset;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_color(RID p_light, const Color &p_color) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->color = p_color;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_height(RID p_light, float p_height) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->height = p_height;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_energy(RID p_light, float p_energy) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->energy = p_energy;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_z_range(RID p_light, int p_min_z, int p_max_z) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
@@ -1097,7 +1009,6 @@ void VisualServerCanvas::canvas_light_set_z_range(RID p_light, int p_min_z, int
|
||||
clight->z_max = p_max_z;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_layer_range(RID p_light, int p_min_layer, int p_max_layer) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
@@ -1105,21 +1016,18 @@ void VisualServerCanvas::canvas_light_set_layer_range(RID p_light, int p_min_lay
|
||||
clight->layer_min = p_min_layer;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_item_cull_mask(RID p_light, int p_mask) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->item_mask = p_mask;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_item_shadow_cull_mask(RID p_light, int p_mask) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->item_shadow_mask = p_mask;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_mode(RID p_light, VS::CanvasLightMode p_mode) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
@@ -1127,7 +1035,6 @@ void VisualServerCanvas::canvas_light_set_mode(RID p_light, VS::CanvasLightMode
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_light_set_shadow_enabled(RID p_light, bool p_enabled) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
@@ -1141,7 +1048,6 @@ void VisualServerCanvas::canvas_light_set_shadow_enabled(RID p_light, bool p_ena
|
||||
}
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_shadow_buffer_size(RID p_light, int p_size) {
|
||||
|
||||
ERR_FAIL_COND(p_size < 32 || p_size > 16384);
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
@@ -1160,7 +1066,6 @@ void VisualServerCanvas::canvas_light_set_shadow_buffer_size(RID p_light, int p_
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_light_set_shadow_gradient_length(RID p_light, float p_length) {
|
||||
|
||||
ERR_FAIL_COND(p_length < 0);
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
@@ -1169,14 +1074,12 @@ void VisualServerCanvas::canvas_light_set_shadow_gradient_length(RID p_light, fl
|
||||
clight->shadow_gradient_length = p_length;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_shadow_filter(RID p_light, VS::CanvasLightShadowFilter p_filter) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
clight->shadow_filter = p_filter;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_set_shadow_color(RID p_light, const Color &p_color) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
|
||||
@@ -1184,25 +1087,21 @@ void VisualServerCanvas::canvas_light_set_shadow_color(RID p_light, const Color
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_light_set_shadow_smooth(RID p_light, float p_smooth) {
|
||||
|
||||
RasterizerCanvas::Light *clight = canvas_light_owner.get(p_light);
|
||||
ERR_FAIL_COND(!clight);
|
||||
clight->shadow_smooth = p_smooth;
|
||||
}
|
||||
|
||||
RID VisualServerCanvas::canvas_light_occluder_create() {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = memnew(RasterizerCanvas::LightOccluderInstance);
|
||||
|
||||
return canvas_light_occluder_owner.make_rid(occluder);
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_occluder_attach_to_canvas(RID p_occluder, RID p_canvas) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_occluder);
|
||||
ERR_FAIL_COND(!occluder);
|
||||
|
||||
if (occluder->canvas.is_valid()) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(occluder->canvas);
|
||||
canvas->occluders.erase(occluder);
|
||||
}
|
||||
@@ -1213,20 +1112,17 @@ void VisualServerCanvas::canvas_light_occluder_attach_to_canvas(RID p_occluder,
|
||||
occluder->canvas = p_canvas;
|
||||
|
||||
if (occluder->canvas.is_valid()) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(occluder->canvas);
|
||||
canvas->occluders.insert(occluder);
|
||||
}
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_occluder_set_enabled(RID p_occluder, bool p_enabled) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_occluder);
|
||||
ERR_FAIL_COND(!occluder);
|
||||
|
||||
occluder->enabled = p_enabled;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_occluder_set_polygon(RID p_occluder, RID p_polygon) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_occluder);
|
||||
ERR_FAIL_COND(!occluder);
|
||||
|
||||
@@ -1254,14 +1150,12 @@ void VisualServerCanvas::canvas_light_occluder_set_polygon(RID p_occluder, RID p
|
||||
}
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_occluder_set_transform(RID p_occluder, const Transform2D &p_xform) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_occluder);
|
||||
ERR_FAIL_COND(!occluder);
|
||||
|
||||
occluder->xform = p_xform;
|
||||
}
|
||||
void VisualServerCanvas::canvas_light_occluder_set_light_mask(RID p_occluder, int p_mask) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_occluder);
|
||||
ERR_FAIL_COND(!occluder);
|
||||
|
||||
@@ -1269,13 +1163,11 @@ void VisualServerCanvas::canvas_light_occluder_set_light_mask(RID p_occluder, in
|
||||
}
|
||||
|
||||
RID VisualServerCanvas::canvas_occluder_polygon_create() {
|
||||
|
||||
LightOccluderPolygon *occluder_poly = memnew(LightOccluderPolygon);
|
||||
occluder_poly->occluder = VSG::storage->canvas_light_occluder_create();
|
||||
return canvas_light_occluder_polygon_owner.make_rid(occluder_poly);
|
||||
}
|
||||
void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygon, const PoolVector<Vector2> &p_shape, bool p_closed) {
|
||||
|
||||
if (p_shape.size() < 3) {
|
||||
canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon, p_shape);
|
||||
return;
|
||||
@@ -1294,7 +1186,6 @@ void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygo
|
||||
max--;
|
||||
}
|
||||
for (int i = 0; i < max; i++) {
|
||||
|
||||
Vector2 a = r[i];
|
||||
Vector2 b = r[(i + 1) % (lc / 2)];
|
||||
w[i * 2 + 0] = a;
|
||||
@@ -1305,7 +1196,6 @@ void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygo
|
||||
canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon, lines);
|
||||
}
|
||||
void VisualServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon, const PoolVector<Vector2> &p_shape) {
|
||||
|
||||
LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.get(p_occluder_polygon);
|
||||
ERR_FAIL_COND(!occluder_poly);
|
||||
ERR_FAIL_COND(p_shape.size() & 1);
|
||||
@@ -1329,7 +1219,6 @@ void VisualServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occlud
|
||||
}
|
||||
|
||||
void VisualServerCanvas::canvas_occluder_polygon_set_cull_mode(RID p_occluder_polygon, VS::CanvasOccluderPolygonCullMode p_mode) {
|
||||
|
||||
LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.get(p_occluder_polygon);
|
||||
ERR_FAIL_COND(!occluder_poly);
|
||||
occluder_poly->cull_mode = p_mode;
|
||||
@@ -1339,14 +1228,11 @@ void VisualServerCanvas::canvas_occluder_polygon_set_cull_mode(RID p_occluder_po
|
||||
}
|
||||
|
||||
bool VisualServerCanvas::free(RID p_rid) {
|
||||
|
||||
if (canvas_owner.owns(p_rid)) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(p_rid);
|
||||
ERR_FAIL_COND_V(!canvas, false);
|
||||
|
||||
while (canvas->viewports.size()) {
|
||||
|
||||
VisualServerViewport::Viewport *vp = VSG::viewport->viewport_owner.get(canvas->viewports.front()->get());
|
||||
ERR_FAIL_COND_V(!vp, true);
|
||||
|
||||
@@ -1358,17 +1244,14 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
}
|
||||
|
||||
for (int i = 0; i < canvas->child_items.size(); i++) {
|
||||
|
||||
canvas->child_items[i].item->parent = RID();
|
||||
}
|
||||
|
||||
for (Set<RasterizerCanvas::Light *>::Element *E = canvas->lights.front(); E; E = E->next()) {
|
||||
|
||||
E->get()->canvas = RID();
|
||||
}
|
||||
|
||||
for (Set<RasterizerCanvas::LightOccluderInstance *>::Element *E = canvas->occluders.front(); E; E = E->next()) {
|
||||
|
||||
E->get()->canvas = RID();
|
||||
}
|
||||
|
||||
@@ -1377,18 +1260,14 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
memdelete(canvas);
|
||||
|
||||
} else if (canvas_item_owner.owns(p_rid)) {
|
||||
|
||||
Item *canvas_item = canvas_item_owner.get(p_rid);
|
||||
ERR_FAIL_COND_V(!canvas_item, true);
|
||||
|
||||
if (canvas_item->parent.is_valid()) {
|
||||
|
||||
if (canvas_owner.owns(canvas_item->parent)) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(canvas_item->parent);
|
||||
canvas->erase_item(canvas_item);
|
||||
} else if (canvas_item_owner.owns(canvas_item->parent)) {
|
||||
|
||||
Item *item_owner = canvas_item_owner.get(canvas_item->parent);
|
||||
item_owner->child_items.erase(canvas_item);
|
||||
|
||||
@@ -1399,7 +1278,6 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
}
|
||||
|
||||
for (int i = 0; i < canvas_item->child_items.size(); i++) {
|
||||
|
||||
canvas_item->child_items[i]->parent = RID();
|
||||
}
|
||||
|
||||
@@ -1414,7 +1292,6 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
memdelete(canvas_item);
|
||||
|
||||
} else if (canvas_light_owner.owns(p_rid)) {
|
||||
|
||||
RasterizerCanvas::Light *canvas_light = canvas_light_owner.get(p_rid);
|
||||
ERR_FAIL_COND_V(!canvas_light, true);
|
||||
|
||||
@@ -1433,12 +1310,10 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
memdelete(canvas_light);
|
||||
|
||||
} else if (canvas_light_occluder_owner.owns(p_rid)) {
|
||||
|
||||
RasterizerCanvas::LightOccluderInstance *occluder = canvas_light_occluder_owner.get(p_rid);
|
||||
ERR_FAIL_COND_V(!occluder, true);
|
||||
|
||||
if (occluder->polygon.is_valid()) {
|
||||
|
||||
LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.get(occluder->polygon);
|
||||
if (occluder_poly) {
|
||||
occluder_poly->owners.erase(occluder);
|
||||
@@ -1446,7 +1321,6 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
}
|
||||
|
||||
if (occluder->canvas.is_valid() && canvas_owner.owns(occluder->canvas)) {
|
||||
|
||||
Canvas *canvas = canvas_owner.get(occluder->canvas);
|
||||
canvas->occluders.erase(occluder);
|
||||
}
|
||||
@@ -1455,13 +1329,11 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
memdelete(occluder);
|
||||
|
||||
} else if (canvas_light_occluder_polygon_owner.owns(p_rid)) {
|
||||
|
||||
LightOccluderPolygon *occluder_poly = canvas_light_occluder_polygon_owner.get(p_rid);
|
||||
ERR_FAIL_COND_V(!occluder_poly, true);
|
||||
VSG::storage->free(occluder_poly->occluder);
|
||||
|
||||
while (occluder_poly->owners.size()) {
|
||||
|
||||
occluder_poly->owners.front()->get()->polygon = RID();
|
||||
occluder_poly->owners.erase(occluder_poly->owners.front());
|
||||
}
|
||||
@@ -1476,7 +1348,6 @@ bool VisualServerCanvas::free(RID p_rid) {
|
||||
}
|
||||
|
||||
VisualServerCanvas::VisualServerCanvas() {
|
||||
|
||||
z_list = (RasterizerCanvas::Item **)memalloc(z_range * sizeof(RasterizerCanvas::Item *));
|
||||
z_last_list = (RasterizerCanvas::Item **)memalloc(z_range * sizeof(RasterizerCanvas::Item *));
|
||||
|
||||
@@ -1484,7 +1355,6 @@ VisualServerCanvas::VisualServerCanvas() {
|
||||
}
|
||||
|
||||
VisualServerCanvas::~VisualServerCanvas() {
|
||||
|
||||
memfree(z_list);
|
||||
memfree(z_last_list);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user