MAX_WORLD_COORD*2 as radius rather than MAX_WORLD_COORD, this fixes
problems with certain invalid brushes not being rejected because of
insufficiently large coords, usually causing a stack overflow when
constructing the BSP tree (due to insufficient "_blocksize")
git-svn-id: https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk@156
8a3a26a2-13c4-0310-b231-
cf6edde360e5
CrossProduct (vup, normal, vright);
CrossProduct (vup, normal, vright);
- VectorScale (vup, MAX_WORLD_COORD, vup);
- VectorScale (vright, MAX_WORLD_COORD, vright);
+ // LordHavoc: this has to use *2 because otherwise some created points may
+ // be inside the world (think of a diagonal case), and any brush with such
+ // points should be removed, failure to detect such cases is disasterous
+ VectorScale (vup, MAX_WORLD_COORD*2, vup);
+ VectorScale (vright, MAX_WORLD_COORD*2, vright);
// project a really big axis aligned box onto the plane
w = AllocWinding (4);
// project a really big axis aligned box onto the plane
w = AllocWinding (4);