EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES code path.
Adding extra checks for NULL in the following functions:
- FreeWinding()
- FreeWindingAccu()
- CopyWinding()
- CopyWindingAccuToNormal()
If a NULL winding is passed to any of these functions, a graceful error will
result (as opposed to a segfault).
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-math-fix-experiments@391 8a3a26a2-13c4-0310-b231-cf6edde360e5
Intead of #ifdef, now using #if.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-math-fix-experiments@388 8a3a26a2-13c4-0310-b231-cf6edde360e5
- Adding a bunch of *Accu() functions:
* SnapWeldVectorAccu() in brush.c (needs major proofread).
* FixWindingAccu() in brush.c (needs major proofread).
* CopyWindingAccuToNormal() in polylib.c.
* VectorLengthAccu() in mathlib.c.
* Q_rintAccu() in mathlib.h.
* FreeWindingAccu() declaration in polylib.h (was missing).
- Adding a #ifdef's for EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES.
It's turned on now. Testing brush winding formation.
This code compiles on Linux, I have no idea if it works. About to test a
little, then going to bed.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-math-fix-experiments@384 8a3a26a2-13c4-0310-b231-cf6edde360e5
- Adding new function ChopWindingInPlaceAccu() in polylib.c. This function is
just like ChopWindingInPlace() except that the winding input has the higher
vect_accu_t resolution. I actually did a deep massage of this code as well
(went over it with a fine-toothed comb). I still need to examine it at least
one more time when I'm fresh, and fix an issue related to choosing the value
for maxpts.
- In mathlib.h, defining VEC_SMALLEST_EPSILON and VEC_ACCU_SMALLEST_EPSILON
constants that will help determine suitable epsilons to use for certain
operations. Comments are provided detailing what these constants do.
- In mathlib.h, defining DotProductAccu() and VectorCopyAccu().
- Small comment in brush.c that has concerns about a certain use of
BaseWindingForPlane() in WriteBSPBrushMap().
State of this code is: compiles on Linux. May not compile on Windows. Not
tested (new functionality not used yet in any real code, only functions exist).
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-math-fix-experiments@382 8a3a26a2-13c4-0310-b231-cf6edde360e5
fixed/optimized a number of VC9 project settings
fixed sprintf being hijacked by intl.dll stuff
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@345 8a3a26a2-13c4-0310-b231-cf6edde360e5
made Visual Studio files work in VS2005 Express
fixed a ton of warnings in VS2005 Express
fixed some compile problems on OpenSUSE 11.0
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@302 8a3a26a2-13c4-0310-b231-cf6edde360e5