Commit graph

96 commits

Author SHA1 Message Date
Christian Ratzenhofer
075e39d582 Check if games folder exists, and copy shaderlist for Q3 if missing 2012-03-26 13:57:19 +02:00
Ben Noordhuis
cd725d680a fix warning: array subscript is above array bounds
Simplify and flatten the code while we're at it.
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
8d530e8707 - Updated Windows build doc, very slight revision. Changed 37 targets to 38.
- Added plugins/imagehl to list of modules built (both	Windows and Linux).
    Not	really sure what this does, but it's the only module (as defined by
    stuff in plugins/ or contrib/) that exists and isn't currently part of the
    build.
- The code to disable desktop composition in Windows has been moved from start
    of main() to an option in Preferences.  The	pref reads as follows:
    "NVIDIA/Aero bug - disable Windows composition".  It is enabled by default.
- Color themes controlled by "Misc" -> "Colors" -> "Themes" options are now
    saved as soon as you select them.  The color theme is no longer clobbered
    when opening Preferences.
- The ATI broken driver (bug #802) pref has been reworded since it applies to
    Intel cards as well.  Before:
    "ATI cards with broken drivers - bug #802".  After:
    "ATI and Intel cards w/ buggy drivers (disappearing polygons)".


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@479 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-03-03 15:51:44 +00:00
rambetter
48410b113d Fixing Linux SCons build.
Fixing plugins on both Linux and Windows.  It's consistent now.
Fixing gl font on Windows.
Mostly, added lots of plugins.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@474 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-02-22 04:48:05 +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
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
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
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
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
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
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
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
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
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
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
mattn
204566e81e * applied patch by StefanV (from mailinglist) that fixes an error in config.py (broke compilation) and some string conversion warnings
* fixes some more string conversions warnings in bobtoolz
* fixed unresolved symbols in bobtoolz and gtkgensurf (due to the above mentioned patch where the prototypes were not updated)


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@320 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-09-06 08:35:17 +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
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
mattn
995f6a1011 * divVerent's patch for the brush primitives surface dialog (fixed segfault due to NULL pointer)
* Quote http://zerowing.idsoftware.com/pipermail/gtkradiant/2008-July/011094.html : Attached to this message is a patch for a "somewhat working" brush
primitives surface dialog. It is an ugly hack, as it converts between
fake texdef notations and brush primitives whenever values are needed.
Had to fix an accuracy bug: the surface dialog rounded all rotation
values to integer angles, which SEVERELY broke things for me (changed
the Gtk spin object to use 4 digits, which is enough for me).

Also, I changed the fake texdef / brush primitives conversions to use
long double internally, as float's roundoff errors were quite visible to
me when testing.

Hope the remaining roundoff errors from converting back and forth won't
kill me, but it worked for a simple map example.

Also, I had to separate out "Snap to grid" and "Don't clamp" into two
separare options. They now mean:

- Snap to grid: snaps drag/etc. actions to the grid
- Don't clamp: disable brush point snapping during many operations, like
  merely shifting brushes, editing texturing parameters, map loading,
  etc.

The reason is that I do need the grid, but I don't want to get my
objects messed up by the snapping in my map. As I am using free
rotations, this DOES change quite much.

The config.py change is needed for compilation on Debian stable;
Debian's scons does not use the CFLAGS variable, but just CCFLAGS and
CXXFLAGS. In newer scons versions, CFLAGS is _shared_ flags for C and
C++, so if you want to require these, you don't need to include the
CFLAGS in CXXFLAGS too.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@301 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-10 08:30:47 +00:00
mattn
27a3c433bc * fixed spawnflags dialog due to local and global variable mix (thanks divVerent)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@300 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-10 07:41:14 +00:00
mattn
9fa4db610e * brush primitive patch by divVerent
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@299 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-10 07:38:14 +00:00
mattn
28fda9304d * gametools => gametools_win32, gametools_linux, gametools_macos
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@298 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-10 07:24:06 +00:00
mattn
f5b144e467 * removed a lot of HACKs for several games by merging the enginepath_win32, enginepath_linux and enginepath_macos from 1.5
to 1.6 (default for everything is quake3)
* removed the hacks for q2.game and heretic2.game (just check whether the game config value quake2 is set - TODO: game 
dialog needs update - quake2 option should be given)


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@297 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-05 10:21:36 +00:00
mattn
5f6f117633 * reactivated some old quake2 code
* more translateable strings


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@296 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-05 08:53:43 +00:00
mattn
0902485233 * more translateable strings
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@295 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-05 08:37:22 +00:00
mattn
c974ae628c * more translateable strings
* fixed warning about unused variable


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@292 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-04 22:11:30 +00:00
mattn
f6340d0187 * some new translateable strings
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@291 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-07-04 21:43:45 +00:00
mattn
04c7eb042d * reactivated WXY_Print function to generate screenshots from the xy window
* removed all the references to the old bugzilla links (deadlinks - no longer useful)

git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@289 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-06-27 15:09:36 +00:00
mattn
591626e4d8 * Tremulous patch by Ingar
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@288 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-06-27 14:30:13 +00:00
mattn
88d21daa67 * introduced a new config variable to be able to load maps directly from the enginePath/basePath/maps directory
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@286 8a3a26a2-13c4-0310-b231-cf6edde360e5
2008-06-26 18:50:18 +00:00