Commit Graph

57 Commits

Author SHA1 Message Date
Timothee 'TTimo' Besset 6476802ae8 dunno what happened there, someone brain farted hard 2012-05-06 15:55:10 -05:00
Timothee 'TTimo' Besset c40e0b3e57 unused 2012-04-15 11:24:38 -05:00
Timothee 'TTimo' Besset 943424faa1 fix q3map2 2012-04-14 17:31:10 -05:00
Timothee 'TTimo' Besset 85a66c9519 fix unzip code 2012-04-14 17:15:55 -05:00
Timothee TTimo Besset c64cd0cd05 Q2Tools source - didn't import this in initially 2012-04-07 18:53:01 -05:00
alex8664 67411cb18e This is fix for failure of compilation on new libpng 2012-03-31 17:31:50 +04:00
Timothee TTimo Besset 6ac1b9cfd3 Merge branch 'master' of github.com:TTimo/GtkRadiant 2012-03-22 22:59:40 -05:00
Timothee TTimo Besset a5a1d8287b new version of glib is touchy 2012-03-22 22:57:36 -05:00
Ben Noordhuis f961a547ff q3map2: bump MAX_OS_PATH to 4096
Fixes a "buffer overflow detected" abort when compiled with _FORTIFY_SOURCE=1.

The realpath(3) function in glibc checks if the destination buffer is large
enough to hold up to PATH_MAX characters and aborts if that is not the case.
PATH_MAX doesn't have to be defined so assume that it's equal to 4096.

We should really be using pathconf(_PC_PATH_MAX) instead of a hard-coded value
but that means we can no longer use static buffers to hold paths.
2012-03-18 02:17:09 +01:00
Ben Noordhuis 3a959349ac q3map2: harden UNIX path sniffer against buffer overflows 2012-03-18 02:17:09 +01:00
Ben Noordhuis 808e1c9f6f q3map2: fix dangling pointer dereference
`last` was used but not initialized.

Also fixes a segmentation fault if PATH is not in the environment.
2012-03-18 02:17:09 +01:00
Ben Noordhuis d7e9dab03d q3map2: getpwent() result may not be persistent
Use getpwuid_r() instead and store the path in a static buffer.
2012-03-18 02:17:09 +01:00
Ben Noordhuis c2be26a9bd q3map2: add safe string copy functions
* Q_strncpyz()
* Q_strncat()
* Q_strcat()

Guard against buffer overruns, always zero terminate the result.
2012-03-18 02:17:09 +01:00
Ben Noordhuis 997811d430 q3map2: fix bogus empty string checks
qdir is an array, not a pointer, so `if (qdir)` is always true.
2012-03-18 02:17:09 +01:00
Ben Noordhuis ca8d032cfb fix warning: unused variable 'foo' 2012-03-18 02:17:09 +01:00
Ben Noordhuis 3311b00ae6 fix warning: format not a string literal and no format arguments 2012-03-18 02:13:11 +01:00
Timothee TTimo Besset 830125fad0 uncrustify! now the code is only ugly on the *inside* 2012-03-17 15:01:54 -05:00
rambetter 88f8603d62 8MB stack size linker options on all VC2008 proj files.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@485 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-04-06 04:12:34 +00:00
rambetter 33da149be0 Backing out commit 483. Going to set linker flags instead.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@484 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-04-06 04:08:22 +00:00
rambetter e39f6f4bae Increasing stack size on Windows build.
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@483 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-04-06 03:56:18 +00:00
rambetter a62e98a1f9 Fixing a Sys_Printf() in main() for "q3map2 -convert". The usage message was
copied from "-scale" and was incorrect.  Thanks to Ensiform from ioquake3 IRC
room for reporting this bug.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@482 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-03-06 19:14:50 +00:00
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 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 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 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 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 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 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 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 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
TTimo 7c46911658 rebuilt gtk binary dependencies file
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
2010-12-13 04:21:05 +00:00
TTimo e393e112f4 compiles again on win32, trashed mhash
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@338 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 05:59:17 +00:00
namespace 11bb5b5720 pthread_join Fix from Nerius Landys
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@333 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-13 13:36:27 +00:00
TTimo 8f437051fa misc
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@328 8a3a26a2-13c4-0310-b231-cf6edde360e5
2009-12-31 18:24:36 +00:00
Forest Hale 28bbf5a00b remove some FIXME comments about quakelive paths, since they are the
same as quake3 currently


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@323 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-09-20 11:12:28 +00:00
Forest Hale f4633277de patch from Rudolf Polzer implementing bsp46 support and adding -game
quakelive and -game nexuiz modes to q3map2


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@322 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-09-20 11:07:36 +00:00
TTimo cc4e44e31a merge branch work back into trunk
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@319 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-09-01 17:34:10 +00:00
mattn 2c4c4aead7 * fixed missing string for error output
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@314 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-08-25 12:32:29 +00:00
TTimo 2def0428da ABToSVK commit
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant.ab@308 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-08-24 03:20:51 +00:00
Forest Hale 88cea027e6 ported over the 1.5 branch version of q3map2 which is newer
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
2008-07-25 07:31:37 +00:00
TTimo 11f8765db7 MSVC8: change output dir rules to put binaries into install/
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@252 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-04-25 02:17:12 +00:00
TTimo 94199c49dc fix windows compile, it's possible the linux build broke and will need misc tweaks. you need a new GtkR-1.6-deps.zip
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@227 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-03-18 17:47:38 +00:00
TTimo f33fed31ce misc fixes
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@200 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-03-02 23:36:20 +00:00