Commit Graph

70 Commits

Author SHA1 Message Date
Garux 2b85b7c20c Q3map2:
* packer: rewrote logic to make sure not to include excluded stuff
	* packer: preserves file date, if grabbing file from .pk3 too
	* packer: in case of missing *ingame* resources pk3 gets _FAILEDpack suffix
2017-08-01 13:54:01 +03:00
Garux 66d12fc237 Q3map2:
* -pk3 autopackager: alternative way to write
2017-08-01 13:53:05 +03:00
Garux eef3995202 Q3map2:
* -pk3: autopackager mode(complete Q3 support); bsp path as input; switches: -dbg - talkative mode, -png - include pngs, at highest priority
		is using file 'gamename.exclude' to exclude vanilla game resources
		tip: ioq3, netradiant, compiler (and packager) treat *.pk3dir directories as separate pk3 files
2017-08-01 13:51:52 +03:00
Rudolf Polzer 847a61d888 fix some easy warnings 2013-06-19 18:50:07 +02:00
Rudolf Polzer 7fc621fc78 Merge remote-tracking branch 'ttimo/master'
Conflicts:
	config.py
	libs/missing.h
	plugins/model/cpicosurface.cpp
	plugins/vfspk3/unzip.cpp
	radiant/main.cpp
	radiant/mainframe.cpp
	radiant/mainframe.h
	radiant/missing.cpp
	radiant/pluginmanager.cpp
	radiant/preferences.cpp
	radiant/preferences.h
	tools/quake3/common/cmdlib.c
	tools/quake3/common/unzip.c
	tools/quake3/q3map2/image.c
2012-05-07 12:32:31 +02: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
michaelb 1f0271a988 fix invalid use of <glib/...> headers 2012-04-09 09:44:35 +02:00
Rudolf Polzer b7e36c120e Merge remote-tracking branch 'github/master'
Conflicts:
	.gitignore
	config.py
	libs/synapse/synapse.cpp
	plugins/imagehl/lbmlib.cpp
	plugins/surface_heretic2/surfacedialog.cpp
	plugins/surface_ufoai/surfacedialog.cpp
	radiant/brushscript.cpp
	radiant/main.cpp
	radiant/preferences.cpp
	tools/quake3/common/cmdlib.c
	tools/quake3/common/cmdlib.h
	tools/quake3/q3map2/path_init.c
	windows_compile_guide/index.html
2012-03-27 12:11:37 +02:00
Rudolf Polzer e4287c28bb my own uncrustify run 2012-03-27 12:03:21 +02: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 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 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
Rudolf Polzer dba712acf6 query the online, not total, CPUs in case some were shut off 2012-03-03 17:31:03 +01:00
Lauri Kasanen 053ca4041b Automatically determine the number of threads on linux
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
2012-03-03 17:28:34 +01:00
Rudolf Polzer 747e474c40 remove internal libjpeg6 copy (patch by monad) 2012-03-01 10:24:29 +01:00
Rudolf Polzer 4afa1f6427 AllocWinding: fix handling of compiler enforced alignment of double 2011-12-08 12:20:56 +01:00
Rudolf Polzer 323c01a983 try to fix the "-np surfaces disappear" bug 2011-11-22 12:10:26 +01:00
Rudolf Polzer db1787bbfa handle forbidden dir exclusions properly now 2011-07-01 12:49:31 +02:00
Rudolf Polzer c75ae4296b forbidden dirs: allow wildcard patterns 2011-07-01 11:27:15 +02:00
Rudolf Polzer bf4ab34b0a more warnings done. Now q3map2 is warning free apart from libpng deprecation problems. 2011-06-05 19:47:08 +02: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 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
Rudolf Polzer 94cb905da9 ::zerowing-base=422 2011-01-11 14:39:55 +01: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
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
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 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 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 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 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
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
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
Rudolf Polzer cadab3422e more warnings 2010-10-05 15:06:52 +02:00
Rudolf Polzer d5a9782200 fix some more warnings 2010-10-05 15:04:45 +02:00
Rudolf Polzer 4487b4d44f fix "ExpandPath called without qdir set" as qdir is never set in Xonotic/Nexuiz/any other nonquake 2010-10-05 11:24:42 +02:00
rpolzer 5ec3a47e10 q3map2 is now waring free 2010-10-05 10:57:07 +02:00
Rudolf Polzer 8ff9eafc50 fix bugs in skin load code 2010-10-01 12:13:36 +02:00
Rudolf Polzer 2ddfb486e9 we can move the <glib.h> include a bit more then 2010-08-08 16:42:40 +02:00
merlijn 4d04ade414 include glib.h instead of limits.h 2010-08-08 16:30:20 +02:00