Commit Graph

1294 Commits

Author SHA1 Message Date
rambetter 8b711d1f35 Adding the beginnings of degenerate_winding2 and degenerate_winding3
regression tests for q3map2.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@419 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-11 02:08:30 +00:00
rambetter a36b39a62b Importing regression tests for q3map2 from Rambetter-math-fix-experiments into
trunk.  Branch Rambetter-math-fix-experiments can be deleted now.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@417 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-10 06:25:33 +00:00
rambetter a16ee23adf Importing code changes for q3map2 from Rambetter-math-fix-experiments branch
into trunk.  Right now all the new code that fixes problems is turned off. 
There are three	new #defines in q3map2.h:
EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES, EXPERIMENTAL_SNAP_NORMAL_FIX,
and EXPERIMENTAL_SNAP_PLANE_FIX.  All of these are currently set to 0, which
means don't enable that new code.  You can easily edit these to be 1 in order
to enable the new code.

There are very very minor changes to the code even with these three #defines
disabled.  They are as follows.

- In PlaneEqual() in map.c, now considering deltas equal to given epsilon
values as "far enough to be different".  Previously, the '<=' operation was
used, now '<' is being used.

- In FindFloatPlane() in map.c, considering delta equal to distanceEpsilon
(for plane distance) to be sufficiently far away.  Before, delta had to be
strictly greater than distanceEpsilon.

- VectorNormalize() in mathlib.c is more accurate now. 	This change itself
causes at least	one regression test to succeed.  The previous implementation
of VectorNormalize() caused excessive errors to	be introduced due to sloppy
arithmetic.

Note, the epsilon changes account for the possibility that the epsilons 
are set to 0.0 on the command-line.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@416 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-10 06:15:47 +00:00
rambetter 4de65601e1 Fixing Win compile guide, "if you choose path other than
C:\MinGW, make sure there is no space in the path".


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@412 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-09 21:36:32 +00:00
Rudolf Polzer 6ce0c65e77 fix two bugs cppcheck found 2011-01-08 20:59:46 +01:00
Rudolf Polzer b15b0b849f treat entity leak different from entity in solid (the latter should not cause a leak message, but a proper "in solid") 2011-01-02 20:42:33 +01:00
Rudolf Polzer 8f04ed28bf fix these options more 2011-01-01 20:19:57 +01:00
Rudolf Polzer 8b586748c4 fix option checking for -grid* options 2011-01-01 20:15:20 +01:00
Rudolf Polzer c4a7877baf Merge branch 'master' of ssh://git.xonotic.org/netradiant 2010-12-31 18:55:14 +01:00
Rudolf Polzer 7a04b6fdea Author: rambetter
Date: Thu Dec 30 21:03:13 2010
New Revision: 390

Modified:
GtkRadiant/trunk/libs/mathlib.h
GtkRadiant/trunk/libs/mathlib/mathlib.c
GtkRadiant/trunk/tools/quake3/common/polylib.c
Log:
Undoing commits r363 and r371 as it pertains to polylib.c, mathlib.c,
and mathlib.h (the regression tests have not been removed).
Trunk is now restored to a state that it was in before I started
trying to fix the math accuracy errors in q3map2.  Commits r363 and
r371 were "correct" and did improve math accuracy significantly, but
unfortunately the underlying cause of math accuracy issues is something
else, which is being addressed in branch Rambetter-math-fix-experiments
currently.  I'm taking the BSD approach here, which is "we not going to
partially fix the problem.  it's all or nothing".  Otherwise it's just
too risky in my opinion.  I don't like playing Whack-A-Mole.

Someday, we might merge Rambetter-math-fix-experiments branch to trunk.
Sorry about all these needless commits to trunk.
2010-12-31 18:54:33 +01:00
Rudolf Polzer 10d0890e16 always chmod the release exe file 2010-12-31 13:37:20 +01:00
Rudolf Polzer 4f075a2ec1 always chmod the release exe file 2010-12-31 13:36:47 +01:00
rambetter 5526da8cdc Undoing commits r363 and r371 as it pertains to polylib.c, mathlib.c,
and mathlib.h (the regression tests have not been removed).
Trunk is now restored to a state that it was in before I started
trying to fix the math accuracy errors in q3map2.  Commits r363 and
r371 were "correct" and did improve math accuracy significantly, but
unfortunately the underlying cause of math accuracy issues is something
else, which is being addressed in branch Rambetter-math-fix-experiments
currently.  I'm taking the BSD approach here, which is "we not going to
partially fix the problem.  it's all or nothing".  Otherwise it's just
too risky in my opinion.  I don't like playing Whack-A-Mole.

