diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sector.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sector.c b/src/sector.c index 2f1a7fe..96efed4 100644 --- a/src/sector.c +++ b/src/sector.c @@ -174,8 +174,8 @@ void map_detect_collision(map_t *map) // slide along the wall if(sect->neighbors[i] == (size_t)-1 - || hole_high < player->pos.z + player->head_margin - || hole_low - (player->pos.z - eyeheight ) > player->knee_height) { + || hole_low - (player->pos.z - eyeheight ) > player->knee_height + || hole_high - hole_low < eyeheight + player->head_margin) { // formula from wikipedia float xd = vert(s1).x - vert(s0).x, yd = vert(s1).y - vert(s0).y; player->velocity.x = xd * (dx*xd + yd*dy) / (xd*xd + yd*yd); |