summaryrefslogtreecommitdiff
path: root/servers/physics_2d
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-09-17 10:18:09 -0300
committerJuan Linietsky <reduzio@gmail.com>2017-09-17 10:18:09 -0300
commitd22ceeef1bec083d5e047458e88d97ca091cd1c5 (patch)
tree286a6e908f85d04473899d5ea03913fd49289e0a /servers/physics_2d
parent5886f810c20027f7958eff62d2c876c8b29fef1e (diff)
correction to one way collision code
Diffstat (limited to 'servers/physics_2d')
-rw-r--r--servers/physics_2d/space_2d_sw.cpp6
-rw-r--r--servers/physics_2d/space_2d_sw.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp
index cbfbb38bc2..8f22d1cd44 100644
--- a/servers/physics_2d/space_2d_sw.cpp
+++ b/servers/physics_2d/space_2d_sw.cpp
@@ -580,7 +580,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
ExcludedShapeSW esp;
esp.local_shape = body_shape;
esp.against_object = col_obj;
- esp.against_shape = against_shape;
+ esp.against_shape_index = shape_idx;
excluded_shape_pairs[excluded_shape_pair_count++] = esp;
}
}
@@ -649,7 +649,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
for (int k = 0; k < excluded_shape_pair_count; k++) {
- if (excluded_shape_pairs[k].local_shape == body_shape && excluded_shape_pairs[k].against_object == col_obj && excluded_shape_pairs[k].against_shape == against_shape) {
+ if (excluded_shape_pairs[k].local_shape == body_shape && excluded_shape_pairs[k].against_object == col_obj && excluded_shape_pairs[k].against_shape_index == shape_idx) {
excluded = true;
break;
}
@@ -780,7 +780,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
bool excluded = false;
for (int k = 0; k < excluded_shape_pair_count; k++) {
- if (excluded_shape_pairs[k].local_shape == body_shape && excluded_shape_pairs[k].against_object == col_obj && excluded_shape_pairs[k].against_shape == against_shape) {
+ if (excluded_shape_pairs[k].local_shape == body_shape && excluded_shape_pairs[k].against_object == col_obj && excluded_shape_pairs[k].against_shape_index == shape_idx) {
excluded = true;
break;
}
diff --git a/servers/physics_2d/space_2d_sw.h b/servers/physics_2d/space_2d_sw.h
index bf60b99f47..c7e7497397 100644
--- a/servers/physics_2d/space_2d_sw.h
+++ b/servers/physics_2d/space_2d_sw.h
@@ -74,7 +74,7 @@ private:
struct ExcludedShapeSW {
Shape2DSW *local_shape;
const CollisionObject2DSW *against_object;
- Shape2DSW *against_shape;
+ int against_shape_index;
};
uint64_t elapsed_time[ELAPSED_TIME_MAX];