BSP .96b NEW FEATURES

- Zooming in XY with mousewheel will center zoom on the mouse cursor. 
- Added console window. Features history buffer, custom font and fore/back color, tab completion for commands and settings.
- Reformatted settings: Bsp.ini moved to Bsp.cfg, and Game.ini moved to Game.cfg. Game.cfg can specify any option available in Bsp.cfg to further customize individual game configs.
- Added commands CM_WRITECFG to save settings from all groups except "Game" to bsp.cfg, and CM_WRITEGAMECFG writes the "Game" group settings to the current game.cfg file. Note that these will drop any settings from the excluded groups.
- Relative paths allowed in settings. Partial paths are relative to main BSP dir. Allows "." and ".." dir names.
- Toolbar bitmaps now stored in "Bsp\Settings\gfx\toolbar" dir. Bitmap filename pairs to command name.
- Added config file "menu.cfg" to allow customized menus.
- Keyboard shortcuts update on menu names.
- Renamed a lot of commands and settings, and organized them into groups.
- Added config file "cmdstr.cfg". Each line defines the menu text and description for a command.
- Color values can be stored as "255 255 255" (old way), "200" (palette index), or "129AEF" (6 digit hex number). 
- Added version and border to splash screen.
- Added setting "extrude_depth", set to 0 to use gridsize or any other value to use that depth when extruding.
- Fixed bug in script parser where block comments "/**/" were prematurely ended by a single slash.
- Timer-refresh shows redraw in GL mode, fixed start and stop points.
- Exporters are listed alphabetically, CM_EXPORTER0 will point to the first exporter in the list.
- Added "gl_brightness" setting. Set 0 to disable, or value 1 or greater to increase GL brightness.
- Added "gl_selection_wiremode" setting. Value 0 shows regular outline, 1 draws entire wireframe, 2 draws hidden lines with the brush outline color.
- Improved rendering of outlines in GL mode.
- Fixed bug: MD2/Q2 model textures show in software mode.
- Improved scrollbar behavior on the texture window.
- Pak texture loader will no longer load .wal files from the root "textures/" directory (region.wal in particular).
- Fixed bug in software renderer where drag-shifting textures on outlined faces would be offset by 1 pixel.
- Added option "gl_texturemode", set to GL_LINEAR or GL_NEAREST for smooth or sharp pixel edges on textures, respectively.
- Log file "bsp.log" created on startup. Logs fatal errors and messages written before interface is initialized.
- Fixed "look at selection" software mode drawing problem.
- Fixed bug that caused Merge Brushes to merge no more than one brush at a time.
- Added option "entity_inline_help" to show the help inline on the entity window.
- Fixed the Make list.
- BSP.exe now has version info.
- Fixed to run under Win98.

7/10/2007

BSP .95e NEW FEATURES

- Fixed "blank render" issue with OpenGL.
- Improved map loading code - QuArK maps should load now.
- Fixed entity outline color in software renderer.
- Added face count to map info.
- Fixed mirror, flip and rotate causing brushes to misalign from grid.
- Surface window: Set Flags and Set Contents buttons will update textures in 3D view.
- Added texture search.
- Set option "zero_crosshair=2" in bsp.ini to make XY crosshair span to world edges.
- XY coordinates will draw when grid is hidden.
- Added bsp.ini option "full_res_texture". set to 1 for full sized textures in gl, or 0 to limit size and conserve memory.
- +Det and -Det buttons now update 3D view.
- XY views: Green dot on detail brushes draws in the correct place again.
- Customize main title with "apptitle" setting in game.ini.
- "Save As" gives warning if map name contains spaces. Disable message with "no_warn_spaces=1" in bsp.ini.
- Added 2 new buttons to mouse configs for mice with more than 3 buttons. Button names "X1" and "X2".
- Added option for Merge Brushes to compare contents and flags.
- "Sphere" option removed from Make list.


BSP .95c NEW FEATURES

