From 417318c271dac25d02827070f27fc486f127ff80 Mon Sep 17 00:00:00 2001 From: terminx Date: Wed, 24 Jul 2019 01:37:54 +0000 Subject: [PATCH] clipmove() patch from Nuke.YKT: "In some edge cases posx/y might be 'inside' of neighbor sector. I've added double check for this case" git-svn-id: https://svn.eduke32.com/eduke32@7827 1a8010ca-5511-0410-912e-c29ae57300e0 --- source/build/src/clip.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/build/src/clip.cpp b/source/build/src/clip.cpp index 27345789d..5b98ec9f3 100644 --- a/source/build/src/clip.cpp +++ b/source/build/src/clip.cpp @@ -1148,9 +1148,18 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int clipyou = cliptestsector(dasect, wal->nextsector, flordist, ceildist, v, pos->z); } - // We're not interested in any sector reached by portal traversal that we're "inside" of. - if (!curspr && dasect != initialsectnum && inside(pos->x, pos->y, dasect) == 1) break; - else if (clipyou) + // We're not interested in any sector reached by portal traversal that we're "inside" of. + if (!curspr && dasect != initialsectnum && inside(pos->x, pos->y, dasect) == 1) + { + int k; + for (k=startwall; k