]> git.xonotic.org Git - xonotic/netradiant.git/commit
* divVerent's patch for the brush primitives surface dialog (fixed segfault due to...
authormattn <mattn@8a3a26a2-13c4-0310-b231-cf6edde360e5>
Thu, 10 Jul 2008 08:30:47 +0000 (08:30 +0000)
committermattn <mattn@8a3a26a2-13c4-0310-b231-cf6edde360e5>
Thu, 10 Jul 2008 08:30:47 +0000 (08:30 +0000)
commitd2c9e20484ee61c25b60f008bca9753517996deb
tree242ae86d34ca0b6d1917ee5124707acb92f5c2c7
parentb8fb15ec6f3a8d9a75c497b30fe2d07dfddb2825
* 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: https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk@301 8a3a26a2-13c4-0310-b231-cf6edde360e5
config.py
include/isurfaceplugin.h
plugins/surface/surfacedialog.cpp
radiant/brush_primit.cpp
radiant/drag.cpp
radiant/mainframe.cpp
radiant/preferences.cpp
radiant/preferences.h
radiant/select.cpp
radiant/surfaceplugin.cpp
radiant/xywindow.cpp