Changes for BSP 0.96b - 7/10/2007
- 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 ".."
- Toolbar bitmaps now stored in "Bsp\Settings\gfx\toolbar" dir. Bitmap filename pairs to command
- 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
- Fixed bug in script parser where block comments "/**/" were prematurely ended by a single
- 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
- Fixed bug in software renderer where drag-shifting textures on outlined faces would be offset by
- 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
- 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.
Changes for BSP 0.95e - 1/7/2007
- 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
- +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"
- Added option for Merge Brushes to compare contents and flags.
- "Sphere" option removed from Make list.
Changes for BSP 0.95c - 10/7/2006
- 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
- Added option "outline_use_group" to bsp.ini. Set to 1 for brush outlines to use group color in GL
- 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
- 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"
- Added toolbar to group window. Show/hide with "group_toolbar". Configure buttons in
- 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
- Fixed memory leak during brush rotations.
- Fixed bug: Certain menu/toolbar items (regions, copy brush) wouldn't enable after a selection
- 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
- 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
- Increased max token length to reduce occurance of map loading error "Token too large on line
- 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
- 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
- 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.
Changes for BSP 0.94b - 7/2/2006
- 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 will scroll texture window, or zoom on selected texture with CTRL.
- Mousewheel will zoom XY windows, or change grid size with CTRL.
- Mousewheel moves forward/backwards in 3D view, or up/down with CTRL.
- Using mousewheel will affect the window under the mouse even if it doesnt have focus.
- 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
- 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
- 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.
- Made a lot of improvements to grid code.
- 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. Grid does not draw beyond here, and
brushes will still vanish when dragged outside of this range.
- Fixed bug where brushes sometimes couldn't be selected or moved when outside
- 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
- Surface window is now saved in window arrangements. WARNING: 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 most
of the time, rotated faces will mess it up but scaling and shifting alone should be ok. Top and
bottom faces on brushes will still move wildly from most angles (need to take into account the
- XY windows use the software rendering in opengl mode. Too much work to maintain as-is...
- 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...
- GL mode seems to be working now at least. I am currently recommending that you do not use it
- 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
- Fixed bug where grouped brushes would go unseen during rotation, and probably other
- 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
- 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
- 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
- Rendered entities won't glitch if you try to stretch/scale/rotate their texture.
- Fixed bug where colors would get messed up after using the color preferences dialog.
- Added "smallmajor" option to bsp.ini, set to 1 to use small major grid dots.
- Sped up rendering during camera navigations (won't re-render XY views)
- 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 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
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.
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
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)
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
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
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).
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.
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
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.