Commit graph

553 commits

Author SHA1 Message Date
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
rambetter
f482df40a1 Fixing the native Windows file dialog in Rametter-temp-fixes branch
of GtkRadiant. 	The previous code was Plain Old	Wrong (TM) in the way that
it handled determining which "Save as type" was	selected in the	file save
dialog.  This change affects the function file_dialog() in gtkmisc.cpp.
Fix has	been tested on Windows 7 when the pattern input	parameter is something
such as	"map" and when it's null.  Will	test Windows XP	shortly	and follow
up with	another	commit if it's not working correctly there.

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


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@351 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-16 07:08:00 +00:00
rambetter
1f99ab9e81 Progressing on bringing Radiant 1.6.x to a workable state on Windows.
This commit:
1. Reverts to using GtkR-deps-1.6-3.zip (instead of GtkR-deps-1.6-4.zip).
Some font-related DLLs are therefore no longer used with this patch.
2. Because of the above #1, now using the really old OpenGL font rendering
code on Windows systems.  This is controlled via "#ifdef _WIN32" blocks.
Linux still uses the new and improved OpenGL font rendering.
Note that this old font rendering that Windows now uses (err, has used in the
past too) makes use of gdk_gl_font_use_pango_font(), which is really old
and crufty.

So, with this commit Radiant is fully working (modulo bugs) on Linux and
Windows, and OpenGL fonts work too.

I WOULD NOT SUGGEST MERGING THIS CHANGE INTO TRUNK.  THE CORRECT APPROACH
IS TO INSTEAD FIX THE DLL LIBRARY DEPENDENCIES IN TRUNK.  I AM ONLY COMMITTING
THIS SO THAT I CAN CONTINUE FIXING BUGS IN RADIANT IN THE MEANTIME.

There are still a zillion bugs on Windows.  For example, I can't even save
a .map file at this point.  That is my next task, to fix saving of .map files.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@350 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-15 09:52:26 +00:00
rambetter
7f2f9610ba Backing out r347 and r345. Keeping r346.
So, this branch is now r344 with patch r346.
DO NOT MERGE THIS CHANGE INTO TRUNK!!!!


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@349 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-15 06:56:33 +00:00
rambetter
ab7d2b5680 Creating a temporary branch for Rambetter to use in order to
fix some outstanding issues while the lib-reassembly is taking place.
This branch is starting out as a copy of r347.
I [Rambetter] am not able to work on trunk at the moment because it
is broken on Windows due to the DLL nightmare that is going on.  I would
like to fix some bugs in the meantime.  Commits that should be imported back
into trunk will be clearly marked as such.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/Rambetter-temp-fixes@348 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-15 06:42:34 +00:00
TTimo
09337b8992 damn macro is still there
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@347 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-13 05:37:08 +00:00
rambetter
eb77a1bc39 ixing a big problem on Windows platforms that has to do with copying over
game packs to the game install directory.  Before this patch, users of
Radiant	weren't	able to	start Radiant without doing some manual	copying	of
game pack files over by hand (and	I'm sure nobody	figured	that out).
The problem is in radiant/missing.cpp. 	CopyTree() didn't correctly recursively
copy directories because of a problem in FindFiles::FindFiles() on Windows.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@346 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-13 04:50:40 +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
fa657d36f6 updated the setup functionality on windows, new deps file, bumped version up
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@344 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-29 01:12:35 +00:00
TTimo
dc4e125df2 apply back 335 and 336, will need to update deps and put a zip out
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@343 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 19:50:08 +00:00
TTimo
0152053e52 fix Linux compile from mhash stuff
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@339 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 06:46: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
TTimo
449fdbd6b7 revert 335 and 336, breaking the win32 build
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@337 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 05:58:34 +00:00
rambetter
1c8129e946 Doing away with the 32 bit per pixel memory buffer. Now passing the returned
pango memory buffer directly to OpenGL.  This simplifies the code.  Performance
did not seem to be better, but it certainly looks faster in theory.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@336 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-16 07:07:28 +00:00
rambetter
c1dbb77342 DONE:
- Removed usage of gdk_gl_font_use_pango_font() which is no longer in
  GtkGLExt Git.  Radiant now compiles on Linux From Scratch using current
  versions of software.
- As a side effect to the above, font inconsistency issues (like really
  large intermittent font in GL views) are gone.  Font looks better too.
- Changing algorithm for labeling grid view to be more robust.  Uses new
  functions gtk_glwidget_font_ascent() and gtk_glwidget_font_descent(),	and
  uses locally defined "cushion" variables.
- In xywindow.cpp, changing stepx and stepy based on 40 pixels, not 32.
  When coordinate numbers are very large the labels get too cluttered.
- Added	calls to gtk_gl_init() and gdk_gl_init() in main().  This is
  recommended according	to the GtkGLExt	reference manual.
- Tested all changes on	Ubuntu 10.10 and Debian	5.0 (Lenny).
TODO:
- In glDrawPixels(), instead of using a 32 bit pixel with
  GL_UNSIGNED_INT_8_8_8_8, see if we can use an 8 bit variant where each
  byte defines opacity and the GL current color is used.  In other words, try
  to use the FT_Bitmap directly without conversion.
- Examine every other use of gtk_glwidget_print_string() and
  gtk_glwidget_print_char() to make sure the positions are determined
  accurately.
NOT TODO:
- Decided not to use glBitmap() with display lists because it would
  disallow pretty antialiased fonts.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@335 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-16 03:42:28 +00:00
rambetter
fdab9dc6e2 In Radiant main() method, add putenv("LC_NUMERIC=C").
sscanf() and *printf() calls are all over the code, which are
locale-sensitive.  gtk_init() sets all locales.  So if you're in
Germany, your printf()'s will output e.g. "10,5" for ten and
a half.  Reading floating points with sscanf() is also totally broken
in locales such as Germany.  So, we can't really get rid of all the
*scanf()'s and the *printf()'s.  Instead, set LC_NUMERIC to "C".


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@334 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-14 01:40:25 +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
514d4d9d10 fix undo bug with entities (lights) - Markus Fischer
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@332 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-01-08 04:01:08 +00:00
TTimo
48d505dff5 textool fix (Markus Fischer)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@331 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-01-02 16:03:41 +00:00
TTimo
c14eb495aa misc
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@330 8a3a26a2-13c4-0310-b231-cf6edde360e5
2009-12-31 18:50:00 +00:00
TTimo
a54ff4a83e apply misc fixes from Markus Fischer and Rambetter
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@329 8a3a26a2-13c4-0310-b231-cf6edde360e5
2009-12-31 18:45:35 +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
mattn
370c9bbf37 * patch from Micah Heyer (GtkRadiant Mailinglist)
* fixes a segfault in gtkgensurf bitmap loading


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@326 8a3a26a2-13c4-0310-b231-cf6edde360e5
2009-01-29 21:01:52 +00:00
namespace
890656caab Removed compiled linux executables
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@325 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-12-29 23:05:52 +00:00
mattn
6aa8384add * applied Shamus Jedi Academy patch for Zeroradiant (gamepack will follow soon)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@324 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-12-16 22:33:22 +00:00