mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2024-11-10 07:11:54 +00:00
changed BaseWindingForPlane to construct the polygon using
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: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@156 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
parent
1086f5df1d
commit
77faf8018f
1 changed files with 5 additions and 2 deletions
|
@ -249,8 +249,11 @@ winding_t *BaseWindingForPlane (vec3_t normal, vec_t dist)
|
|||
|
||||
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);
|
||||
|
|
Loading…
Reference in a new issue