Commit graph

377 commits

Author SHA1 Message Date
rambetter
561e062c87 This is a major change that updates the 3rd party libs on Windows builds.
A couple of things are broken right now:
- OpenGL font in Windows not appearing (expected to be broken, will fix)
- Linux build broken because it loads some .vcproj files that are removed
- 3rd party libs are downloaded from porky.nerius.com, not id Software


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@473 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-02-21 14:37:49 +00:00
Forest Hale
53af03faff use bsp version 47 for the appropriate games, this unbreaks a previous
commit


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@440 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-30 03:18:05 +00:00
rambetter
3d4ac1ba23 Fixing filters.
I didn't realize they were so broken.
The fix is safe and should not break plugins or anything else.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@437 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-23 09:12:34 +00:00
rambetter
9aa5e96c63 Adding "Preferences" -> "Other" -> "Brush" tab. This now has
"Default texture scale:".  (Preferences are game specific by the way.)
The default value for this preference is specific to a game, but most
of the time it's 0.5.  This field allows the user to override that default.
This is a feature that was specifically requrested by someone who wants to
try using ZeroRadiant (he wants to set it to 0.25 for his "premium" maps).
It's already a feature in NetRadiant.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@436 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-23 05:24:30 +00:00
rambetter
2a99ba3745 No longer including JAPack in default Radiant builds. This is in order
to reduce the size of Windows Radiant builds by a factor of 2.  JAPack
can still be used, but must either be installed manually after a build
is made, or it must be explicitly downloaded before the build.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@435 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-22 07:10:03 +00:00
rambetter
7dceb250fe Modifying game_reaction.h (for the game Reaction) to add custom surfaces.
This is more convenient than using custinfoparms.txt.  TTI (from the
Reaction team) game these to me.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@434 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-22 07:03:51 +00:00
rambetter
1f11459c84 Turn off desktop compositing in Windows ("Aero") for Radiant.
Otherwise, "hall of mirrors" effect takes place in the OpenGL viewports.
This fix is a real hack.  It's actually borrowed from other Radiants such
as NetRadiant.  I'd like to fix the underlying issue someday so that Aero
can be used with Radiant.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@433 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-22 03:22:21 +00:00
rambetter
083f7c7d6a In function AddGamePath() in path_init.c for q3map2,
only adding path if it's not already added (remove duplicates).
It's cleaner this way.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@432 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-20 07:15:47 +00:00
rambetter
89f0eeeb28 Adding game_reaction.h to q3map2. We cannot use "-game quake3" because
we use ~/.Reaction instead of ~/.q3a .  Oh well.  This is for Reaction Quake III.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@431 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-20 06:31:26 +00:00
rambetter
4d362964f7 Adding ReactionPack to Radiant code.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@430 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-20 05:36:24 +00:00
rambetter
cb169716fe Fixing a 45 degree model clipping problem.
Introducing Q3MAP2_EXPERIMENTAL_MODEL_CLIPPING_FIX to control the new code,
current value is 1 (enable the fix).
This code fixes the q3map2 regression test model_clipping_45_degrees.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@429 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-19 06:41:33 +00:00
rambetter
0475bf8f9c In decal_misalignment regression test for q3map2, accidentally had checked in
the wrong shader file, ramb_common.shader.  Replacing with
radiant_regression_tests.shader.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@428 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 08:33:40 +00:00
rambetter
085d8ec296 Adding model_clipping_45_degrees regression test for q3map2.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@427 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 08:04:12 +00:00
rambetter
75d9abb1c3 Adding decal_misalignment regression test for q3map2.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@426 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 07:09:53 +00:00
rambetter
1e922857d6 Adding piercing_triangle regression test.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@425 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 05:42:04 +00:00
rambetter
3326472fee Adding MATHLIB_VECTOR_NORMALIZE_PRECISION_FIX in mathlib to control which
version of code in VectorNormalize() is used.  Yes, I put the old code back
in there, and it's active if MATHLIB_VECTOR_NORMALIZE_PRECISION_FIX is 0.
Right now it's 1, so the fixed code is active.  I need this quick way to
test regression tests.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@424 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 03:35:57 +00:00
rambetter
3b0589dd8b Renaming #define constants:
EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES ->
  Q3MAP2_EXPERIMENTAL_HIGH_PRECISION_MATH_FIXES
EXPERIMENTAL_SNAP_NORMAL_FIX ->
  Q3MAP2_EXPERIMENTAL_SNAP_NORMAL_FIX