- Texture shifting in 3D window is completely fixed.
- New handling for window positions. Windows can only be saved as shown, hidden or minimized. Z-order is saved.
- Fixed camera locking bugs. Handling of 0/1 flag for "lock_cameras" in bsp.ini has changed, so change 0 to 1, or 1 to 0 in old configs to retain the same behavior!
- Added offset to camera when locked. See options "lock_camera_ofs_x/y/z".
- Camera angle drawn in Front and Right views.
- Added shading, fog, translucency to GL. See new gl_* settings in bsp.ini.
- Added command CM_KBSETTINGS to show keyboard configuration dialog, and added menu option to File->Preferences.
- Cleaner drawing outlines in GL mode.
- Added extrude face command. Creates new brush from selected face. Command name "CM_EXTRUDE_FACE".
- Added option "outline_use_group" to bsp.ini. Set to 1 for brush outlines to use group color in GL mode.
- Added option "look_at_sel" and command "CM_LOOK_AT_SEL". Camera will look at selection for strafe, move up/down and camera drags. Camera will stay fixed on selection when selection is dragged.
- Fixed bug: "right" XY view won't make invalid wedge brushes...
- Q1 and Q2 models will render in GL mode.
- Model outlines rendered with entity color. Disable model bounding box with "gl_no_model_bbox" option.
- Added toolbar to group window. Show/hide with "group_toolbar". Configure buttons in groupbar.ini.
- Added option "flymode" to move camera up/down based on pitch in forward/back navigations.
- Added option "flats_like_texture" to color flats with color like texture.
- Added recent files list. Recent files are tracked per game type. "num_recent" in bsp.ini sets number to show.
- Added "Show Key Mappings" to Help menu, and removed "Help Window" option.
- Current face will stay selected after brush manipulations.
- Current face edges in XY won't be obscured by other selected brushes.
- New snap option: Set "snap_back" to 1 and dragging edges will snap back to grid rather than just moving by grid size. Menu Brush->Snap Back.
- Improved vertex dragging: when dragging a vertex in old versions, one face would sometimes get "stuck" and the vertex would stay aligned to one face rather than move freely.
- Fixed mouselook: now takes into account mouse delta. Changed defaults for mlook_vert_step/mlook_horiz_step.
- Fixed memory leak during brush rotations.
- Fixed bug: Certain menu/toolbar items (regions, copy brush) wouldn't enable after a selection change.
- Added option "clippers_stay", clippers will remain visible after carve and split when set.
- Added new command "CM_CLIP_CUR_FACE" and menu "Clip->Create from Current Face" to show 3 clippers defining selected face.
- Drag clip points when adding to create next clip point where the mouse is released.
- Added option "track_clippers" to control clipper drawing in XY. Set 0=update after, 1=update current XY, 2=update all XY.
- Added option "clipper_autoflip". When set, adding clip points automatically leaves the portion of the selection containing the center point (cuts off smaller piece). Added menu item "Clip->Auto Flip"
- Added option "clipper_mode". Set to 0 for normal 3 point mode, set to 1 for axial 2 point mode. Added items to "Clip" menu.
- Fixed bug: clippers will always snap to grid.
- Fixed bug: clippers draw in GL mode again, clip points are connected too.
- Changed default clipper shortcuts: "C" will carve, and "/" will flip clippers.
- "Mode" command in 3D window will change action of left-mouse only instead of applying to all mouse buttons.
- Increased max token length to reduce occurance of map loading error "Token too large on line xx".
- Fixed bug: remaining portion of brush during clip operation is shown again.
- Changed default settings in bspmouse.ini. Now prioritizes selecting clip points first, next camera, then brush points.
- Entities won't show a selected face anymore.
- Fixed bug: selection rectangle won't flicker.
- Edge knobs and selection lines draw in GL 3D again.
- Fixed angle drawn on pitch control in GL 3D.
- Fixed bug with finding exe directory on startup.
- Fixed bug: exit from menu or toolbar won't crash.
- Changing entities from entity window will redraw 3D view
- Fixed bug in CM_JUMP (alt+j) command that prevented it from jumping.
- Added more error handling to wad loader, (blood2.wad won't crash anymore)
- Set 3D window background color in GL mode.
- Brush center knobs won't "shift" in XY.
- GL mode is default. Change with "gl_mode_default" option.
- Added 3D window mouse command "NAVIGATE_STRAFE" / "Mouse Strafe" to strafe left/right and navigate forward/back.
- Fixed bug: origin brushes incorrectly shifted all other brush textures.
- Fixed bug: Offset copy/move will handle zero values correctly.
- Minimized windows should restore properly when switching window configurations.
- Added "Select One" mode to 3D window and "SELECTONE" command to Bspmous3d.ini. Selects a single brush at a time.
- Added "Strafe Camera" mode to 3D window and "NAVIGATE_STRAFE" to Bspmouse3d.ini. Mouse navigate with strafe.
- Added command and toolbar button "CM_JUMP_SEL_XY" to move selection to center of XY windows.
- Fixed bug with surface flags update in surface window.
- Fixed hang if bsppos.ini was missing.
- Added "Goto group in XY" option to group window menu.
- Truncated trailing zeroes in surface window and in saved .maps.
- ALT key is configurable in bspmouse.ini and bspmous3d.ini.
- Fixed bug: models will load from file now, must be in equivelent path/subdir of game's .pak file.
- Fixed bug: .lin leak files will render correctly.
- Fixed bug in software renderer: textures were incorrectly offset by 1 pixel.
- GL: Got rid of "use_mipmaps" options. Always using mipmaps now. Updated texture settings dialog.
- Added command "CM_NOOP". Can be used to disable default key mappings.
- New brush center calc.
- CLIPPLANEDRAG will redraw in XY windows correctly.
- Added alternate snap method "Snap Planes". Added menu Brush->Snap Planes and command "CM_SNAP_PLANES". Snaps all plane points to grid.
- S,T,R texture values displayed as integers.


10/7/2006

Changes and New Features for BSP .94b

# Added "Auto" render quality option that uses the 3D window size rather than a fixed size. Option in menu Display->Render->Quality->Auto, or set render_auto=1 in bsp.ini to enable by default.
# Right-click and drag for XY windows when xy_drag_move=1 in bsp.ini.
# Mousewheel scrolls texture window, or zooms on selected texture with CTRL.
# Mousewheel zooms XY windows, or changes grid size with CTRL.
# Mousewheel moves forward/backwards in 3D view, or up/down with CTRL.
# Added mouse look to 3D view (command name MLOOK). Configure in bspmou3d.ini
# Set keys: INS: strafe left. PGUP: strafe right. HOME: move up. END: move down.
# Added bsp.ini option cloneDeltaDisable. Set to 1 and CTRL+Space won't offset cloned brushes.
# Configurable brush rotation step size. Set bsp.ini option xy_rotate_step to change the default step size. Added toolbar commands for bspbars.ini named CM_ROT1, CM_ROT5, CM_ROT10, CM_ROT15, CM_ROT30 and CM_ROT45.
# Added option new_brush_depth to bsp.ini set a fixed depth for new brushes. Set to 0 to use the old automatic sizing, or to any other number to always use that depth. Added menu item Edit->Set Brush Depth.
# Added grid to 3D window. Set "show_3d_grid" to 1 in bsp.ini to enable by default, and set color with "color_3dgrid" option. Added toolbar button "CM_GRID3D".
# Cameras, eye, and origin no longer hide when editing brushes.
# Changed default camera placement on new maps.
# Disabled CAMERADIRECTION command for XY views because it doesn't work and breaks camera.
# Larger minimum size for cameras in XY views (when zoomed out).
# Double-click when selecting a brush in XY views to deselect all other brushes.
# Fixed bug where brushes rotated in the opposite direction in Front view.
# Removed flicker in texture window.
# Fixed bug in surface window where clicking any of the flags or contents buttons would crash if not in Q2 mode.
# Fixed grid drawing at the incorrect offset sometimes, grid always intersects brushes instead of drawing offset by 1px.
# Toggle grid dots/lines from main Grid menu.
# Hardcoded maximum editable bounds to +/-32765.
# Fixed bug where brushes sometimes couldn't be selected or moved when outside world_minmax range.
# Clippers are projected correctly in 3D view.
# Fixed clipper code: animated points redraw properly in when dragged in XY, points are never hidden behind brushes in 3D
# Coordinate numbers no longer overlap on grid.
# world_minmax bounds drawn in XY view with region color (magenta), also disabled the warning for going outside the range.
# Added default scale value 75% to scale menus.
# "use_crosshair" option now applies to 3D window too.
# Added bsp.ini option "default_gamedir". Set to a game subdir and bypass startup game dialog. The -game arg overrides.
# Surface window will now keep the current brush face selected after hitting apply brush or apply face.
# Surface window is now saved in window arrangements. Note: This makes bsppos.ini incompatible with earlier versions of BSP, it can be reverted by removing the SURFACE entries.
# Partially fixed texture shifting in 3D view. Vertical faces should shift in the correct direction unless they are rotated. Top and bottom faces on brushes will still move in the wrong direction from most angles (need to take into account the camera angle)...
# XY windows use the software rendering in opengl mode.
# Yaw/angle control in 3D view is updated in real-time.
# Added pitch and FOV control to 3D view. Swap yaw/pitch/fov by right clicking control. Added control selection to 3D right-click menu. Added option to bsp.ini to disable 3D window angle control. set "no_angle_control" to 1...
# Fixed bug where opening .map files containing info_player_start would invert camera movement.
# got rid of "hitByRay: negative t" error msg. fixed code so it shouldn't happen, but won't exit if it does
# Fixed bug where grouped brushes would go unseen during rotation, and probably other operations too.
# Groups window will use white text when on dark backgrounds
# Fixed bug in group window, "make X only visible" now applies to selected group instead of always "None"
# Added translucency to software renderer. Set bsp.ini "render_trans" to one of three modes: 0=disabled, 1=scanline, 2=dot. Scanline should be a little faster than dot mode. Added options to Display menu.
# Moved Display->Render submenu items to main Display menu.
# Creating a region saves the brush it destroys for undo. Undo won't remove the region, and the undone brush needs to be deselected before it can be used (more work is needed here)
# Opening a new map wouldn't update the caption in the 3d window right away...
# BSP will warn you if you try to open the same map multiple times.
# Made toolbar buttons for CM_SETCOLORS and CM_SETDIRECTORIES
# Fixed bug where colors would get messed up after changing color settings.
# Added "smallmajor" option to bsp.ini, set to 1 to use small major grid dots.
# Sped up rendering during camera navigations by not re-rendering each XY view.
# Help window starts scrolled to the top.
# Changed grid coordinate font to "Small Fonts".
# Removed "faster_textures" option from ini. Always on now.
# Removed File->Preferences->Mouse dialog, just right-click XY and 3D view title bars to set.
# Allow entity values up to 1024 chars.
# Fixed bug in scrollbars on main bsp window where they would sometimes show unnecessarily.
# Added "Hide All Groups" menu item to groups window.
# Skips textures named CONCHARS when loading wads
# Textures in texture window are selected on mousedown instead of mouseup
# Save confirmation from clicking "X" close box now gives "Cancel" option.
# Reimplemented texture windows "Copy 3D window area to clipboard" and "Paste from clipboard". Copy exports in 24bit color. Paste handles more bitmap formats. Still may be some bugs to work out...
# Fixed "List used textures" crash, also no longer tries to save texture list to disk.
# Mousing over menu items with submenus shows no tip instead of wrong tip on statusbar.
# Fixed bug where some textures would show up blank in texture window
# Surface, texture windows can be made "always on top"
# New flat toolbars, cleaner status bar, and new Open and Save dialogs.
# GL: fixed drawing of selected face outline. 
# Improved "choose game" dialog.



New for 0.93b:

Okay, should work pretty well now.

1. Regioning is fixed.
2. A "selection" rectangle can extend beyond the world min/max without
   causing a warning message.
3. Dragging beyond world boundaries should only give one warning total.
4. If you apply detail/or remove detail from all brushes from the button
   bars/menus, then the checkbox is adjusted in the surface window current
   texture.
5. Deletion of a fixed sized entity followed by "undo" of the deletion was
	crashing.  This is fixed.
6. Merge brushes, where you were merging "selected only" now works.
7. Merge brushes epsilons increased (see dialog for details).  Can be set in bsp.ini.
8. Okay, Tile and Cascade, under the Window menu, now work again.  You don't want
   to know.  Just let it suffice to say that I had to write my own tiling and cascading
   code.  Not a big deal, but...
9. The setup program only shows the .pak stuff for a "Quake2" type game config.
   Also, there is a check box to "ignore" the .pak file.  If this is set, then
   the q2_pak_file entry in game.ini is set to "none" and you won't be
   prompted to find the .pak while loading BSP.
10. There is a setting in the bsp.ini for turning on mipmapping support for glBSP (only!).
   I will put in the different texture mapping modes for the next ver.

Yahn
2/12/98
--------------------------------

New for 0.92a:

This is another alpha, in case I missed something obvious...

1.	Buttons, shortcut keys and menu commands for
	setting/removing detail bits.
2.	Surface window allows adding/removing/setting
	flags or contents without altering other info,
	such as texture name and offsets, etc.
3.	Texture lock state saved in .bru/.mrg file
4.	Q2 monsters can be loaded from Q2 .pak.  See the \bsp\quake2\
	models.ini for syntax.  You can put the whole .pak path if you
   are using a special .pak, or just put "Pak" and bsp will try
   to load the .md2 from the default .pak file.  If you don't want
   to spend the time or memory, try using the smallmdl.ini instead
   of models.ini in the quake2\ dir of bsp.  That file only loads
   the "info_player_start" player.md2 model.
5.	If you set fake_colormap=1 in the game.ini of the game of
	your choice, then the a "fake" colormap will be generated.
   Note that, of course, the editor will not show any face shading
   using the fake colormap, but it's much faster to load.
6.	World min/max coordinate added to game.ini.  E.g., set to 4096
	for Q/Q2 so that if you drag a brush outside this value, BSP
   will warn you about it.  Dragging a brush outside this range
   will generate a warning.
7. There was a bug where the relative texture path (e.g. "e1u1")
	was getting messed up when you chose a texture from the
   pulldown list on the control bar.  I think this is fixed, but
   if you still notice problems, let me know and I'll check it
   again.
8.	Replace texture and find brush by texture should work for Q2.
9.	BSP no longer crashes if you don't load a texture dropdown
	list on the button bar (for custom bspbars.ini files).
10. The "make" commands are now in a dropdown list on the button
	bar.  Choose from the list, and hit the adjacent "make" button.
   You can reconfigure bspbars.ini to add the old buttons back in
   if you really want them back.
11. A Q2 .map can autoload textures from either the Q2 .pak file or
	from subdirectories with .wal files.  Just add one of the following
   keys to your .map's "worldspawn" entity:
   Key (no quotes, of course)	Value (example)
   "_pakload"                 "e1u1;e1u2"
   "_dirload"						"outside"

   The first will load the e1u1 and e1u2 textures\ subdirectories
   from the Q2 .pak file when the .map is opened.  The other will
   load the .wal files on your hard drive that are in the outside\
   subdirectory off of you the texture_path specified in the game.ini.

   Because of the leading underscore "_" for the keys, qbsp3 and
   Quake2.exe will not signal an error when processing the .map or
   compiled .bsp.  This is similar to the _color key for non-opengl
   users.
12. Cycling current face will update the surface window (Numpad 7 or 9).
13. Surface window position is saved.  Put it where you want and
	when you exit bsp it will show back up where you left it.
14.  Dragging of small brushes even when zoomed way in was messed up.
	This is fixed and you should be able to drag them around, etc.
15. Export selected brushes OK and Cancel boxes were reversed.
16. There is a searcher for "mixed face contents" problems.  It
	will simply select and suspect brushes that have mixed face
   contents bits, etc.
17. If you just run bsp without specifying -game xxx, then bsp
	will ask which game to start.
18. Right clicking the xy windows will bring them to the front.
19. Esc will close the surface window.
20. You can Tab between surface window edit fields.  You can use
	the arrow keys, too.
21. Surface window position is automatically saved.  You may have
	to resize it the first time you see it.
22. The trailing zeroes in the surface window have been eliminated.
23. glBSP backfaces are not rendered.  This should give a 2x speed boost.
    My bad, I thought GL would default to this, but I guess not...
24  glBSP:  The angle circle is now drawn in the 3d view.
25. Dragging of clip points and the camera now works right when zoomed in
    or out.
26. Omit Hint or Detail brushes added to Group Menu (and buttons to do this
    can be added to bspbars.ini if you want, the values are at the very end
    of the file).
27. A whole ton of internal stuff, that's why this is alpha.
28. If the q2_pak_file key in the game.ini is set to "none" (or is missing), then
	 the .pak file loading sequence is ignored.
29. Export Menu is populated with the .bat files found in the bat_directory.  Yes
    this means you can create your own and, if the names are different,
    you won't have to worry about rechanging the default ones.  16 is
    the current max.  If anyone needs more, let me know.


I'm quite interested to know if any functionality of BSP has been
broken, so please let me know if you find something that doesn't work
like it used to (or at all).

Yahn
bernier@atlanta.com
2/5/98
-------------------------------------------------

What's new for v. 0.90b.

This is yet another maintenance release.

1.	    Applying contents flag bits with values > 32768 should now work.
I.e., the surface window should show the correct values.

2.	    Search/replace texture now includes the relative texture path, etc.
for Q2 editing.

3.	    Load texture from .pak now allows picking a different .pak than the
default.  Just hit "Open" at the dialog box to use the default.

4.		 Setup program for Q2 just warns if .pak is invalid and prompts
whether to "Save Anyway?".

5.		 In Q2 mode, leak file handling is in.  This loads the .lin file
that qbsp3 creates.  Choose the Load .pts from the File | LeakFile
menu.  Pick a .lin file.  Similar to old point file stuff, except
now you get actual lines, which is cool.

Yahn
12/28/97

What's new for v. 0.89b.

This is a maintenance release to fix some Q2 editing stuff.

1.      Texture output in the .map is in lower case, so qbsp3 should no
longer choke on animated brushes.

2.      The surface window now reflects the current flags/contents settings
upon opening (before it was not showing the udpated values).

3.      The surface window has been decluttered of flags/contents check
boxes that were unusued.

4.      You can load a texture directory from the Q2 .pak file (set the
path in the setup.exe program.).  Hit the "p" key to do this.

5.      A map can refer to textures in the .pak, e.g. e1u1/blah and if
the texture has not been unpacked from the .pak and the .pak is validly
set in bsp, bsp will load the .wal from the pack directly.  If you don't have
the quake 2 .pak file, then when prompted to find it, hit the "cancel" button.

6.      The .c files in the game directory that are used for Q2 entities,
I have made BSP parse the end of line characters and insert the carriage
return where it was omitted in id's source files.

7.      If a texture is loaded that has a default "warp" style, it should warp
in the texture browser.  Animations should work right, still assuming that
the old style +nnTEXTURE naming convention is used.  However, I fixed an
anomoly in the code, so it should work better now.  I may implement the
animname chaining that is the techically correct way to do this in the next
release.

8.      .lin file processing will be in next release.

9.      New logo thanks to Trebz.  It was better, but I had to crop it down and
lower the colors to 256 to keep the .exe size down.

10.     Creating new brushes and then just exiting now prompts for saving
before closing a .map.

11.     Other stuff, as usual.
                                                          
12/21/97 YWB



v. 0.86b

1.  You will need to have some version of openGl installed in order to run
BSP -- EVEN IF YOU ARE NOT RUNNING glBSP.

2.  The rest of the "new" stuff is in the file 86b.txt, which was part of
the .zip archive.

Yahn

--------------------------------------------------------------

v. 0.85b

1.  Clickig the "x" box to Exit BSP no longer crashes bsp when you "save"
your map.

2.  Alternate texture window behavior, especially for loading, is
settable in bsp.ini.  A bit "glitchy", but should be speedier.  However, I think
it is a bit of a meory hog.  Set the "faster_textures" key in bsp.ini to 1
to give it a try.  If you don't like it, set it back to 0.

3.  Two kinds of MultiFace Dragging can be accessed from the mouse now (if
you assign the commands to the mouse in the bspmouse.ini!).  Flavor 1
drags all faces that are "parallel" and in the same direction as the
closest clicked face.  Flavor 2 requires that the planes be "in line" also,
i.e., their distance values must be close.  The tolerances are settable
in the bsp.ini.

4.  Selected Texture Color for Wad Export Selections (see below) is settable
in the .ini.

5.  3d Background Color settable from the Colors Dialog Box.

6.  3d Settings help and mouse function changes are accessible by right
clicking the "bar" at the top of the 3d window for a popup menu of options.

7.  Mouse settings, Selection vector direction, alignment tools, and
camera manipulation accessible by right clicking the top of the xy
window in the "bar" area (you can click on top of the text info areas).

8.  Alignment tools added to xy views.  Right click in "bar" at top of
window (not the frame of the window, though) and you can align left, right,
top, or bottom (selected brushes), or vertical or horizontal centers.

If it would be useful I can probably add "space equally" functions, and
would consider a "grow to largest"/"shrink to smallest" horiz. or vert.

9.  The vertex manipulation crash is solved, finally!  Duplicate planes
should be handled smoothly by BSP, too.  If not, let me know.

10.  Merge brushes command added to Edit menu.  I may make this apply
automatically after "subtraction" and some other operations.
Right now, it applies only to all modifiable brushes or to only selected brushes (that are not invisible,
regioned, etc.).  You are prompted whether to do the "whole" map, or just
the selection.

You should save before merging!!!

You will be prompted whether you care about texture identity. If not, adjacent
brushes will be merged, regardless of texture.  Otherwise, if either
brush has mixed face textures, or all the textures are not the same,
no merging will occur.  Texture offsets are ignored.

Merging is multi-pass until no more merging can take place.  The status
bar shows the progress.  Be patient, it could take a minute or more to
merge a big map.  (dm1.map took about 1 minute and about 400 passes).

The epsilons are settable in the bsp.ini.  I'll be putting these into a
dialog box soon, though.

11.  Texture window, right mouse menu:

	Commands added to Select All, Deselect All, Select Used textures.  Right
   shift clicking selects/deselects individual textures.  Selected textures
   have a gray background or x by default.  These can be "exported" to a
   new .wad file.  The palette can be added.

12.  Texture window, more stuff:

	You can copy a portion of the 3d window directly into a miptex.
"Save SnapShot to MipMap..." or to the Clipboard.  From the Clipboard,
you can edit in your favorite paint program, e.g. PaintShop Pro(tm),
and "Paste" back in as a new texture in the .wad.  If you don't save
the texture out to a .wad (see 11), the new miptex will be lost, of
course.

13.  You can also copy a texture to the clipboard from the right mouse.

14.  Merging, Splitting, Carving are "Undoable".

15.  If .map has no "wad" key, the default wads are loaded and
the "wad" key is set to the default wad string.

16.  Edge Manipulation:  EDGEDRAG option added to bspmouse.ini.  This should
override the default Vertex dragging mode.  Edge dragging applies to multiple
selected brushes, if applicable.  A drawing will explain:

+-----+-----+
|     |     |
|     |     |
+-----x-----+

If these two brushe (top down) are selected, and you click the x, then
when you drag:

+-----+-----+
|     |     |
|     |     |
+     |     +
 \    |    /
  \   |   /
   \  |  /
    \ | /
     \|/
      x

The "vertexes"/"edges" that are _under_ x are moved.  Give it a try.

If only one vertex is under the click, then the "old way" of vertex dragging
takes over.

These hierarchies are set in the bspmouse.ini.

17.  Monster Browser is activated.  Access from the display menu.

Only entities with defined .mdl files are listed.  The +  and - buttons
adjust the monster/weapon/etc. height in the window:

Left mouse draw to rotate (roll pitch and yaw, depending upon drag direction).
Hit reset, to reset the angles.
Shift left mouse and drag to move in and out.
Hold the right button to "animate" the .mdl (frames animate sequentially).

18.  Other stuff... as usual.

KNOWN PROBLEMS:

The Selected Brush Window will not show the "textures" correctly.
Do not rely on this view for now.  I am working on dealing with
texture locking during rotation...and cleaning up the SBV interface.

Moving the button bars to different docking slips makes them flake out and
disappear.  Don't move them for now.

Pasting a mipmap doesn't show up in the texture window until you click on
another texture.

Part of my todo list:

A new .hlp file.
Mouse scaling in xy window like rotation.
Increasing the .wad limit past 8
Stretch texture to Face.
Group name sorting/reordering.
2d Selection height tick
Autoscroll in xy windows
Gravity walkthrough
Animated plats/rotating brushes, etc. (togglable)
0,0,0 crosshair in xy window
Fixing the saving of button bar positions (almost done)
Show texture thumbnails in texture list boxes.
_Optional_ "modal" mouse interface for "newbies", buttons or menu driven

-------------------------

v. 0.84b

1.  New version of ywbsp added to .zip.  This version includes -alt45 toggle
that fixes texture problems between some editors and some utilities.  Only
for surfaces that are facing 45 degrees from any aix.

ywbsp also includes a new toggle:

-bspleak

The .bat files now call this toggle.  You may want to copy ywbsp.exe
over your current qbsp.exe from the .bat files, however!

The -bspleak, if a leak is found, creates a new data file, a .por file.
This file can be loaded into the bsp editor under the File | Leaks
menu.

The data in the .por file is _much_ better than the simple .pts file.

Ywbsp.exe, however, writes out a .pts file that includes more data than
the standard qbsp .pts file.  If you run ywbsp.exe -bspleak, the .pts files
contains _even more_ info.  However, to really be useful, you will need
to increase the # of particles in quake before loading the "pointfile".

Quake -particles 10000

Or something like that.

2.  BSP now can read the .por file created by ywbsp.exe.  If you are
qbsping with the -bspleak, and the map is leaky, a .por file is created.
If you view the .map in BSP, and load the .por file under File | Leaks
BSP will show the following:

NOTE:  Probably best to view in full texturing, with outline off (Alt-O).
Or in "wire frame" with the "world" and "entities" omitted at first.

a.   In the lock color (blue by default), the "portals" that see out of
the node that had the entity that was "hit" by the leak checker.

b.   In light blue/cyan, a line from the entity to the first portal leading
out of the "hit node" from a.  That portal will have, at each vertex,
a small line perpendicular to the surface, to help show it.

c.   Lines (in the current face color) traveling from the center of each
portal from the node to the "outside", i.e., following the "leak".

d.   Outlines of each "portal" the path traverses along the way (in the
selected brush color (red).

e.   The first portal that the "player" could not fit through is also
outlined in light blue.

The 3d window also has buttons to limit the # of portals to show, as
the leak is probably close to the "hit node" and a button to kill the
portal stuff when you're done.

Note that ywbsp.exe -bspleak .pts file contains much of this information
for loading and viewing in quake.

I'm open to suggestions on this, I'll make the colors customizable and start
you at the hit node for the next version.  Autoleak plugging is not going to
be generally workable b/c of computational reasons.

3.  Make Wedge tool added just to shut Preacher up.  There is one "quirk"
feature.  If you drag the "non-hypotenuse" face away , the wedge will turn
into a rect, with a cut off face.  To solve, reduce the size by moving the edge
in, first, then let go.  Then drag the face out and the wedge will scale
by face dragging correctly.

4.  Partial and Total regioning buttons and commands added for Gripp.

5.  Alt-J and Display menu option to "jump" to particular coordinates.

6.  Some other stuff... as usual.

What I'm working on:

A rotation, extrusion tool.  For Sageous.  This will not be as hard as I thought.
Speeding up the texture window loading/resizing.
Multi face dragging
Multi brush aligning (align tops, etc.)
A "monster" browser for models, etc.
Group reordering/ spacers in group list
Correct gamma correction (not working at all right now).
Tons of other stuff...

----------------------------------

v. 0.83b

1.  Rally.qc added and full3.qc added that contains the rally entities.

2.  Texture window right mouse now has option for settign the "scale step".  Before
it had been 0.1.  Now it can range from 0.0001 to 1.0.  Set the step in the
bsp.ini (for the default).  The 3d interactive texture scaling will use this step.
0.001 does, in fact, seem useful.

3.  Fixed some bugs in the clipping tool where if a "whole" entity was clipped away,
the clipper would crash.

4.  The clipping tool does not "delete" fixed size entities such as lights, anymore.
Only brushes for variable sized entities are clipped.  Same for when splitting.

5.  Split command now prompts if you want to "select" the split off brushes.  This way
you can "separate" the split and the unsplit by dragging the selected brushes...

6.  Brush regioning (1 for now).  Create a brush, click the "make into region" button.
Anything not "totally" enclosed by the brush is excluded from operations...
Groups | Region to turn regioning on or off, create another region brush to move the
region being worked on.  Height may or may not be ignored, user is prompted...

7.  The qrally.wad file no longer crashes bsp on loading.  There was a _BUG_ re
texture names that were exactly 16 chars long...  This is fixed now.

8.  The "-" button in the keypair view now deletes the selected keypair (again)

9.  Horiz. scroll added to help window.

10. Models are shown in the 3d Window.  Render | Models to turn on or off.  The
model data must be set up in the models.dat file. Make sure the pak paths are
correct.  The Show/Hide is currently ignored.

Model paths can be .pak names, or the full path to the model:

c:\quake\id1\progs\player.mdl

Entity browser has options to turn animation, models, and wire framing on/off.

11.  Group names of up to 64 chars are loaded/saved correctly.

12.  Export regioned brushes (will add a bounding cube and a player start)

13.  Bsp.ini start_scale value is not ignored anymore (oops).

14.  When resizing a brush in the 2d view, the size info is dsiplayed in the status bar.
Also, number of selected, or nothing or dimensions if only 1 selected shown, too.

15.  Make Entity sends the new entity to the current group...(for fixed).  Variable brushes
remain in the group they started in...

16.  Bsp.ini and entity browser has option to use wire frame for showing
entity "boxes" in the flat/textured 3d view.

THERE IS NO IDIOTPROOFING THE MODELS.DAT.  IF THERE IS A CRASH, THEN THE
PATHS ARE PROBABLY WRONG.  I'LL MAKE IT BETTER FOR THE NEXT BETA I SEND.

-------------------------------------

v. 0.82b

1.  Okay.  Seems pretty stable now.  Been editing with it for hours.

2.  When you are selecting brushes:  Now when you start to drag you a)
have to drag at least 4 pixels before the hit brushes stop cycling and
turn into a "selection box" and b) the hit brushes that were cycling are
restored to their original selection state as it is assumed you intended
to use the selection box to select brushes.  The restoration is visible
after you let go of the mouse button.

