Q3Radiant Public Build
(c) 2000 Id Software, Inc.
additions by qeradiant.com team, see infolist.txt

Q3Radiant and all associated map/level design tools are unsupported products. Use at your own risk. 

Bug reports and feedback:
http://www.qeradiant.com/bug.shtml

When submitting bugs, please send a full system/video configuration list and a detailed duplication sequence. 

Q3Radiant 202 Changes
---------------------

MrElusive:
-q3map 1.0p
-Tool options.txt (q3map command-line doc)

G_Dewan:
-added functions to the GL interface for PrtView
   GL plugins now get the camera position information

TTimo:
-fixed sound and model assignment. project files are supposed to be written with
   short path names. If it's not it might break. Added fixes in sound and model
   assignement to go around the problem. Too late before next release to try
   adding automatic clamping to short path name of the project file.
-high color is always on, it's a remnant from Q2
-some fixes to find the default project file and interpret it when it's a template
-proper error handling in the JPEG library, no longer crashes on progressive jpegs
-added a "shaderlist.txt only" option to the texture menu, will display only the
   .shader files listed in shaderlist. Workaround for the 127 texture count limit.
   (saved with prefs)
-when building texture menu, Radiant will dump in the console the list of .shader files
   that are not referenced in shaderlist.txt
-texture menu shows .shader files that don't have an associated texture directory
-storing "don't select curves" and "don't select models" from the toolbar in the registry
-alpha channel: some buggy textures have a nearly empty alpha channel and they might be
   invisible if used in a shader script with qer_trans. Will now show up blank-transparent.
   Best is to fix the alpha channel of the texture by saving it as 24bits instead.
   Or disable alpha channel support in the prefs (added a new checkbox)
   WARNING: disabling alpha channel might break curry on some shaders
   about the WARNING: .. has empty alpha message:
     this means Radiant detected on these buggy textures, alpha channel will be completely ignored
-speed improvements: added hash tables, improves map load (Map_BuildBrushData) and
   texture find/replace. More or less evolves in log n with size of the map instead of previous n^2
-fixed some notepad spawning crashes + will be better at finding shader definitions
-added "HOME" keyword when parsing user prefs keyboard shortcuts for HOME key (heh)
-fixed duplicate HideSelected command in the Help > Command list, added proper ShowHidden to the command list
-fixed a crash when max texture directories reached (currently 127)
-added a log file, turned on/off from prefs (default is off)
   automatically turned on after a startup crash (Radiant.pid)

Q3Radiant 201 Changes
---------------------

MrElusive:
-updated q3map, fixes a -vlight bug
TTimo:
-fixed a bug in texture submenus
-installer defaults to putting an empty registry.ini in the tools directory
   (will solve some setup problems)

Q3Radiant 200 Changes
---------------------

Id:
-bspc 2.0
-cfgq3.c config file with bspc
-q3map 1.0m
Spog:
-updated default project file to handle new -vlight param in q3map
TTimo:
-added surfaceparm hint to common/hint shader in the editing media
-added back the Texture > Directory list... command
-collapsing texture directory items into submenus when a common root is found
-fixed a Region > Set selected brushes bug (the kind that only happens to MrElusive)
-added back Selection > Invert (shortcut I) .. (it disappeared at some point)
-fixed U shortcut for Textures > Show in use
-fixed the texture subset filtering in the texture window
-added Select / Don't select models toggle in the toolbar
-FIT command for BP mode
-Region > SetSelectedBrushes to shift+ctrl+R
  NOTE: ICQ will intercept the shortcut key .. if someone has a solution for this let me know
-disabled the qer_nocarve check for CSG-MERGE operations, you can merge hint brushes now
-added a temporary Radiant.pid file to intercept crashes during the startup sequence and prompt for a registry cleanup
  (some bogus registry settings might cause a crash before entering the interactive mode)