EXPERIMENTAL_SNAP_PLANE_FIX ->
  Q3MAP2_EXPERIMENTAL_SNAP_PLANE_FIX


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@423 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 03:21:31 +00:00
rambetter
098fe8f8d5 Increasing the values of 3 constants that control how much space is reserved
for the stack and/or static memory for holding arrays of structures.
MAX_ORIGINAL_EDGES changed from 0x10000 to 0x20000 (x2 increase).
MAX_MAP_BRUSHES changed from 0x8000 to 0x10000 (x2 increase).
MAX_MAP_DRAW_VERTS changed from 0x80000 to 0x100000 (x2 increase).
This is pertaining to q3map2 only.
There is a real-world case where increasing these constants is needed.
That case is when compiling Icy World for Urban Terror.
Besides that, increasing these does not hurt anything (other than requiring
more memory).


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@422 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-11 09:49:45 +00:00
rambetter
ea589bedcc As per TTimo's suggestion, turning all three experimental q3map2 fixes on
in q3map2.h: EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES,
EXPERIMENTAL_SNAP_NORMAL_FIX, and EXPERIMENTAL_SNAP_PLANE_FIX.  These are all
set to 1 now.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@421 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-11 08:25:10 +00:00
rambetter
0d3393fa7b Finishing up the degenerate_winding2 and degenerate_winding3 regression tests.
Sure enough, they expose the "problem".  I just created these based on my
understanding of the code and seeing a potential problem.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@420 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-11 02:23:58 +00:00
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
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
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
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
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
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
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
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
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
rambetter
36a1c4bbad Cleaning up some file dialog tidbits in Rambetter-temp-fixes branch.
Just some code maintenence.  Like removing unused local vars.

PLS MERGE TO TRUNK.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@356 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-19 04:12:29 +00:00
rambetter
b292b8db59 This is a big big GTK file dialog change in Rambetter-temp-fixes branch.
Thank you to Markus Fischer who	provided some example code on how to
use the	"new" method of	GTK file dialogs.  I then did a	lot of research	into
how to shape his code into exactly what	I wanted.

This is	an incomplete change in	that I have not	cleaned	up the code such
as removing unused local variables and unused functions	yet.  However, I
wanted to commit this now because it really works beautifully (the GTK file
dialog that is).

- In CFileType,	m_pstrGTKMasks now contains string like
"quake3 maps (*.map)" instead of like "quake3 maps <*.map>".  Nobody else
is using this code except in gtkmisc.cpp so it's a safe	change.

- Removing all FILEDLG_DBG blocks in gtkmisc.cpp.  It really clutters up the
code and since it's completely overhauled, it's	OK to remove.

- Instead of the "old" way of gtk_file_selection_new(),	now using
gtk_file_chooser_dialog_new() instead. 	Thx to Markus Fischer for examples.

- Actually adding GTK file dialog filters.  It works really nice!  :-)

- Now using the	same file extension logic on Windows file dialogs and GTK
file dialogs.

- Improved file	extension logic.  "No file extension specified in file to       
be saved.  Attempt to save anyways?"

Tested on Win7 and Linux.
More related changes on the way.

THIS SHOULD BE MERGED INTO TRUNK.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@355 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-19 03:44:26 +00:00
rambetter
2c799718d7 Slight fix to r353 in Rambetter-fixes temp: the file suffix in
save operation is case sensitive now w.r.t. to checking a registered
suffix.  The problem was that saving a file foo.MAP does not work.

PLEASE MERGE THIS TO TRUNK.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@354 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-19 01:31:52 +00:00
rambetter
6412c5ca77 Another Windows file dialog change in Rambetter-temp-fixes branch.
Handling file extensions better	during save operations.	 This is more
Windows-compliant.  For	example, when saving map:
- If ".xmap" filter is selected	and user types "foo.map", map will be
saved as "foo.map" (previous behavior was "foo.xmap").
- If an	unrecognized file extension is typed, GtkRadiant will now honor	that
but issue a warning popup window: "Unknown file extension for this save         
operation.  Attempt to save anyways?". 	All known extensions for the type
are checked.  Previous behavior	was that the extension is always changed
based on selected filter.

I will continue	making lots of incremental fixes to Rambetter-temp-fixes.

THIS PATCH SHOULD BE MERGED INTO TRUNK.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@353 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-19 01:08:29 +00:00
rambetter
b1b208f12e Improving native Windows file dialog in Rambetter-temp-fixes branch some
more.  This adds new code and improves code committed in revision 351.

- Calling GetOpenFileName() and GetSaveFileName() from a new thread, thus
allowing the main thread to continue refreshing GtkRadiant while the native
Windows file dialog is open.  Prevents the ugly "hall of mirrors" effect.
A similar approach is used in the open source Inkscape, so I'm not doing
anything too dangerous here.  However, this _is_ hacky in my opinion.

- Using memset() to zero out the memory of the OPENFILENAME structure.
This is safer than selectively setting fields on this structure.  We no
longer need to explicity set certain field to NULL now.

- "all files" filter now lowercase to be consistent with other code.

These changes have been tested on Windows XP and Windows 7.

THIS COMMIT SHOULD BE MERGED INTO TRUNK AT SOME POINT!!!


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@352 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-18 03:03:55 +00:00