summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2015-12-04 09:31:01 +0100
committerRémi Verschelde <remi@verschelde.fr>2015-12-04 09:31:01 +0100
commit9457211f8fd673eb5ef7d32c7ddb0157d2735753 (patch)
treeaedbf17e8e32008386db3de5ecaf662ffd1a0902
parente57dfe26632beeaf65cf15352db57424f2094deb (diff)
Fix wrong index being used to populate r_results
Regression from f33d9da.
-rw-r--r--servers/physics/space_sw.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/servers/physics/space_sw.cpp b/servers/physics/space_sw.cpp
index 4b59f2d0ba..778d20d3f1 100644
--- a/servers/physics/space_sw.cpp
+++ b/servers/physics/space_sw.cpp
@@ -175,17 +175,17 @@ int PhysicsDirectSpaceStateSW::intersect_shape(const RID& p_shape, const Transfo
if (!CollisionSolverSW::solve_static(shape,p_xform,col_obj->get_shape(shape_idx),col_obj->get_transform() * col_obj->get_shape_transform(shape_idx), NULL,NULL,NULL,p_margin,0))
continue;
- cc++;
+ if (r_results) {
+ r_results[cc].collider_id=col_obj->get_instance_id();
+ if (r_results[cc].collider_id!=0)
+ r_results[cc].collider=ObjectDB::get_instance(r_results[cc].collider_id);
+ else
+ r_results[cc].collider=NULL;
+ r_results[cc].rid=col_obj->get_self();
+ r_results[cc].shape=shape_idx;
+ }
- if (!r_results)
- continue;
- r_results[cc].collider_id=col_obj->get_instance_id();
- if (r_results[cc].collider_id!=0)
- r_results[cc].collider=ObjectDB::get_instance(r_results[cc].collider_id);
- else
- r_results[cc].collider=NULL;
- r_results[cc].rid=col_obj->get_self();
- r_results[cc].shape=shape_idx;
+ cc++;
}