-clip filtering works same way as caulk, if hide clip will still display non-clip faces on clip brushes
-console keeps scrolling
-Ctrl+H shortcut toggles show/hide Hint brushes
-199->200 stability fixes:
  fixed Shift+A SelectAllOfType on patches
  fixed a crash in Flush & Reload shaders
  fixed a crash File > New Map with selected faces
  fixed Vertex manipulation crash
  sanity checks: don't allow textures with spaces into map files, nor color brushes
    (reducing the parseEntity: { not found errors)
  blocking classname editing from the edit field of the entity inspector
-Undo:
  fixed Undo crashes
  better Undo on fixed size entities (like misc_models and weapons)
  some bugs in undo create bogus worldspawn entities that corrupt the map.
    Loading several worldspawn will merge them in the primary one.
    Radiant will drop supiscious worldspawn entities at save time
-find/replace bug fixes (still needs some work in BP mode)
-fixed broken View > Show In Use
-fixed installer problems
G_Dewan:
-hash code in PAK library, speed improvement for Map_BuildAllDisplayLists
-fixed a crash on exit (weird MFC bug, see #107030
-fixed crash in vertex editing

Q3Radiant 199 Changes
---------------------

Mickey:
-PakMan plugin
G_Dewan:
-GL_MODELVIEW in camera rendering for PrtView depth queuing
-fixed the texture window raising after a resolution change
-PrtView plugin
TTimo:
-light intensity prompt when you create a light (Tim Willits feature request)
-fixed some crashes in Undo code
-engine path lookup, Radiant uses same code as q3map to guess the engine path and the basepath
-fixed crash in "vertex editing splits faces"
-loading .md3 and skins from .pk3 files, fixed various .md3 loading issues
-case sensitivity fixes for shader names
-IGL interface allows drawing in the camera view
-textures sorted in the texture view
-clear patch overlays hooked to Ctrl+L
-fixed a Curve > Matrix > Transpose bug on non-square patches
-removed some old unused shortcuts
-new FitTexture shortcut Shift+B, will raise the surface inspector and perform face and patch fitting
-fixed alpha channel bugs, re-enabled qer_trans
-CSG Merge shortcut as Shift+M
-patch creation uses workzone
-fixed sfx/comprscreen/letters loading
-textures / shader code rewrite, based on a new CShader class
  -texture robbing bug fixed: two shaders relying on the same texture are treated properly
  -will provide basis for other games support, and better shader editing functionality
  -loading a texture directory will: load all the shaders in that directory, and load all
    the remaining textures that have no shader.
  -shaders parsing: when several definitions for a shader exist, first is used
-better GetLastError message processing on error
-fixed Fit command in surface inspector for BP mode
-prefs choice "vertex editing splits faces"
-3 points clipping and brush creating, third coordinate in 2D view is based on the "work zone"

q3radiant 182-197 Changes
-------------------------
Editor (TTimo):
+ textures are now loaded with their alpha channel. was a required feature for
  the Curry plugin. Some issues have surfaced with 32bit TGA files having an 
  empty alpha channel. (the textures were totally transparent in the camera view)
  these files are buggy and need replacing by either a 24bit TGA, or a proper
  alpha channel
+ shortcut keys:
  fixed L shortcut for entity list
  fixed M shortcut for map info
  fixed Ctrl + \   for cubic clipping
  fixed Ctrl + Shift + K for next leak spot
  fixed R shortcut for mouse rotation
+ brush grouping: not functional yet. Needs Brush Primitives (BP) to be turned on.
  basic infrastructure for grouping is done
+ fixed View > Show > Show angles checkbox
+ fixed BP file load / save and loading old format from BP mode.
+ fixed q3map to read BP map format

Plugins API (TTimo):
+ Patches in/out
+ Entities in/out
+ Added GL bindings to IGL interface
+ New IBSPFrontend interface to override the BSP menus
+ New IMessaging interface for message broadcasting to plugins
+ New IPluginEntities interface to allow plugins to render 
  and interact in the Radiant windows
+ New IShaders interface for more textures / shaders support
+ Fixed GL context issues, texture binding would fail if binded to a plugin's GL context

q3radiant 180-181 Changes
-------------------------
-q3map will read jpegs from disk
-remove junk.txt before very bsp, fixes a crash
-fixed gamma changing crash
-fixed thickening multiple patch crash
-fixed hollowing patch crash
-reworked how keys are mapped
-key binding should work again 
-ctf spawn points show angles

q3map v1.0a changes
-------------------
-q3map will read jpegs from disk
-fixed crash on texure loads of less than 4K ( jpeg only )
-added version info

bspc v1.7 changes
-----------------
see the bspc.txt file



Known Problems
--------------
-Prefs are NOT retained when moving to 179 (or later)  from earlier versions ( than 179 )
-Windows are all stacked when switching to floating window mode. You must manually align them as you like.
-You must manually run the bot bsp'r if you want bots to be able to run around
-I have not tested plugins extensively with this version but will do so over the next day or so.
-Need to clean up several small memory leaks



Info
----
The editor/tool install MUST be installed in the same directory as Quake 3 Arena. This means if you installed Quake 3 Arena in c:\quake3\ you MUST point the tool installer at that path.

If you want bot support in your maps, you must manually run the bot bsp tool. It is in the \YourQ3InstallPath\Tools\ directory and is called 'bspc.exe'. After you have produced a bsp, you can execute it like:

bspc -bsp2aas c:\quake3\baseq3\maps\mymap.bsp

The editor and included q3map support a new feature called brush primitives. This provides per vertex coordinates for texturing as opposed to per face shift/rotate/scale values. This is a good thing. This is not enabled by default ( you can do so in the project dialog ) but it is still considered experimental AND it changes the map format. A plugin that also supports it will be available soon on www.qeradiant.com. We will be moving to this new format soon but currently use the old format. Consider brush primitives "subject to change" but we are going this direction.

Once installed properly, you should be able to open q3dm1sample.map, choose "BSP - Fast Vis" and within a few minutes you should be able to run around in that map. Remember you must have sv_pure set to 0 to load up maps that do not exist in the pk3 file.

If you shift click on a shader ( white framed texture in the texture window ) AND you have EditPad installed and available on the path ( or the Tool directory ) it will open up EditPad and position the cursor on the shader definition within the shader. EditPad can be had at http://www.jgsoft.com/ , it is a nice replacement for Notepad.




174-179 Changes
---------------
-The color coding for failed texture loading has changed, blue and black for failed textures, red and black for failed shaders.
-clip/hint brushes default to NOT shown
-default to bilinear display mode
-default to 50% texture window scale
-bsp text is piped to console and text file
-Project dialog tab order is correct
-Project dialog no longer truncates entries ( it still needs work )
-Drastically reduced memory consumption 
-Skins are now cached and only loaded once
-Mirroring on X or Y axis properly flips misc_models and angles
-PK3 Support
-JPG Support
-Plugins can now load files from pk3 files ( transparent to the plugin )
-Shaders can now load from pk3 files
-Failed shaders no longer load a "notexture" image
-Shaders are loaded from shaderlist.txt instead of *.shader
-Shader texture loading is deferred based on All, Common or None rules. New Pref based on this.
-Models can now load from pk3 files
-Fixed Win98 Copy/Paste bug
-Fixed Win98 BSP execution bug
-Project info dialog sucks less
-Properly handle long path names ( embedded spaces mainly ) when calling q3map.
-Better bsp execution, output is piped to dos window and console
-Q2/Q3 Pref handling works
-Finished Installation 
-Better defaults all around
-Better window resizing, defer'd decision to default to floating window resizing.
-Fixed crash on loading new projects
-Seperated block allocator and actual size allocator to reduce memory overhead
-Failed textures only try to load once
-Failed MD3's only try to load once
-Cleaned up shader loading
-Editor loads without requiring information from the user the first time ( assuming it was installed in the right place )
-Fixed case comparision problems with some PK3 file contents
-Fixed allocation bug when cleaning out PK3 files on project reload

Build 173

Changed
- Copy/Paste now uses the Win32 mechanism. This greatly speeds up editor to editor copy/paste.


Build 172

Added
- Hide and Unhide brush(s). Hide ( View Menu and 'H' ), hides the selected brushes. Shift-H shows anything previously hidden.
- Fit functionality in the Surface dialog no longer fubars the FIT exiting the dialog via OK or APPLY.
- Copy/Paste now functions between two open copies of the editor
- Textures | Show In Use now pays attention to Patches.
- The editor will now properly find a default project based on the assumption it lives in the \quake3\q3radiant\ path


In Progress
- Pref Dialog now has functioning Q3 and Q2 options.
- ASE Model load. Should be bug free in another evening.
- ZIP support
- Model Plugins for supporting various model types ( MD4, TIKI, MEN, ASE ) This is essentially moving all of the model preview, interaction, and animation to a plugin to clean the code up.

Deferred
- The new file format changes and new texturing is finished but based on the probable ship date(s), I dont feel comfortable mucking with the map format at this time. This code will be used in the new editor or can be rolled out once Q3 is gone.




Build 169-171
Added
- Control + Shift + X toggles crosshairs
- Added Fit functions to surface dialog. These are more test stuff than anything as the new texturing capabilities coming with the new file format will allow much more versatile texturing.

In Progress 
-New file format changes, true ST texturing for brushes, automatic conversion. This will happen soon.


Build 168
Added
-Control + Texture Click to apply texture applies with proper scale on angled faces.

Build 167
---------
Fixed
-Crash when edge dragging brushes with more than 1K points (total)


Build 166 changes
-----------------
Added
-Shift-C cap current patch
-Shift-A will now highlight all patches and caps based on 1. the currently selected face or 2. the current texture if there is no brush or face selected. If a brush is selected it still searches and highlights based on entity class.

Build 165 changes
-----------------
Added
-Texture lock status information, on the right edge status pane, L:move,rotate status. so L:MR means both move and rotate are selected, L: R means just rotate, etc.. Shift-R and Shift-T are hotkeys (always have been) for the locking. Help|Command List has a list of all bound keys.

Changed
-Curve primitives moved from a submenu back to the root.

Fixed
-Crash when pressing 'v' with large number of brushes selected.


Build 164 changes
-----------------
Added
-Brush | Primitive | Sphere - With grip snapping on, this produces some pretty odd faces, not sure what they will look like in game as I have not run one through the tools. If you turn off grid snapping they are constructed very well but as soon as you turn it on and then save/load everything gets snapped. This shows that the current implementation of grid snapping is pretty useless if used as a toggle. I am looking into some painless ways to deal with this (from a users point of view)

Changed
-The current selection is no longer de-selected when a texture directory is loaded.
-The default increment for texture manipulation on patches was change to 0.05 from 0.10. You can also type in much smaller or larger increments into the dialog which will then be used.

Fixed
-Crash when using the clipper on a curve.



Build 161 changes
-----------------
Added
-Edit | Load Prefab... This was there but it now uses .pfb as the default extension for prefabs. MAKE SURE and set the full prefab path you want to use in prefs.
-Edit | Save selection as Prefab... This saves the current selection as a prefab. Defaults to the pref'd prefab location and .pfb extension.

I am working on a preview window that will be used for these and misc_models. Look for that in a few days.

I also discussed grouping (i.e. func_groups) with John a visit or so ago and the current plan is to add key/val pairs to brushes and patches and do away with func_groups. This will allow a lot of flexibility for grouping (hiearchial, named things) as well as other areas too. I will be presenting the overall plan to John soon and if we go with that then this will allow the prefabs to be grouped problem etc.



Build 157 changes
-----------------
Fixed
-misc_model bounding box size on intitial creation
-copying/pasting a misc_model did not update the active edit entity
-misc_models will not continually try to load if the MD3 is not found

Added
-Origin drawing on misc_models, this is what is snapped to grid 
-Pref to turn off 'Show Shader' checkbox
-Show Shader checkbox to prefs
-Shift-A with a selected face selects all brushes that 'contain' that faces texture 

Known
-Assigning a new model to a rotated misc_model screws the bounding box up

Build 156 changes
-----------------
Fixed
-Texture replacement bug when regioning.

Build 155 changes
-----------------
MAJOR changes internally with this version. Make sure everything is backed up. There should not be anything destructive in it but this is a good precaution. There may still be some memory leaks from the new patch storage stuff, those will be addressed in 156.

Changed
-Patch storage, no longer fixed size, unlimited patches.

Fixed
-Undo, should now work in many more cases, and with patches. (this has been tested the least)
-Cap texturing. Worked in my test cases. If you get a cap that does not texture properly I added
|a key combo for cycling the axis face it textures against. Ctrl+Shift+N does this. 

Added
-OpenGL Lighting, turn it on via the view menu. Provides consistent shading/preview between brushes/patches
-New vertex handling, not enabled at present. Still tweaking.
-SHIFT-A selects all entities based on the current selected entity.

Build 154 changes
-----------------
Fixed
-Another instance of entity copy/crash across maps.

Build 153 changes
-----------------
Changed
-"sound" to "noise"
-Show Entities toggle does not fool with func_group'd stuff

Build 152 changes
-----------------
Fixed
-Copy/Paste crash
-Copying brushes across a new map load no longer continually copies them on each subsequent new map


Build 151 changes
-----------------
Added
-Shift clicking a shader in the texture window now spawns "EditPad" and places the cursor at the apporpriated place.

-Patch Inspector (Shift-S) allows access to all patch data and dups surface patch handling. Only works with one patch at a time. If mutliples are selected it uses the latest. This is not quite finished but works.

-Sound player in the Sound Open Dialog (entity window)

Fixed
-Crash when 'Capping' a brush.

Fun Stuff in progress
- MD3 -> Patches. Drop an entire MD3 as a grouped set of patches.

Build 150 changes
-----------------
Added
-Texture show all command.
|Behaviour is as follows:
| 1. Show in use, shows in use.
| 2. Show all, shows everything.
| 3. Showing a particular path, only shows textures in that path. Show All or In Use 
| can be used to un-narrow the view.

Ctrl-A is the show all hotkey.


Build 147-149 changes
---------------------
Fixed
-misc_model entity preview bug
-Texture show in use now works properly
-a few shader issues


Build 146 changes
-----------------
Fixed
- Copy/Paste entities across maps crash
- A ton of memory leaks

Added
- Shift-TAB works in bend mode
- Pointfile is removed on file saves

Build 145 changes
-----------------
Fixed
- misc_models no longer shift during save/load
- misc_models copy/paste correctly
- misc_models paint when first assigned
- assigning a new model name to misc_models works

Added
- Shaders have white border in texture palette
- New shader test code based on the fact that shaders are not directory oriented. On by default, to return
| to the old method, turn "Shader Test" off in prefs and restart. This behaviour loads all of the shaders
| at load time and provides the ability to turn off shader display in the palette. The editor MUST FIND
| qer_editorimage in order to work properly with these (this is true for the old stuff too). This should 
| fix the shader xref problems.


Build 139 changes
-----------------
Fixed
- MD3's are now origin'd properly with their bounding boxes
- Plugin texture load bug

Added
- Texture quality slider (prefs). This can drastically reduce memory and increase speed at the expense of visual quality.
- Shader support for MD3's, proper shader is pulled per surface (assuming it is tga)
- Multple MD3's can be assigned on a per entity basis. Seperate them with a ';'
| i.e. model=models/players/medium/visor/head.md3;models/players/medium/visor/lower.md3; etc.
- Added 'frame=' specifier (0 based) to entity preview to use a particular frame for preview
| This is still a bit fubar'd
- Subdirectory map support ala Raven
- 'color' entity setting ala Raven
- Shader 'qer_editorimage' textures are now load deferred until their parent texture directory is loaded
- Full Plugin support
- You can now override surface dialog names with a plugin (not much use for q3)

Changed
- After assigning a model or sound, focus is given back to XY
- If you right click and add a misc_model, the entity window is automatically
| switched to and the add model dialog is activated
- Models no longer try to load if they fail once
- Prefs layout. Still ugly.


Build 138 changes
-----------------
Fixed
- qer_editorimage behaviour

Build 136-137 Changes
---------------------
Added
- qer_editorimage flag to shader parsing
- md3 support for entities 
- md3 support for misc_model <- this works but it is a cluster fuck of code
| the code tries to pick up the same name for a skin (in the same path)
| grid snapping is not happening, i need to fix this
| some models (like pentagram1.md3) appear to be OFF as far as their constructed origin
| others (all others that i tried) are correct
| Free rotation does not work for these but the entity rotation stuff works fine
- Model... button in entity window for assigning model=value to current entity
- Sound... button in entity window for assigning sound=value to current entity


Build 134 Changes
-----------------
Added
- qer_nocarve flag
- qer_trans flag use 'qer_trans sometransvalue' marks a shader as transparent
- patches draw transparent based on shader information
- default fog setting changed from 0.15 to 0.35
- Plugin menu added (non functional yet)
- Fonts default to standard windows gui font for improved readibility
- Textures associated with a shader have [] around the name
- Shift-clicking a texture associated with a shader brings up the shader in notepad

Changed
-Max brush size bumped to 8192 (Brian Hook for testing), did not test with build tools

Fixed
-Entity dialog lets you type in more than visible space for key/val pairs
-Transparent bug when transparent brushes painted in front (visually) of a curve


Build 127 Changes
-----------------
Added
-Ctrl+Shift+P, this cycles the cap texturing axis on the selected cap. Basically, until
I figure out what the heck is wrong with the auto stuff, use this to correctly texture
a cap that is fubar'd.
-CAP texture button in surface dialog. This does the same as above but uses the default
axis finder (which has the bug).
-Matrox transposition

Build 126 Changes
-----------------
Removed
-Test code for thickening. It was hooked into overlay clear... oops.

Changed
-csg ignores patch symbiot brushes


Build 125 Changes
-----------------
Fixed
-Shift vertex (row/col) selection for patches.

Build 124 Changes
-----------------
Changed
- Temporarily reverted back to patchDef2 .map file format.

Build 123 Changes
-----------------

Changed
-.map patch format, added 'type' field. not used anywhere except the editor (at least for now)
- Patch vertex manipulation. The editor tries to pick all existing points from other patches as well
|You will want to do area selection (in an XY-type view tp select thick patch points if you want to drag
|everything related to the thick patch

Added
- ESC will deselect any patch vertex points selected instead of going completely out of vertex mode
|This only happens with patch vertex selection
- Thick patches, Curve | Thicken... or press Ctrl + T. The thickening happens away from the texture
|side of the patch. So if you want something to thicken inwards, make sure the texture is facing out.


Build 122 Changes
-----------------

Added
-Texture Flush (forces a new map, then a total texture flush)
|One small nit on this is that if you create a brush before loading a new set of textures it
|will use one of the recently loaded textures instead of the default no texture (blue and black checkerboard)
-Patch inverting. 
|Ctrl + I invertest the patch, 
|Shift + I inverts texture in X, 
|Ctrl + Shift + I inverts texture in Y
-Overlay function for patches. Turn on|off using menus or press 'Y' to make a patch an overlay and 
|ctrl+shift+Y to clear all overlays

Fixed
-Inverted beveles cap and texture properly


Build 121 Changes
-----------------
Added
-Patch texture inverting. Ctrl + Shift + I. I think this does what you wanted.
-'S'urface dialog grabs texture name from a single selected patch

Better (a little)
-Capping bevels makes the cap the right shape but the 3rd point is not on the right plane. 
In most cases you can move it and snap it to the right place. Texturing is not all fucked 
up anymore either. Once I hear back from John on my math stupidity, I will finish fixing it.
These statements are probably only true for non-bent bevels.. bending will probably screw
stuff up again.

Build 120 Changes
-----------------
Added
-Fine tune texturing for Patches. Using the surface dialog, you can type in very small 
(3 decimal places) numbers for fine tuning on both scale and shift. Currently you can
only fine tune with the Surface dialog, I am in the process of adding a fine tune settings
dialog for use with the keypad keys.

Build 119 Changes
-----------------
Added
-TAB cycles through any entity grouped brush
-Texture window can now be scaled by 10, 25, 50, 100, 200%
-Texture window now has a optional scroll bar, turn it on in prefs

-Texture path linkage
Put a "textureinfo.ini" file in a texture directory and add the following

[include]
Path0 = e:\games\quake2\plop\textures\24 bit\

You can have Path0 - Path9 as inclusive directories. The linked pathes will not
load and process link information to keep someone from linking two paths together
and causing an endless loop


Build 116 Changes
-----------------
Added
-Ctrl-P Toggle show patches

Fixed
-Gamma correction

Removed
-Model preview load code which was probably causing brandon's crash


Build 115 Changes
Tweaked
-Cap texturing
-Ctrl S was already bound to File | Save
-Ctrl C is bound to standard windows Copy

Added
-Ctrl-S Save file

Build 114 Changes
-----------------
Tweaked
-Cap texturing

Added
-ALT + Shift click will cycle through "selectable" brushes along the 
line of site from the mouse click. Works in all views. This is cool.
-Square cylinders

Fixed
-Show curves works properly

Pending
-Shifting textures on patches should honor scale (cannot dup)
-Disperse columns crashes (cannot dup)
-Capping bevels is messed up
-cap texturing may still be fubar'd
-Thick pipe primitive
-Scale origin + point scale similar to rotate. Will allow fluted stuff etc.. 

Build 113 Changes
-----------------
Added
-Capping (with dialog for Bevels and Endcaps)

Build 112 Changes
-----------------
Fixed
-Yet another surface dialog glitch
-Area selection tool paints in all xy oriented views

Build 111 Changes
-----------------
Fixed
-Surface dialog face selection bug

Build 110 Changes
-----------------
Added
-'B' - toggles Bend mode

Fixed
-Naturalized texturing on patches
-Bend whackiness on intial drag during start of a bend
-Setting bend rotation axis in XY Top view


Build 109 Changes
-----------------
Added
-Ctrl 'I' - inverts a curve
-Ctrl 'Numpad +' adds a row
-Ctrl 'Numpad -' removes a row
-Ctrl+Shift 'Numpad +' adds a column
-Ctrl+Shift 'Numpad -' removes a column
-Ctrl 'E' - redisperses rows
-Ctrl+Shift 'E' - redisperses columns
-Ctrl 'G' snaps patches to the nearest grid
-Surface control dialog now allows values to be typed in and applied to patches. 
 This is working except for shifts which still go in .9 and 1.1 amounts. 

Changed
-Regioning no longer puts a top and bottom on the region

Build 108 Changes
-----------------
Added
-Area selection. Works in 3 xy views but only draws in the xy view. I will look into this asap.

Changed
-Selection point size for vertex mode with patches. i.e. The handles for dragging patch points around are bigger.

Build 107 Changes
-----------------
Changed
-Inverted curve options removed from menu
-Bevels and endcaps are contsructed properly 
-Endcaps will not work for bevels and endcaps

Build 106 Changes
-----------------
Fixed
-shift middle clicking a light now adds the correct average color based on .TGA files
-display updates properly when using TAB to go between func_group'd brushes
-Patch texture rotation is much better. Still not completely perfect but should be usable.

Build 105 Changes
-----------------

Added
-TAB cycles through func_grouped brushes
-textures with a shader have a [] wrapped around the name in the texture window
-shift + left clicking on a shader texture in the texture window will bring up notepad with the shader file