3.  In case anyone didn't know this, you can use "Merge In..." under the
File | Objects menu to merge a .map file into the current .map.  The
following two caveats apply:

   a).  The world keypairs of the merging in map are ignored; and
   b).  You could end up with more than one info_player_start.

I leave it to you hotshots to figure out what to do about these issue
(and any others) :)

4.  Setting an angle key updates the xy views immediately.

5.  The Help Window opens automatically for Map info, texture usage list,
and entity descriptions.

6.  The Entity Browser has been streamlined.

7.  There is a button in the keypair entry screen to 'apply' the keypairs to all
selected entities.  Use with caution as not all keypairs are always relevant.  However,
this should allow, e.g., selecting multiple lights and setting their "light" key
automatically.  I have made it so that you are asked if you really want to set "classname"
or "target/targetname" keypairs across multiple selections (you could
severely screw up a map by setting a classname that changed from fixed
to variable size, etc).  Hopefully this is sensible.

8.  Texture locking.  When selected, locked brushes show up in their own color.
Set in the Color prefs dialog.  Once locked, moving the brush preserves the
texture placement (i.e., translation, if you rotate or scale the brush, it currently
won't work).  This is done for the whole brush, however, if face
by face locking is somehow desirable, let me know.  It is doable, but I won't do it unless
someone can demonstrate a true need for it.  Edit | Texture Lock is the place to lock/unlock
selected brushes.

Locking only applies to brushes in modifiable entities (i.e., entities
that take textures brushes, not just placeholder brushes).

Alt-L and Alt-U Lock and Unlock the selected brushes.

9.  The leak trail now works again, the dots are the "current face" color (didn't feel like
making the color user definable...yet).

10.  There are now buttons (tiny) in the 3d and xy windows to display in the "help" window a
breakdown of the current mouse settings.  If you are like me, you can't remember what the
settings are...hehe.  This should be helpful.

11.  Static text fields in xy windows widened a bit.

12.  Copy/Move dialog allows multiple offset copies, specify # of copies
in the dialog.  Only the last copy remains selected.

13.  XY Window redraws should be speedier, if you are viewing just a
portion of the .map at least.

-----------------------

v. 0.81b 7/11/97

1.  There are now two versions of bsp, one is an openGl version that is not worth
your time unless you have a true hardware openGl card.  Thus, current 3dfx card
users such as Monster/Righteous, don't use this version.

Actually, I'm not going to release the GL version quite yet.  I'm waiting on
a GL accelerator card to test on.  I'm also doing a Glide version of BSP
that should run even with a Monster 3D/Righteous 3D card.  I'll put it out
as soon as it's done.

2.  Fixed the "revert to world" bug where brushes would disappear.

3.  BSP.pos is obsolete.  Positions are now stored in bsppos.ini.  Note that
this is a text file, but there is not much that can be user-tweaked yet.  Let
me know if there are problems.

4.  3d Window has a bunch of new mouse functions.  See bspmou3d.ini for details.
   These include:
                Drag face
                Shear face
                Drag selected brushes (two versions)
                Use clicked face as clip plane

5.   2d (xy) window has some new commands for selection.  You can now drag
(shift left click drag) to select multiple brushes.  If you don't drag, the
old "cycle hit" brushes works, once you drag this is enabled.  All brushes
in the "rect" are selected, regardless of depth.  There are two versions, one
for selecting "partial" brushes on drag.  Any brush whose bounding box intersects
the drag box is selected.  The other is for selection "total" brushes.  The brush
must be totally within the selection brush to be selected.

6.  The 3d Wire frame view has been revamped.  It should match up to the flat and
textured views now.  BSP.ini and Prefs. dialog now reflect options to determine
whether unselected brushes are "colored" and if so, whether to use the "texture"
color (calculated based on average color in the texture) or to use the
group color (like in xy views).  There is also an option to determine whether
to backface cull polygons in the 3d wireframe.

7.  More UNDO functions added.  NOTE THIS IS STILL NOT QUITE "DONE".  Delete
brushes and drag brushes in xy views should be "undoable" now.  Let me know if
undo "crashes" on you ever.  There are still numerous commands that are not
yet undoable, don't email about this yet, I'll get to them one by one.  It's
not trivial to implement, and I'm trying to generalize the cases as much as
possible so that, eventually, I can do "unlimited" undo with redo!

8.  Probably some bug fixes that I'm forgetting.

9.  Yaw rotations with the mouse should now snap to the correct angle.

10.  Added "Rectangular Top" checkbox to arch maker.  Fits arch stones to
the shape of the seed brush.

11.  Invisible brushes are not copied to clipboard.

12.  Saving to a nonexistent file names (e.g., a:\map.map when disk has
been removed) now prompts for a new file name until the user either
picks a file.

13.  Added line thickness setting for selected brush to bsp.ini.

14.  XY Window redraws unselected brushes first, then selected.  Thus, if you
use a line thickness of 1 for selected brushes, you should still get
unobstructed lines.

15.  Fixed a round-off error in drawing brushes where they weren't quite
"on grid" when they actually are.  Some faces may still appear to be
off by one pixel from the grid, however.

16.  Pasting to an invisible group now requests whether to make the group
visible first.

17.  Edit | Select | Find Brush by # added to allow finding by original
load index.  Only useful for some folks.

18.  Texture window right mouse has an option to list used textures
out to a file, including number of faces using the texture.

19.  File | MapInfo displays brush type/counts in the status bar for
current map.

20.  Export | Selected.. added.  Exports the selected brushes to a .map file
(use a new name!).  Allows you to specify to "enclose" it in a box.
The box is offset from the bounding box of the selection by the gridsize.
The thickness of the walls is the gridsize.  The dialog allows specifying
the sky, walls, and floor textures.  If there is a texture that has a
name startign "sky", it will be automatically selected.  You have to
click the "enclose" button to get the box at all.  You also specify the
.bat to use for translation.  The selection is then sent to the sepcified
.map file, with bounding box and info_player_start (if needed, though it may
may be in the middle of nowhere, let me know any suggestions on making
this function better!) and the selected translator is called.

21. I'll be putting in an option that will speed up the texture _loading_ at
the expense of a bit of speed in dragging the thumb, updating, and redrawing
the texture window.  Hope that's okay.  I'll make it changeable on the fly.

-------------------------------------

v. 0.76b

1.  Added bspmouse.ini and bspmou3d.ini for setting up the mouse functions.
See each file for syntax and options.

2.  Group window list box can be set to resize to the Group Window (set in bsp.ini)

3.  Texture window, most stuff moved to right mouse button.  Animation can be
turned off in the .ini by default.

4.  Group window, stuff moved to right mouse button.

5.  Copy/Paste should preserve target/target names

6.  Group names can be up to 64 chars now.

7.  Texture window should be faster, a bit more setup though.  I may tweak this
a bit more...

8.  New 3d window mouse commands for lifting texture, applying lifted texture, etc.
See the bspmou3d.ini for the descriptions.

9.  Other stuff.

---------------------------

v. 0.75b

1.  Added bspbars.ini file, which allows for customizing the button bars bsp uses.
See the file for the syntax.  There is a problem using 3 or more button bars,
however, in that they get stacked onto the second line.  I don't know any easy
solution yet.

2.  Double click on key pair brings up editing dialog.  Right mouse on key pair
entries allows cut/copy/paste/edit, etc.

3.  Other bug fixes, not very glamorous, so I won't list them.

4.  Oh yeah, the biggest changes:  Added operational preferences, colors, and
directories dialogs under the "File" menu. This was quite overdue, sorry.
Note:  Some setting (esp. directories) will require restarting bsp to take
effect.

---------------------------
                           
v. 0.74b

1.  Fixed the 16-bit loading bug for ents.qc files > 32K in length.

2.  Added shading to flat and textured windows.  See bsp.ini for new settings
for enabling/disabling and setting default levels.  Colormap.lmp must be in
the same directory as ents.qc file.

3.  Added option to xy views and bsp.ini to use "dots" instead of grid lines.
This can be somewhat slow if there a lot of dots on screen... But, it makes
views much easier to see when editing with the grid on.  It's choosable from
the grid size button in the xy views.

4.  Added a setting to bsp.ini to determine order for 45 degree faces.  If
your qbsp'd level doesn't look right for certain faces (ie, the textures
are not as it looked in bsp) then try the opposite setting for this one.

5.  I've included a qbsp.exe version (ywbsp.exe) that supports:

       a.  256 sided brushes
       b.  multiple texture .wads
       c.  hipnotic rotating brushes
       d.  does not require everything to reside in \quake directories
       e.  provides a bit more feedback during processing
       f.  has a couple of new command line tweaks

6.  Added a combobox (for now) to turn vertex dragging on or off
and to choose the type of manipulation (see bsp.ini).  This should allow you
to select "unselectable" brushes without dragging vertices inadvertently.

7.  The xy window is not "tied" to the 3d window camera.  Use the right mouse
to jump around the xy views (Alt-C to center everything).  The arrows move you
around the 3d view.  The camera icons thus move around the xy views.

8.  Still other stuff I can't remember.
----------------------------------

v. 0.73b

1.  Fixed a bug that may have been causing the renderer to crash.

2.  Fixed the min/max texture window bug where the current texture was not
being jumped to.

3.  Multiple .qc file support in the bsp.ini.  Enter a semicolon separated
list of .qc files in the entity_directory to parse.  Paths are stripped, see
the bsp.ini for example syntax.  Also added a setting to "sort" all entity
names across all files.  If set to 1, they get sorted in the drop down list,
if not, they stay in the order loaded (including file order).

4.  Multiple entities can be selected in bsp.  If you selected an entity and
then selected another one, the colors might not be quite right, though.  This
can be disabled from the bsp.ini if you don't like it.  I may fix this before
I release this ver., though.

5.  Fixed a bug where the palette was not being realized properly.  May have
caused some ugliness on 256 color displays.

6.  Current texture is on the control bar now, so you don't _have_ to have the
texture browser open to change it, etc.

7.  Other stuff, as usual, that I can't remember.

8.  Send more $$$ :)  I have collected $0 to date.  Oh well...