Someday, we might merge Rambetter-math-fix-experiments branch to trunk.
Sorry about all these needless commits to trunk.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@390 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-31 03:03:13 +00:00
Rudolf Polzer c8524834a7 give ViewFront/ViewSide/ViewTop default shortcuts 2010-12-29 17:51:35 +01:00
Rudolf Polzer 469cba24be Author: rambetter
New Revision: 379
Undoing revision 377 (reverting just those files modified by that
commit).  I have disovered the fundamental problem to the math error problems,
and although this commit (r377) is "correct", it fails to address the
fundamental problem.  Therefore, I'd rather leave the code in a state that
has the exact same behavior as before until I get a chance to address the
fundamental issue.
2010-12-29 17:41:57 +01:00
Rudolf Polzer bbd9067353 Author: rambetter
Date: Tue Dec 28 23:20:32 2010
New Revision: 378
Updating notes on regression tests.  They are "mostly sort of fixed".  Won't
be fixed for good until I look at the last bit of code that has not been
examined yet, which is the plane intersection code.  I want the errors to be
much less than they are now, even though the disappearing_sliver* tests are
now working.
2010-12-29 17:38:51 +01:00
Rudolf Polzer 7aa95f5ab5 svn r377 by Rambetter:
Continuing work on BaseWindingForPlane() in polylib.c.  In fact I'm pursuing
the approach that was committed in r375 (but was then backed out).  I can't
believe my eyes, but I seem to be getting 0.000000% error in some of my
regression tests.  The trick is to scale by a power of 2 and never do a
VectorNormalize().
2010-12-29 17:38:21 +01:00
Rudolf Polzer 7daa362c91 Author: rambetter
New Revision: 376
Undoing revision 375 because it did not offer measured accuracy improvements
in the q3map2 math calculations.
2010-12-29 17:36:09 +01:00
rambetter f62ab305fc Undoing revision 377 (reverting just those files modified by that
commit).  I have disovered the fundamental problem to the math error problems,
and although this commit (r377) is "correct", it fails to address the
fundamental problem.  Therefore, I'd rather leave the code in a state that
has the exact same behavior as before until I get a chance to address the
fundamental issue.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@379 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-29 09:00:47 +00:00
rambetter f487ea7c54 Updating notes on regression tests. They are "mostly sort of fixed". Won't
be fixed for good until I look at the last bit of code that has not been
examined yet, which is the plane intersection code.  I want the errors to be
much less than they are now, even though the disappearing_sliver* tests are
now working.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@378 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-29 05:20:32 +00:00
rambetter f36b40ae62 Continuing work on BaseWindingForPlane() in polylib.c. In fact I'm pursuing
the approach that was committed in r375 (but was then backed out).  I can't
believe my eyes, but I seem to be getting 0.000000% error in some of my
regression tests.  The trick is to scale by a power of 2 and never do a
VectorNormalize().


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@377 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-29 04:32:35 +00:00
rambetter 52fd922c64 Undoing revision 375 because it did not offer measured accuracy improvements
in the q3map2 math calculations.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@376 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 20:05:50 +00:00
Rudolf Polzer 887435af2b Fix by Rambetter (svn r371):
Following up on r371; found another optimization for math rounding errors
in BaseWindingForPlane().  This allows me to get rid of an extra call to
VectorSetLength() which contain floating point multiplications.  Behavior
of BaseWindingForPlane() has been verified against base_winding regression
test (comparing output w/ logging patch).
2010-12-28 20:31:25 +01:00
rambetter 05e2114294 Following up on r371; found another optimization for math rounding errors
in BaseWindingForPlane().  This allows me to get rid of an extra call to
VectorSetLength() which contain floating point multiplications.  Behavior
of BaseWindingForPlane() has been verified against base_winding regression
test (comparing output w/ logging patch).


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@375 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 19:26:52 +00:00
Rudolf Polzer a3aa889e15 explicitly use the -readmap option for converting 2010-12-28 13:50:57 +01:00
Rudolf Polzer b20c63153a better help for -convert 2010-12-28 13:50:14 +01:00
Rudolf Polzer 74ca0f3701 change -convert arguments to get -readmap, -readbsp arguments 2010-12-28 13:47:29 +01:00
Rudolf Polzer 1ba2ff7e29 more regression test updates by Rambetter 2010-12-28 13:38:32 +01:00
rambetter 3725d2baeb Adding new regression test, disappearing_sliver3. I discovered this while
poking around at the numbers from disappearing_sliver2.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@374 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 11:24:14 +00:00
rambetter 2913e619e7 Writing up results of disappearing_sliver2 regression test and commit 371.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@373 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 11:09:06 +00:00
rambetter 538e4a59fc Adding winding_logging.patch to disappearing_sliver regression test that
helps log the vertex coords.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@372 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 10:41:41 +00:00
Rudolf Polzer ec64df5697 Author: rambetter
Date: Tue Dec 28 04:02:11 2010
New Revision: 371

