Merge pull request #38674 from madmiraal/fix-physicsw-warning-3.2
[3.2] Fix 'physicsw' may be used uninitialized warning in csg_shape.cpp
This commit is contained in:
commit
44c1c5840c
|
@ -340,20 +340,12 @@ void CSGShape::_update_shape() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//fill arrays
|
// Update collision faces.
|
||||||
PoolVector<Vector3> physics_faces;
|
|
||||||
bool fill_physics_faces = false;
|
|
||||||
if (root_collision_shape.is_valid()) {
|
if (root_collision_shape.is_valid()) {
|
||||||
|
|
||||||
|
PoolVector<Vector3> physics_faces;
|
||||||
physics_faces.resize(n->faces.size() * 3);
|
physics_faces.resize(n->faces.size() * 3);
|
||||||
fill_physics_faces = true;
|
PoolVector<Vector3>::Write physicsw = physics_faces.write();
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
PoolVector<Vector3>::Write physicsw;
|
|
||||||
|
|
||||||
if (fill_physics_faces) {
|
|
||||||
physicsw = physics_faces.write();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < n->faces.size(); i++) {
|
for (int i = 0; i < n->faces.size(); i++) {
|
||||||
|
|
||||||
|
@ -363,12 +355,24 @@ void CSGShape::_update_shape() {
|
||||||
SWAP(order[1], order[2]);
|
SWAP(order[1], order[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fill_physics_faces) {
|
|
||||||
physicsw[i * 3 + 0] = n->faces[i].vertices[order[0]];
|
physicsw[i * 3 + 0] = n->faces[i].vertices[order[0]];
|
||||||
physicsw[i * 3 + 1] = n->faces[i].vertices[order[1]];
|
physicsw[i * 3 + 1] = n->faces[i].vertices[order[1]];
|
||||||
physicsw[i * 3 + 2] = n->faces[i].vertices[order[2]];
|
physicsw[i * 3 + 2] = n->faces[i].vertices[order[2]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
root_collision_shape->set_faces(physics_faces);
|
||||||
|
}
|
||||||
|
|
||||||
|
//fill arrays
|
||||||
|
{
|
||||||
|
for (int i = 0; i < n->faces.size(); i++) {
|
||||||
|
|
||||||
|
int order[3] = { 0, 1, 2 };
|
||||||
|
|
||||||
|
if (n->faces[i].invert) {
|
||||||
|
SWAP(order[1], order[2]);
|
||||||
|
}
|
||||||
|
|
||||||
int mat = n->faces[i].material;
|
int mat = n->faces[i].material;
|
||||||
ERR_CONTINUE(mat < -1 || mat >= face_count.size());
|
ERR_CONTINUE(mat < -1 || mat >= face_count.size());
|
||||||
int idx = mat == -1 ? face_count.size() - 1 : mat;
|
int idx = mat == -1 ? face_count.size() - 1 : mat;
|
||||||
|
@ -458,10 +462,6 @@ void CSGShape::_update_shape() {
|
||||||
root_mesh->surface_set_material(idx, surfaces[i].material);
|
root_mesh->surface_set_material(idx, surfaces[i].material);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (root_collision_shape.is_valid()) {
|
|
||||||
root_collision_shape->set_faces(physics_faces);
|
|
||||||
}
|
|
||||||
|
|
||||||
set_base(root_mesh->get_rid());
|
set_base(root_mesh->get_rid());
|
||||||
}
|
}
|
||||||
AABB CSGShape::get_aabb() const {
|
AABB CSGShape::get_aabb() const {
|
||||||
|
|
Loading…
Reference in New Issue