----------------------

v. 0.72b

1.  Fixed a bug where BSP would crash if you clicked on a brush in the 3d view
while the clip points were visible.

2.  New brushes now default to have their bottoms (or other sides depending
upon xy view that is current) at the eye level.  Height is still determined
by the last brush deleted or modified.

3.  Clip points should be centered in the other XY windows, instead of having
to track down the points.

4.  By popular demand, I added my address and some info to the About...
box so that anyone who wants to send in a voluntary beer fund
contribution can do so.  BSP is still freeware and it's not done yet.

If you want to send money, please do so.

Send all contributions, US $15-25 suggested, to:

        Yahn W. Bernier
        659 Peachtree Street, Suite 1608
        Atlanta, Georgia 30308

If you send $$, I thank you profusely!

------------------

v. 0.71b

1.  The rgborder and rgb16order settings no longer matter.  Colors should look
correct in all video modes.  No need to run File | Texture Test, etc.  16bpp and
24bpp color modes have _correct_ colors now.

2.  Rendering should be faster in 16 and 24 bit color modes.

3.  "New" map crashes fixed; crashes where user had to pick a texture .wad
fixed.

4.  Metrics for group window and entity browser font sizes, button sizes, field
sizes, etc. in bsp.ini now.

5.  Texture window can be togged to not show names, if desired.