Rewriting BaseWindingForPlane() in polylib.c from the ground up.  The behavior is totally unchanged, and I verified this by running extensive tests.  The only difference is that the math precision is much much better now.  Performance should be better as well (but that is not tested).  This is a major milestone because it fixes two regression tests: disappearing_sliver2 and sparkly_seam.
Improvements to math precision is ongoing and more improvements can probably be made even after this patch.
I will update the README.txt files in the regression tests in a separate commit.  This commit only includes the actual fixed code.
2010-12-28 11:24:25 +01:00
Rudolf Polzer bbcc70e072 more regression tests from ZeroRadiant 2010-12-28 11:24:03 +01:00
rambetter c5449b8cc5 Rewriting BaseWindingForPlane() in polylib.c from the ground up. The behavior
is totally unchanged, and I verified this by running extensive tests.  The
only difference is that the math precision is much much better now.
Performance should be better as well (but that is not tested).
This is a major milestone because it fixes two regression tests:
disappearing_sliver2 and sparkly_seam.
Improvements to math precision is ongoing and more improvements can probably
be made even after this patch.
I will update the README.txt files in the regression tests in a separate
commit.  This commit only includes the actual fixed code.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@371 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 10:02:11 +00:00
rambetter f40a6cb2d5 Improving base_winding_logging.patch for base_winding regression test.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@370 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 09:53:56 +00:00
rambetter 30029bd5a8 Adding base_winding regression test to test changes to BaseWindingForPlane().
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@369 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 08:42:03 +00:00
rambetter b3e48a7dae In disappearing_sliver README.txt file, describing which commit revision fixes
the problem.  This is for the regression test.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@368 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 08:20:25 +00:00
Rudolf Polzer 5e21f6e064 move to the right dir 2010-12-28 08:38:16 +01:00
Rudolf Polzer 778bd8f4b4 more regression tests from ZeroRadiant 2010-12-28 08:37:48 +01:00
rambetter cecc7bbe98 Removing the "message" key from disappearing_sliver2.map.
Sorry about that.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@367 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 23:42:36 +00:00
rambetter 929d20d522 Adding disappearing_sliver2 q3map2 regression test. No fix yet (will be soon).
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@366 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 23:30:56 +00:00
rambetter 91624ec4de Adding sparkly_seam q3map2 regression test. No fix yet, but there will be
soon.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@365 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 23:14:32 +00:00
Rudolf Polzer 1bd74f2b3c use forward slashes in .mtl files 2010-12-27 12:44:03 +01:00
Rudolf Polzer 2a853e5b62 take over q3map2 sliver fix from ZeroRadiant trunk (r363) 2010-12-27 10:23:57 +01:00
rambetter 14a0abf2a0 Adding Windows compile guide.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@364 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 08:29:22 +00:00
rambetter f7764a84b2 Fixing "disappearing_sliver" bug.
A regression test is included.
This is a bug in q3map2.  Please read
regression_tests/q3map2/disappearing_sliver/README.txt for more info.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@363 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 08:08:00 +00:00
TTimo 82ef81821f move old gtk runtime code back to trunk
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@361 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-26 04:13:09 +00:00
TTimo 2be17e386a Repackaged the deps with the old gtkglext (to no avail unfortunately) - closing down this branch and shelving it.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@358 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-26 03:35:18 +00:00
Rudolf Polzer 5245aefcbe also -deluxemapsastexcoord 2010-12-26 00:18:13 +01:00
TTimo a6e2bf8e2d misc project file fixes from trunk (e.g. rev 345). fixes the 'missing MSVCR90.DLL' absurdity
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@357 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-24 19:04:32 +00:00