diff --git a/src/gl/data/gl_portaldata.cpp b/src/gl/data/gl_portaldata.cpp index 497216bc8..98e19c80e 100644 --- a/src/gl/data/gl_portaldata.cpp +++ b/src/gl/data/gl_portaldata.cpp @@ -187,7 +187,7 @@ struct FCoverageBuilder double PartitionDistance(FCoverageVertex *vt, node_t *node) { - return fabs(double(-node->dy) * (vt->x - node->x) + double(node->dx) * (vt->y - node->y)) / node->len; + return fabs(double(-node->dy) * (vt->x - node->x) + double(node->dx) * (vt->y - node->y)) / (node->len * 65536.); } //========================================================================== @@ -379,8 +379,9 @@ void gl_InitPortals() for(int i=0;idx; - double fdy = (double)no->dy; + // Must be converted because the len value is also needed for polyobjects. + double fdx = FIXED2DBL(no->dx); + double fdy = FIXED2DBL(no->dy); no->len = (float)sqrt(fdx * fdx + fdy * fdy); }