6.  XY Views don't draw near top of the window now.

7.  

---------------------------
v. 0.70b

1.  bsp.pos file should now save properly between versions.  If you delete the
old one and start over, the troubles should be gone.

2.  Selected brush view enhanced.  See bsp.ini under 0.70b portion for new
settings and explanations.  Use the right mouse button to drag around the
selected brush.  Shift-right drag to move in and out.  PLEASE DO NOT SEND ME EMAIL ABOUT HOW THE FLAT/TEXTURED
SBV doesn't quite work right.  Added wire/flat/textured selection box to
SBV.

3.  Other stuff I recently emailed to Steve/Magicman at http://www.planetquake.com/bsp

4.  Save As... and Save where map name is default name now change the Tab to
reflect the correct file name.

5.  Entity boxes in flat/texture 3D view are in the correct color.

6.  "WADK" support (or "WAD3"), including different palette support, for the Ion Storm guys :)

7.  Group visibility status saved in .map now.

8.  Still more stuff...

-------------------------
v. 0.69b:

1.  Refurnished the texture browser look a bit.  BSP.ini now contains keys for
setting the button width/height, the width of the s,t,r,sx, and sy fields,
the width of the fly over hint display (and the combobox / pulldown of
texture names).

2.  The bsp.ini bsp_font= setting should set all bsp fonts now.

3.  Window backgrounds changed to button face color.

4.  Added "Tabs" control bar showing currently open .maps for easier
switching between .maps.  The bsp.ini allows removing this or moving the
Tab control bar to the top or the bottom depending upon the value set there.

5.  Added a bsp.ini setting to disable displaying and dragging the five
cameras in the xy views.  The Cameras are still there, just their display/
dragging is togglable.  You can toggle them on or off from the Camera menu
in the xy views, too.

6.  When the zoom is greater than 100%, the camera icons do not become so
huge that it is impossible to edit anymore.  They max out at the size they
are at at 100%.

7.  Various bug fixes.

8.  Right dragging to zoom in on a texture in the texture browser now hides
the "Calc" button.

9.  The bsp.ini setting for gridsize= is now working again.  This sets the
default gridsize.
